De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
Dit document beschrijft de algemene methodologie voor het oplossen van problemen met een trage APIC GUI-ervaring.
Het is vaak gebleken dat langzame APIC GUI problemen het gevolg zijn van een hoog percentage API verzoeken afkomstig van een script, integratie of toepassing. Het access.log van een APIC registreert elk verwerkt API-verzoek. Het access.log van een APIC kan snel worden geanalyseerd met het Access Log Analyzer script binnen het Github Datacenter group aci-tac-scripts project.
NGINX is de DME die verantwoordelijk is voor de API-eindpunten die beschikbaar zijn op elke APIC. Als NGINX niet beschikbaar is, kunnen API-aanvragen niet worden afgehandeld. Als NGINX overbelast is, is de API overbelast. Elk APIC heeft zijn eigen NGINX-proces, dus het is mogelijk dat slechts één APIC NGINX-problemen kan hebben als alleen die APIC wordt gericht door agressieve queriers.
De APIC UI voert meerdere API-verzoeken uit om elke pagina te vullen. Op dezelfde manier zijn alle APIC 'show'-opdrachten (NXOS Style CLI) wikkelaars voor python-scripts die meerdere API-verzoeken uitvoeren, de respons afhandelen en vervolgens aan de gebruiker serveren.
bestandsnaam van logboek |
Location (Locatie) |
In welke technische ondersteuning zit het |
Opmerkingen |
access.log |
/var/log/dme/log |
APIC 3of3 |
ACI-agnost, geeft 1 regel per API-verzoek |
error.log |
/var/log/dme/log |
APIC 3of3 |
ACI Agnostic, toont nginx fouten (throttling inbegrepen) |
nginx.bin.log |
/var/log/dme/log |
APIC 3of3 |
ACI-specifieke logs, DME-transacties |
nginx.bin.warnplus.log |
/var/log/dme/log |
APIC 3of3 |
ACI Specific bevat logs die de ernst van de waarschuwing+ weergeven |
Wat wordt beïnvloed?
Hoe wordt de traagheid ervaren?
Wanneer werd de traagheid voor het eerst opgemerkt?
access.log is een kenmerk van NGINX en is daarom APIC-agnostisch. Elke regel vertegenwoordigt 1 HTTP-verzoek dat de APIC heeft ontvangen. Verwijs naar dit logboek om het NGINX-gebruik van een APIC te begrijpen.
De standaardindeling access.log op ACI versie 5.2+:
log_format proxy_ip '$remote_addr ($http_x_real_ip) - $remote_user [$time_local]'
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
Deze regel vertegenwoordigt een item access.log wanneer een moquery -c fvTenant wordt uitgevoerd:
127.0.0.1 (-) - - [07/Apr/2022:20:10:59 +0000]"GET /api/class/fvTenant.xml HTTP/1.1" 200 15863 "-" "Python-urllib"
Kaart van voorbeeld access.log entry naar log_format:
log_format-veld |
Inhoud uit voorbeeld |
Opmerkingen |
$remote_addr |
127.0.0.1 |
IP van de host die dit verzoek heeft verzonden |
$http_x_real_ip |
- |
IP van laatste aanvrager als proxies in gebruik zijn |
$remote_user |
- |
Niet algemeen gebruikt. Controleer nginx.bin.log om bij te houden welke gebruiker is aangemeld om aanvragen uit te voeren |
$time_local |
07/apr/2022:20:10:59 +0000 |
Wanneer het verzoek is verwerkt |
$-aanvraag |
GA NAAR /api/class/fvTenant.xml HTTP/1.1 |
Http-methode (GET, POST, DELETE) en URI |
$status |
200 |
|
$body_bytes_sent |
1586 |
grootte van de responslast |
$http_referer |
- |
- |
$http_user_agent |
Python-urllib |
Welk type klant heeft het verzoek verzonden |
Aanvraag met hoog tarief barst gedurende een lange periode:
Consistente 4xx- of 5xx-antwoorden:
NGINX CPU en geheugengebruik kunnen worden gecontroleerd met de bovenste opdracht van de APIC:
top - 13:19:47 up 29 days, 2:08, 11 users, load average: 12.24, 11.79, 12.72
Tasks: 785 total, 1 running, 383 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.5 us, 2.0 sy, 0.0 ni, 94.2 id, 0.1 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 13141363+total, 50360320 free, 31109680 used, 49943636 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 98279904 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21495 root 20 0 4393916 3.5g 217624 S 2.6 2.8 759:05.78 nginx.bin
Een hoog gebruik van NGINX-bronnen kan direct correleren met een hoog percentage verwerkte verzoeken.
Een NGINX-crash is niet typisch voor Slow APIC GUI-problemen. Als er echter NGINX-kernen worden gevonden, bevestig deze dan aan een TAC SR voor analyse. Raadpleeg de ACI Techsupport-gids voor stappen om te controleren op kernen.
Als snelle verzoeken niet worden gevonden, maar een gebruiker blijft UI traagheid vertonen, kan het probleem client (browser) naar server (APIC) latentie.
In deze scenario's valideert u het gegevenspad van de browser naar de APIC (geografische afstand, VPN, enz.). Implementeer en test indien mogelijk de toegang vanaf een jumpserver in dezelfde geografische regio of hetzelfde datacenter als de APIC's om te isoleren. Valideren als andere gebruikers een vergelijkbare latentie vertonen.
Alle browsers hebben de mogelijkheid om HTTP-verzoeken en -antwoorden te valideren via de toolkit voor browserontwikkeling, meestal op een tabblad Netwerk.
Deze tool kan worden gebruikt om de hoeveelheid tijd te valideren die het kost voor elke fase van browserverzoeken zoals weergegeven in de afbeelding.
Voorbeeld van de browser die 1,1 minuten wacht totdat de APIC reageert
Pagina Beleidsgroep:
Cisco bug ID CSCvx14621 - APIC GUI laadt langzaam op IPG-beleid op het tabblad Fabric.
Interface onder Voorraadpagina:
Cisco bug ID CSCvx90048 - De eerste lading van het operationele tabblad "Layer 1 Physical Interface Configuration" is lang/induceert 'freeze'.
Bepaalde browsers, zoals Firefox, maken standaard meer webverbindingen per host mogelijk.
VPN en afstand tot APIC verhogen de algehele traagheid van de gebruikersinterface, gezien verzoeken van de clientbrowser en de reistijd van de APIC-respons. Een springplank die geografisch lokaal is voor de APIC's, reduceert de browser aanzienlijk tot APIC-reistijden.
Als een webserver (NGINX op APIC) een groot aantal Long-Web-verzoeken verwerkt, kan dit van invloed zijn op de prestaties van andere verzoeken die parallel worden ontvangen.
Dit geldt met name voor systemen met gedistribueerde databases, zoals APIC's. Een enkele API-aanvraag kan extra verzoeken en lookups vereisen die naar andere knooppunten in de fabric worden verzonden, wat kan resulteren in verwachte langere responstijden. Een uitbarsting van deze Long-Web-verzoeken binnen een klein tijdsbestek kan de hoeveelheid benodigde middelen vergroten en leiden tot onverwacht langere responstijden. Bovendien kunnen ontvangen verzoeken dan time-out (90 seconden), wat resulteert in onverwacht systeemgedrag vanuit het perspectief van de gebruiker.
In 4.2(1)+ kan een gebruiker "System Performance Calculation" inschakelen die API-verzoeken bijhoudt en markeert die lang hebben geduurd om te verwerken.
Berekening kan worden ingeschakeld vanuit Systeem - Systeeminstellingen - Systeemprestaties
Zodra "Berekening" is ingeschakeld, kan een gebruiker navigeren naar specifieke APIC's onder Controllers om de langzaamste API-verzoeken binnen de laatste 300 seconden te bekijken.
Systeem - Controllers - Map Controllers - APIC x - Responstijd van server
Als u een scenario hebt waarbij de UI-respons willekeurig vertraagt, maar er geen actieve monitoring is om te weten hoe vaak het gebeurt, kunt u een van de 2 benaderingen gebruiken
Optie 1: Een abonnementsaanpak om de responstijd van de fabric op een constante basis te krijgen. Deze stap vereist dat een externe server het script uitvoert dat de abonnementsaanvraag en -vernieuwingen verzendt.
Optie 2: Een on-demand script wordt uitgevoerd op de APIC zelf en de uitgangen worden gemasseerd op LV. Dit is misschien een gemakkelijkere optie vanwege minder afhankelijkheid
Stap 1: (ook hierboven genoemd) Eenmalige wereldwijde verandering op de APIC. Niet opdringerig, maar goed om altijd de standaard veranderingspraktijken te volgen.
Ga naar Systeem-->Systeeminstellingen-->Systeemprestaties
Berekeningen inschakelen
Respons instellen op 50000ms
Verander de andere parameters niet
Zodra "Berekening" is ingeschakeld, kan een gebruiker navigeren naar specifieke APIC's onder Controllers om de langzaamste API-verzoeken binnen de laatste 300 seconden te bekijken.
Stap 2:
Git-locatie voor apic_query_subscription_slowui.py --> https://wwwin-github.cisco.com/CX-ACI/lv_accloganalyzer
Python apic_query_subscription_slowui.py -a <anyapicip> -u <gebruikersnaam>
het sessielogboek van de terminal om de 24 uur uploaden naar het TAC-geval
Stap 3: Verzamel TAC-uitgangen en toegangslogboeken voor gebeurtenisrecords en voltooi API-query's die elke dag op een bepaald tijdstip de laatste 24 uur raken.
Voor ACI-verbindingen die pre 5.3/6.0(3d) uitvoeren, is er een Collect TacOutput-script beschikbaar in de aci-tac-scripts-opslagplaats dat een vergelijkbare interface als de trigger tacoutput-opdracht dient:
apic# /tmp/collectTacOutputs.sh Select corresponding numbers of objects to collect. Separate numbers with commas. *Note, topSystem, fabricNode, and firmwareARunning are automatically included. Ex: 1,2,3,4,5 1. faultInfo *collected unfiltered 2. faultRecord 3. eventRecord 4. aaaModLR 5. polDeploymentRecord 6. epRecord 7. healthRecord 8. healthInst *collected unfiltered Enter selections: 3 Enter record start date (format: 2019-12-15T00:00:00) *default is one month prior to current date: 2019-12-25T00:00:00 Enter record end date (format: 2019-12-15T00:00:00) *default is current date: 2020-01-05T00:00:00 ...script collection runs...
Pak het bestand tacoutputxx.tgz uit en upload naar de case
Opmerking: voor ACI-verbindingen waarop versie 5.3/6.0 (3d) en latere versies worden uitgevoerd, biedt trigger tacoutput een vereenvoudigde verzamelinterface voor gebeurtenissen, fouten, controle en andere uitvoer voor probleemoplossing. Je hoeft het script niet te gebruiken.
## Van eender welke APIC, .
mkdir /data/techsupport/apicname_srnumber
cd /var/log/dme/log
cp access* /data/techsupport/apicname_srnumber
cd /data/techsupport/
tar -zcvfapicname_srnumber.tgz /data/techsupport/apicname_srnumber
uploadadapicname_srnumber.tgz naar de zaak
Lab Voorbeeld voor scriptuitvoering vanaf een externe host:
(my-virtual-env-3.7.13) root@aci-fab1-esxi2-oob:~# python apic_query_subscription_slowui.py -a 10.122.141.98 -u rgatti
Logging into APIC 10.122.141.98
rgatti password:
********** WebSocket Subscription URIS and IDs **********
WebSocket Subscription Status Code: 101
https://10.122.141.98/api/class/commRequestData.json?subscription=yes
- Subscription ID: 72059449487065089
********** WebSocket Subscription Messages **********
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","clientHostname":"10.122.141.126","dn":"topology/pod-1/node-1/web/apiAvgResp/reqData-1","method":"GET","modTs":"2024-08-06T13:15:07.857-04:00","responseSize":"2313","responseTime":"1017","rn":"","startTime":"2024-08-06T13:12:38.334-04:00","status":"modified","url":"/api/node/class/firmwareOSource.json"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","clientHostname":"10.26.164.186","dn":"topology/pod-1/node-1/web/apiAvgResp/reqData-2","method":"GET","modTs":"2024-08-06T13:15:07.857-04:00","responseSize":"252","responseTime":"1007","rn":"","startTime":"2024-08-06T13:13:39.145-04:00","status":"modified","url":"/api/node/mo/uni/infra/nodecfgcont/node-103.json"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","clientHostname":"10.26.161.138","dn":"topology/pod-1/node-1/web/apiAvgResp/reqData-3","modTs":"2024-08-06T13:15:07.857-04:00","responseTime":"788","rn":"","startTime":"2024-08-06T13:14:24.351-04:00","status":"modified"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","clientHostname":"10.24.131.101","dn":"topology/pod-1/node-1/web/apiAvgResp/reqData-4","modTs":"2024-08-06T13:15:07.857-04:00","responseTime":"784","rn":"","startTime":"2024-08-06T13:14:41.169-04:00","status":"modified"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","clientHostname":"10.25.130.136","dn":"topology/pod-1/node-1/web/apiAvgResp/reqData-5","modTs":"2024-08-06T13:15:07.857-04:00","responseTime":"783","rn":"","startTime":"2024-08-06T13:12:29.028-04:00","status":"modified"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","dn":"topology/pod-1/node-2/web/apiAvgResp/reqData-1","modTs":"2024-08-06T13:15:51.533-04:00","responseSize":"3926","responseTime":"1013","rn":"","startTime":"2024-08-06T13:12:22.387-04:00","status":"modified","url":"/api/node/class/topSystem.json"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","dn":"topology/pod-1/node-2/web/apiAvgResp/reqData-2","modTs":"2024-08-06T13:15:51.533-04:00","responseSize":"905","responseTime":"208","rn":"","startTime":"2024-08-06T13:12:59.783-04:00","status":"modified","url":"/api/node/class/dnsProv.json"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","dn":"topology/pod-1/node-2/web/apiAvgResp/reqData-3","modTs":"2024-08-06T13:15:51.533-04:00","responseSize":"905","responseTime":"114","rn":"","startTime":"2024-08-06T13:10:59.781-04:00","status":"modified","url":"/api/node/class/dnsProv.json"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","dn":"topology/pod-1/node-2/web/apiAvgResp/reqData-4","modTs":"2024-08-06T13:15:51.533-04:00","responseSize":"905","responseTime":"98","rn":"","startTime":"2024-08-06T13:14:59.782-04:00","status":"modified","url":"/api/node/class/dnsProv.json"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","dn":"topology/pod-1/node-2/web/apiAvgResp/reqData-5","modTs":"2024-08-06T13:15:51.533-04:00","responseSize":"1075","responseTime":"46","rn":"","startTime":"2024-08-06T13:14:26.565-04:00","status":"modified"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","dn":"topology/pod-2/node-3/web/apiAvgResp/reqData-1","modTs":"2024-08-06T13:16:19.490-04:00","responseTime":"2392","rn":"","startTime":"2024-08-06T13:11:44.143-04:00","status":"modified"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","dn":"topology/pod-2/node-3/web/apiAvgResp/reqData-2","modTs":"2024-08-06T13:16:19.490-04:00","responseTime":"2389","rn":"","startTime":"2024-08-06T13:15:24.604-04:00","status":"modified"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","dn":"topology/pod-2/node-3/web/apiAvgResp/reqData-3","modTs":"2024-08-06T13:16:19.490-04:00","responseTime":"2384","rn":"","startTime":"2024-08-06T13:13:38.231-04:00","status":"modified"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","dn":"topology/pod-2/node-3/web/apiAvgResp/reqData-4","modTs":"2024-08-06T13:16:19.490-04:00","responseTime":"2384","rn":"","startTime":"2024-08-06T13:13:14.402-04:00","status":"modified"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","dn":"topology/pod-2/node-3/web/apiAvgResp/reqData-5","modTs":"2024-08-06T13:16:19.490-04:00","responseTime":"2383","rn":"","startTime":"2024-08-06T13:14:24.584-04:00","status":"modified"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","clientHostname":"10.26.161.138","dn":"topology/pod-1/node-1/web/apiAvgResp/reqData-1","method":"POST","modTs":"2024-08-06T13:20:07.951-04:00","responseSize":"0","responseTime":"784","rn":"","startTime":"2024-08-06T13:19:24.361-04:00","status":"modified","url":"/uitelemetry/clicks"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","clientHostname":"10.25.130.136","dn":"topology/pod-1/node-1/web/apiAvgResp/reqData-2","method":"POST","modTs":"2024-08-06T13:20:07.951-04:00","responseSize":"0","responseTime":"783","rn":"","startTime":"2024-08-06T13:18:34.821-04:00","status":"modified","url":"/uitelemetry/clicks"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","clientHostname":"10.25.130.136","dn":"topology/pod-1/node-1/web/apiAvgResp/reqData-3","modTs":"2024-08-06T13:20:07.951-04:00","responseTime":"781","rn":"","startTime":"2024-08-06T13:17:03.705-04:00","status":"modified"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","clientHostname":"10.25.130.136","dn":"topology/pod-1/node-1/web/apiAvgResp/reqData-4","modTs":"2024-08-06T13:20:07.951-04:00","responseTime":"781","rn":"","startTime":"2024-08-06T13:18:04.530-04:00","status":"modified"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","clientHostname":"10.26.161.138","dn":"topology/pod-1/node-1/web/apiAvgResp/reqData-5","modTs":"2024-08-06T13:20:07.951-04:00","responseTime":"781","rn":"","startTime":"2024-08-06T13:18:24.354-04:00","status":"modified"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","dn":"topology/pod-1/node-2/web/apiAvgResp/reqData-1","modTs":"2024-08-06T13:20:51.568-04:00","responseSize":"905","responseTime":"1018","rn":"","startTime":"2024-08-06T13:16:59.784-04:00","status":"modified","url":"/api/node/class/dnsProv.json"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","dn":"topology/pod-1/node-2/web/apiAvgResp/reqData-2","modTs":"2024-08-06T13:20:51.568-04:00","responseSize":"405","responseTime":"148","rn":"","startTime":"2024-08-06T13:18:01.471-04:00","status":"modified","url":"/api/node/class/proxyServer.json"}}}]}
{"subscriptionId":["72059449487065089"],"imdata":[{"commRequestData":{"attributes":{"childAction":"","clientHostname":"192.168.1.1","dn":"topology/pod-1/node-2/web/apiAvgResp/reqData-3","modTs":"2024-08-06T13:20:51.568-04:00","responseSize":"3390","responseTime":"112","rn":"","startTime":"2024-08-06T13:17:29.488-04:00","status":"modified","url":"/api/node/class/pkiFabricSelfCAEp.json"}}}]}
Op de APIC-CLI
bash
<paste the below directly on the APIC cli - modify the filename. The script will run for 1 hr>
let i=1
while [ $i -lt 60 ]
do
date
date >> /data/techsupport/commRequestData.txt
moquery -c commRequestData >> /data/techsupport/commRequestData_<date_time>.txt
sleep 60
let i=i+1
done
De uitvoer is niet gemakkelijk te lezen, die kan worden gemasseerd met behulp van het onderstaande script op LV.
Git-locatie voor commrequests_processing.py --> https://wwwin-github.cisco.com/CX-ACI/lv_accloganalyzer
Kopieer het script naar uw lokale scriptmap (bijvoorbeeld /users/rgatti/scripts).
Hoe uit te voeren:
users/rgatti/dnld_695998256/cv1/jul14_2025/commrequestdata --> This is where we saved the commRequestData_<date_time>.txt file
python3 /users/rgatti/scripts/commrequests_processing.py -f commRequestData_jul14_4pm.txt > commRequestData_jul14_4pm.txt.formatted
Voorbeeld hieronder: responseTime wordt gebruikt voor het sorteren met de hoogste responstijd bovenaan weergegeven
rgatti@aci-logviewer2:~/dnld_695998256/cv1/jul14_2025/commrequestdata$ less commRequestData_jul14_4pm.txt.formatted
Processing file: commRequestData_jul14_4pm.txt
clientHostname | dn | method | responseCode | responseSize | responseTime | startTime | url
---------------+-------------------------------------------------+--------+--------------+--------------+--------------+-------------------------------+------------------------------------------------------------------------------------
127.0.0.1 | topology/pod-2/node-5/web/apiAvgResp/reqData-1 | GET | 200 | 14255310 | 31123 | 2025-07-14T15:08:38.598-05:00 | /api/class/fvRInfoHolder.json
127.0.0.1 | topology/pod-2/node-5/web/apiAvgResp/reqData-1 | GET | 200 | 14255310 | 31123 | 2025-07-14T15:08:38.598-05:00 | /api/class/fvRInfoHolder.json
127.0.0.1 | topology/pod-2/node-1/web/apiAvgResp/reqData-1 | GET | 200 | 17050 | 29660 | 2025-07-14T15:08:39.262-05:00 | /api/node/class/fabricPathEp.json
127.0.0.1 | topology/pod-2/node-1/web/apiAvgResp/reqData-2 | GET | 200 | 111529 | 29658 | 2025-07-14T15:08:39.261-05:00 | /api/class/mgmtRsInBStNode.json
127.0.0.1 | topology/pod-2/node-1/web/apiAvgResp/reqData-3 | GET | 200 | 474 | 29631 | 2025-07-14T15:08:39.258-05:00 | /api/class/mgmtInstP.json
127.0.0.1 | topology/pod-2/node-4/web/apiAvgResp/reqData-1 | GET | 200 | 13637 | 28933 | 2025-07-14T15:08:38.597-05:00 | /api/class/faultDelegate.json
127.0.0.1 | topology/pod-2/node-2/web/apiAvgResp/reqData-2 | GET | 200 | 530 | 28243 | 2025-07-14T15:08:39.274-05:00 | /api/class/vzRsDenyRule.json
127.0.0.1 | topology/pod-2/node-2/web/apiAvgResp/reqData-1 | GET | 200 | 30 | 28243 | 2025-07-14T15:08:39.273-05:00 | /api/class/fvRsProtBy.json
127.0.0.1 | topology/pod-2/node-2/web/apiAvgResp/reqData-2 | GET | 200 | 530 | 28243 | 2025-07-14T15:08:39.274-05:00 | /api/class/vzRsDenyRule.json
127.0.0.1 | topology/pod-2/node-2/web/apiAvgResp/reqData-1 | GET | 200 | 30 | 28243 | 2025-07-14T15:08:39.273-05:00 | /api/class/fvRsProtBy.json
127.0.0.1 | topology/pod-2/node-1/web/apiAvgResp/reqData-1 | GET | 200 | 18426168 | 27107 | 2025-07-14T15:40:33.874-05:00 | /api/mo/uni.xml
127.0.0.1 | topology/pod-2/node-1/web/apiAvgResp/reqData-1 | GET | 200 | 18426168 | 27107 | 2025-07-14T15:40:33.874-05:00 | /api/mo/uni.xml
127.0.0.1 | topology/pod-2/node-1/web/apiAvgResp/reqData-4 | GET | 200 | 18429959 | 25516 | 2025-07-14T15:08:46.841-05:00 | /api/mo/uni.xml
127.0.0.1 | topology/pod-2/node-1/web/apiAvgResp/reqData-2 | GET | 200 | 719780 | 24794 | 2025-07-14T15:40:35.346-05:00 | /api/class/fabricPathEp.json
127.0.0.1 | topology/pod-2/node-1/web/apiAvgResp/reqData-2 | GET | 200 | 719780 | 24794 | 2025-07-14T15:40:35.346-05:00 | /api/class/fabricPathEp.json
127.0.0.1 | topology/pod-2/node-1/web/apiAvgResp/reqData-5 | GET | 200 | 18431710 | 24604 | 2025-07-14T15:08:56.167-05:00 | /api/mo/uni.xml
127.0.0.1 | topology/pod-2/node-1/web/apiAvgResp/reqData-3 | GET | 200 | 452 | 23720 | 2025-07-14T15:40:36.395-05:00 | /api/class/mgmtOoB.json
127.0.0.1 | topology/pod-2/node-1/web/apiAvgResp/reqData-3 | GET | 200 | 452 | 23720 | 2025-07-14T15:40:36.395-05:00 | /api/class/mgmtOoB.json
127.0.0.1 | topology/pod-2/node-1/web/apiAvgResp/reqData-6 | GET | 200 | 18430138 | 23578 | 2025-07-14T15:08:49.945-05:00 | /api/mo/uni.xml
127.0.0.1 | topology/pod-2/node-1/web/apiAvgResp/reqData-1 | GET | 200 | 14255310 | 21159 | 2025-07-14T15:38:59.233-05:00 | /api/class/fvRInfoHolder.json
127.0.0.1 | topology/pod-2/node-1/web/apiAvgResp/reqData-1 | GET | 200 | 14255310 | 21159 | 2025-07-14T15:38:59.233-05:00 | /api/class/fvRInfoHolder.json
Verkrijgbaar in 4.2(1)+, kan een gebruiker request throttle tegen HTTP en HTTPS onafhankelijk inschakelen.
Opmerking: vanaf ACI versie 6.1(2) werd het ondersteunde maximale tarief voor deze functie verlaagd naar 40 verzoeken per seconde (r/s) of 2400 verzoeken per minuut (r/m) van 10.000 r/m.
Fabric - Verbindingsbeleid - Map met beleidsregels - Map met beheertoegang - Standaard
Wanneer ingeschakeld:
apic# less /var/log/dme/log/error.log
...
2023/04/17 20:19:14 [error] ... limiting requests, excess: 40.292 by zone "httpsClientTagZone", client: h.o.s.t, ... request: "GET /api/class/...", host: "a.p.i.c"
2023/04/17 20:19:14 [error] ... limiting requests, excess: 40.292 by zone "httpsClientTagZone", client: h.o.s.t, ... request: "GET /api/node/...", host: "a.p.i.c"
Als algemene regel geldt dat Request Throttle alleen dient om de server (APIC) te beschermen tegen DDOS-achtige symptomen die worden veroorzaakt door query-agressieve clients. Begrijpen en isoleren van de vraag-agressieve client voor definitieve oplossingen in de app / script logica.
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
3.0 |
20-Aug-2025
|
Callout 6.1(2) NGINX-gasklepgrenzen |
2.0 |
04-Jan-2023
|
Sectie System Response Time en sectie NGINX Request Throttle toegevoegd |
1.0 |
17-May-2022
|
Eerste vrijgave |