Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird erläutert, wie Sie probleme mit der SSL-Konnektivität (Secure Sockets Layer) für den Microsoft Monitoring Agent unter Windows beheben. Es stellt PowerShell-Code bereit, mit dem Sie ssl-Konnektivität vom Agentcomputer zu verschiedenen Azure Log Analytics-Arbeitsbereichen und Azure Automation-Endpunkten überprüfen können. Dieser Code ergänzt das TestCloudConnectivity-Tool , das überprüft, ob physische Netzwerkverbindungen geöffnet sind. Die SSL-Konnektivitätsüberprüfung ist nützlich, um festzustellen, ob filtert wird.
Voraussetzungen
Checkliste zur Problembehandlung
Schritt 1: Implementieren der CheckSSL-Funktion
Der folgende PowerShell-Code definiert und implementiert die Funktion, die CheckSSL
eine Verbindung mit einem vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) testet, den Sie angeben. Es zeigt Informationen über den Verbindungsnamen, die Auflösungsdetails und die Verbindung mit dem bereitgestellten Zertifikat an.
Öffnen Sie eine Administrative PowerShell-Konsole, und führen Sie den folgenden Code aus:
# Usage: CheckSSL <fully-qualified-domain-name>
function CheckSSL($fqdn, $port=443)
{
try {
$tcpSocket = New-Object Net.Sockets.TcpClient($fqdn, $port)
} catch {
Write-Warning "$($_.Exception.Message) / $fqdn"
break
}
$tcpStream = $tcpSocket.GetStream()
""; "-- Target: $fqdn / " + $tcpSocket.Client.RemoteEndPoint.Address.IPAddressToString
$sslStream = New-Object -TypeName Net.Security.SslStream($tcpStream, $false)
$sslStream.AuthenticateAsClient($fqdn) # If not valid, will display "remote certificate is invalid".
$certinfo = New-Object -TypeName Security.Cryptography.X509Certificates.X509Certificate2(
$sslStream.RemoteCertificate)
$sslStream |
Select-Object |
Format-List -Property SslProtocol, CipherAlgorithm, HashAlgorithm, KeyExchangeAlgorithm,
IsAuthenticated, IsEncrypted, IsSigned, CheckCertRevocationStatus
$certinfo |
Format-List -Property Subject, Issuer, FriendlyName, NotBefore, NotAfter, Thumbprint
$certinfo.Extensions |
Where-Object -FilterScript { $_.Oid.FriendlyName -Like 'subject alt*' } |
ForEach-Object -Process { $_.Oid.FriendlyName; $_.Format($true) }
$tcpSocket.Close()
}
Schritt 2: Verwenden von CheckSSL zum Testen von Endpunktverbindungen
Nachdem Sie die CheckSSL
Funktion in PowerShell implementiert haben, können Sie diese Funktion verwenden, um die Konnektivität mit den Endpunkten in Ihrem Azure Log Analytics-Arbeitsbereich und Ihrem Azure Automation-Konto zu überprüfen. Der in diesem Abschnitt bereitgestellte PowerShell-Code ruft für mehrere verschiedene Endpunkte CheckSSL
auf.
Da die Endpunkt-URLs häufig Bezeichner für Ihre Arbeitsbereichs- und Automatisierungskonten enthalten, müssen Sie zuerst diese IDs abrufen und sie verschiedenen Platzhaltern im Code hinzufügen.
Abrufen der Log Analytics-Arbeitsbereichs-ID
So rufen Sie die ID Ihres Log Analytics-Arbeitsbereichs ab:
Suchen Sie im Azure-Portal nach Log Analytics-Arbeitsbereiche, und klicken Sie darauf.
Wählen Sie in der Liste der Arbeitsbereiche Ihren Arbeitsbereichsnamen aus.
Suchen Sie auf der Übersichtsseite für Ihren Arbeitsbereich im Abschnitt "Essentials " die Arbeitsbereichs-ID (eine GUID im Standardformat mit vier Bindestrichen), und wählen Sie dann das Symbol "In Zwischenablage kopieren" daneben aus.
Fügen Sie die ID in eine Datei oder einen anderen sicheren Speicherort ein.
Abrufen der Automatisierungskonto-ID und des DNS-Regionalcodes
So rufen Sie die ID und den DNS-Regionalcode Ihres Automatisierungskontos ab:
Suchen Sie im Azure-Portal nach Automatisierungskonten, und wählen Sie sie aus.
Wählen Sie in der Liste der Automatisierungskonten Ihren Kontonamen aus.
Suchen Sie im Menübereich der Übersichtsseite des Automatisierungskontos die Bezeichnung "Kontoeinstellungen", und wählen Sie dann "Schlüssel" aus.
Kopieren Sie im URL-Feld die GUID, die nach
https://
und vor.agentsvc.
innerhalb des Domänennamens angezeigt wird. Dieser Wert ist die Automatisierungskonto-ID. Fügen Sie die ID in eine Datei oder einen anderen sicheren Speicherort ein.Kopieren Sie im selben Feld die kurze alphanumerische Zeichenfolge, die zwischen
.agentsvc.
und.azure-automation.net
innerhalb des Domänennamens angezeigt wird. Dieser Wert ist der REGIONALE DNS-Code. Sie stellt die Region dar, in der sich das Automatisierungskonto befindet. Fügen Sie diesen Wert in eine Datei oder einen anderen sicheren Speicherort ein.Informationen zu Regionen, Regionsnamen und DNS-Regionalcodes
Der Regionsname und der DNS-Regionalcode unterscheiden sich für eine bestimmte Region. Die Region "East US" hat z. B. einen Regionsnamen von
eastus
, aber ihr DNS-Regionalcode lauteteus
. Der REGIONALE DNS-Code ist erforderlich, um den Regionsplatzhalter in diesem Artikel zu ersetzen.Sie können die Liste der Regionen und Regionsnamen anzeigen, indem Sie den Befehl "az account list-locations " in Azure CLI ausführen. In der folgenden Tabelle ist eine Liste der Regionen und der zugehörigen DNS-Regionalcodes aufgeführt:
Region DNS-Regionalcode Südafrika, Norden san
Asien, Osten ea
Südostasien sea
Australien, Mitte ac
Australien, Mitte 2 cbr2
Australien, Südosten ase
Australien (Osten) ae
Brasilien Süd brse
Brasilien, Südosten brse
Kanada, Mitte cc
China, Osten 2 sha2
China, Norden bjb
China, Norden 2 bjs2
Europa, Westen we
Nordeuropa ne
Frankreich, Mitte fc
Frankreich, Süden mrs
Deutschland, Westen-Mitte dewc
Indien, Mitte cid
Indien (Süden) ma
Japan, Osten jpe
Japan, Westen jpw
Korea, Mitte kc
Korea, Süden ps
Norwegen, Osten noe
Norwegen, Westen now
Schweiz, Westen stzw
VAE, Mitte auh
Vereinigte Arabische Emirate, Norden uaen
UK, Westen cw
UK, Süden uks
USA, Mitte cus
East US eus
USA (Ost) 2 eus2
USA Nord Mitte ncus
USA Süd Mitte scus
USA, Westen-Mitte wcus
USA (Westen) wus
USA, Westen 2 wus2
USA, Westen 3 usw3
US Gov Virginia usge
US Gov Texas ussc
US Gov Arizona phx
Ausführen des Endpunktverbindungstestcodes
Der folgende Code überprüft die SSL-Konnektivität für mehrere Endpunkte. Bevor Sie diesen Code ausführen, fügen Sie die Werte, die Sie im vorherigen Abschnitt kopiert haben, über die Platzhalter für idWorkspace
, idAutomation
und idRegion
.
Notiz
Die Verbindungsüberprüfung für global.in.ai.monitor.azure.com erfolgt stattdessen durch Ausführen des Cmdlets "Test-NetConnection ". Wenn Sie versuchen, die CheckSSL
Funktion unter diesem Domänennamen auszuführen, tritt ein Fehler "ungültiges Remotezertifikat" auf.
cls
# Check sample Log Analytics workspace endpoints, which may include the workspace ID (a GUID).
$idWorkspace = "<32-hexadecimal-digit-guid>"
IPConfig /FlushDNS # Not required, but recommended if you're collecting a network trace
CheckSSL "$idWorkspace.ods.opinsights.azure.com"
CheckSSL "$idWorkspace.oms.opinsights.azure.com"
CheckSSL "$idWorkspace.agentsvc.azure-automation.net"
CheckSSL "scadvisorcontent.blob.core.windows.net"
# Other related log analytics URLs
CheckSSL "api.monitor.azure.com"
$netTest = @{
ComputerName = "global.in.ai.monitor.azure.com"
Port = 443
}
Test-NetConnection @netTest # Workaround for unexplained error in CheckSSL for this URL
CheckSSL "profiler.monitor.azure.com"
CheckSSL "live.monitor.azure.com"
CheckSSL "snapshot.monitor.azure.com"
# Check sample automation endpoints, which include the automation ID (a GUID) and DNS regional code.
$idAutomation = "<32-hexadecimal-digit-guid>"
$idRegion = "<azure-dns-regional-code>"
CheckSSL "$idAutomation.jrds.$idRegion.azure-automation.net"
CheckSSL "$idAutomation.agentsvc.$idRegion.azure-automation.net"
Schritt 3: Überprüfen der Ausgabe
Der folgende Text enthält eine Beispielausgabe aus einem CheckSSL
Funktionsaufruf in Windows PowerShell:
PS C:\WINDOWS\system32> CheckSSL "01234567-89ab-cdef-0123-456789abcdef.ods.opinsights.azure.com"
-- Target: 01234567-89ab-cdef-0123-456789abcdef.ods.opinsights.azure.com / 172.16.154.83
SslProtocol : Tls12
CipherAlgorithm : Aes256
HashAlgorithm : Sha384
KeyExchangeAlgorithm : 44550
IsAuthenticated : True
IsEncrypted : True
IsSigned : True
CheckCertRevocationStatus : False
Subject : CN=ODS-SSL201712EUS.azure.com
Issuer : CN=Microsoft RSA TLS CA 01, O=Microsoft Corporation, C=US
FriendlyName :
NotBefore : 9/26/2021 2:30:43 PM
NotAfter : 9/26/2022 2:30:43 PM
Thumbprint : F84E9C8A41CF8C7E62A594F1E95961107C33A30D
Subject Alternative Name
DNS Name=ODS-SSL201712EUS.azure.com
DNS Name=*.ods.opinsights.azure.com
DNS Name=ods.systemcenteradvisor.com
DNS Name=ods.trafficmanager.net
DNS Name=eus-aa-ods-a.cloudapp.net
DNS Name=eus-aa-ods-b.cloudapp.net
DNS Name=eus2-aa-ods-a.cloudapp.net
DNS Name=eus2-aa-ods-b.cloudapp.net
Der Issuer
Wert sollte einen Microsoft-Ursprung angeben, wie im folgenden Beispiel gezeigt:
Issuer : CN=Microsoft RSA TLS CA 01, O=Microsoft Corporation, C=US
Wenn Issuer
"Microsoft" nicht in seinen Wert eingeschlossen wird, ändern Sie die Konfiguration Ihrer Firewall oder Ihres Proxys, um die HTTPS-Überprüfung zu umgehen.
Wenn die Ausgabe keine SSL-Informationen zurückgibt, überprüfen Sie, ob die TCP-Verbindung erfolgreich ist. Wenn Sie keine TCP-Verbindung herstellen können, überprüfen Sie die Netzwerkfirewall.
Kontaktieren Sie uns für Hilfe
Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.