Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel worden enkele hulpprogramma's beschreven waarmee netwerkproblemen van verschillende complexiteiten kunnen worden vastgesteld. Deze problemen omvatten scenario's die variëren van het oplossen van een onverwachte reactiewaarde van een service tot het veroorzaken van een verbindingsondersluitingsuitzondering.
Voor probleemoplossing aan de clientzijde bieden de Azure-clientbibliotheken voor Java een consistent en robuust logboekregistratieverhaal, zoals beschreven in Logboekregistratie configureren in de Azure SDK voor Java. De clientbibliotheken voeren echter netwerkaanroepen uit via verschillende protocollen, wat kan leiden tot scenario's voor probleemoplossing die buiten het opgegeven bereik voor probleemoplossing vallen. Wanneer deze problemen optreden, gebruikt u de externe hulpprogramma's die in dit artikel worden beschreven om netwerkproblemen te diagnosticeren.
Vioolspeler
Fiddler is een HTTP-foutopsporingsproxy die u kunt gebruiken om aanvragen en antwoorden te registreren as-is. De onbewerkte aanvragen en antwoorden die u vastlegt, kunnen u helpen bij het oplossen van problemen met scenario's waarbij de service een onverwachte aanvraag ontvangt of de client een onverwacht antwoord ontvangt. Als u Fiddler wilt gebruiken, moet u de clientbibliotheek configureren met een HTTP-proxy. Als u HTTPS gebruikt, hebt u extra configuratie nodig om de ontsleutelde aanvraag- en antwoordteksten te inspecteren.
Een HTTP-proxy toevoegen
Als u een HTTP-proxy wilt toevoegen, volgt u de richtlijnen in Proxy's configureren in de Azure SDK voor Java. Gebruik het standaard Fiddler-adres van localhost op poort 8888.
HTTPS-ontsleuteling inschakelen
Standaard kan Fiddler alleen HTTP-verkeer vastleggen. Als uw toepassing HTTPS gebruikt, moet u extra stappen uitvoeren om het certificaat van Fiddler te vertrouwen zodat het HTTPS-verkeer kan worden vastgelegd. Zie HTTPS-menu in de Fiddler-documentatie voor meer informatie.
In de volgende stappen ziet u hoe u de Java Runtime Environment (JRE) gebruikt om het certificaat te vertrouwen. Als het certificaat niet wordt vertrouwd, kan een HTTPS-aanvraag via Fiddler mislukken met beveiligingswaarschuwingen.
Exporteer het certificaat van Fiddler.
Zoek het sleuteltool van de JRE (meestal in jre/bin).
Zoek naar het cacert-bestand van de JRE (meestal te vinden in jre/lib/security).
Open een Bash-venster en gebruik de volgende opdracht om het certificaat te importeren:
sudo keytool -import -file <location-of-Fiddler-certificate> -keystore <location-of-cacert> -alias FiddlerVoer een wachtwoord in.
Vertrouw het certificaat.
Wireshark
Wireshark- is een netwerkprotocolanalyse waarmee netwerkverkeer kan worden vastgelegd zonder dat er wijzigingen in de toepassingscode nodig zijn. Wireshark is zeer configureerbaar en kan breed tot specifiek netwerkverkeer op laag niveau vastleggen. Deze mogelijkheid is handig voor scenario's voor probleemoplossing, zoals het sluiten van een verbinding op een externe host of het sluiten van verbindingen tijdens een bewerking. De Wireshark-GUI geeft opnamen weer met behulp van een kleurenschema dat unieke capture cases identificeert, zoals een TCP-hertransmissie, RST, enzovoort. U kunt ook captures filteren op het moment van vastleggen of tijdens de analyse.
Een capture-filter configureren
Capture-filters verminderen het aantal netwerkoproepen dat voor analyse wordt vastgelegd. Zonder opnamefilters legt Wireshark al het verkeer vast dat via een netwerkinterface gaat. Dit gedrag kan enorme hoeveelheden gegevens produceren, waarbij het grootste deel hiervan ruis kan zijn voor het onderzoek. Met behulp van een capture-filter kunt u het te analyseren netwerkverkeer vooraf afbakenen om een gerichter onderzoek te bevorderen. Zie Captureing Live Network Data in de Wireshark-documentatie voor meer informatie.
In het volgende voorbeeld wordt een opnamefilter toegevoegd om netwerkverkeer vast te leggen dat wordt verzonden naar of ontvangen van een specifieke host.
Ga in Wireshark naar Capture>Capture Filters... en voeg een nieuw filter toe met de waarde host <host-IP-or-hostname>. Met dit filter wordt alleen verkeer van en naar die host vastgelegd. Als de toepassing met meerdere hosts communiceert, kunt u meerdere opnamefilters toevoegen, of het host-IP-adres of de hostnaam met de operator OR toevoegen voor minder strikte opnamefiltering.
Vastleggen op schijf
Mogelijk moet u een toepassing lange tijd uitvoeren om een onverwachte netwerkonderzondering te reproduceren en om het verkeer te zien dat ertoe leidt. Bovendien is het mogelijk niet mogelijk om alle opnamen in het geheugen te onderhouden. Gelukkig kan Wireshark captures op schijf vastleggen, zodat de captures beschikbaar zijn voor verwerking. Deze aanpak voorkomt het risico dat er onvoldoende geheugen beschikbaar is terwijl u een probleem reproduceert. Zie Bestandsinvoer, uitvoer en afdrukken in de Wireshark-documentatie voor meer informatie.
In het volgende voorbeeld wordt Wireshark ingesteld om opnamen op schijf te behouden met behulp van meerdere bestanden, waarbij de bestanden worden gesplitst op 100k-opnamen of een grootte van 50 MB.
Ga in Wireshark naar Opties voor vastleggen>en zoek het tabblad Uitvoer en voer een bestandsnaam in die u wilt gebruiken. Deze configuratie zorgt ervoor dat Wireshark opnames continu in een enkel bestand opslaat.
Als u vastleggen in meerdere bestanden wilt inschakelen, selecteert u Automatisch een nieuw bestand maken en selecteert u na 100000 pakketten en na 50 megabytes. Deze configuratie laat Wireshark een nieuw bestand aanmaken wanneer een van de predicaten wordt vervuld. Elk nieuw bestand gebruikt dezelfde basisnaam als de ingevoerde bestandsnaam en voegt een unieke id toe.
Als u het aantal bestanden wilt beperken dat Wireshark kan maken, selecteert u Een ringbuffer gebruiken met X-bestanden. Met deze optie beperkt u Wireshark tot logboekregistratie met alleen het opgegeven aantal bestanden. Wanneer dat aantal bestanden is bereikt, begint Wireshark met het overschrijven van de bestanden, beginnend met de oudste.
Filteropnamen
Soms kunt u het verkeer dat Wireshark vastlegt, niet nauwkeurig instellen, bijvoorbeeld als uw toepassing communiceert met meerdere hosts met behulp van verschillende protocollen. In dit scenario, over het algemeen met het gebruik van permanente capture die eerder is beschreven, is het eenvoudiger om analyse uit te voeren na het vastleggen van het netwerk. Wireshark ondersteunt filterachtige syntaxis voor het analyseren van captures. Zie Werken met vastgelegde pakketten in de Wireshark-documentatie voor meer informatie.
In het volgende voorbeeld wordt een persistent capture-bestand geladen en gefilterd op ip.src_host==<IP>.
Navigeer in Wireshark naar Bestand > Open en laad een permanente opname vanaf de bestandslocatie die u eerder hebt gebruikt. Nadat het bestand is geladen, wordt er een filterinvoer weergegeven. Voer in de filterinvoer ip.src_host==<IP>in. Dit filter beperkt de vastlegweergave, zodat alleen vastleggingen worden weergegeven waarvan de bron afkomstig is van de host met het IP-adres <IP>.
Volgende stappen
Dit artikel heeft betrekking op het gebruik van verschillende hulpprogramma's voor het diagnosticeren van netwerkproblemen bij het werken met de Azure SDK voor Java. Nu u bekend bent met de gebruiksscenario's op hoog niveau, kunt u beginnen met het verkennen van de SDK zelf. Zie de Azure SDK voor Java-bibliothekenvoor meer informatie over de beschikbare API's.