(VERALTET) Überwachen eines Kubernetes-Clusters mit Log Analytics
Tipp
Die aktualisierte Version dieses Tutorials zu Azure Kubernetes Service finden Sie unter Azure Monitor für Container (Vorschau) – Übersicht.
Warnung
Azure Container Service (ACS) wird ausgemustert. Für ACS werden keine neuen Features oder Funktionen mehr hinzugefügt. Sämtliche APIs, Portalfunktionen, CLI-Befehle und Dokumentationen werden als veraltet gekennzeichnet.
2017 wurde Azure Kubernetes Service (AKS) eingeführt, um die Verwaltung, die Bereitstellung und den Betrieb von Kubernetes zu vereinfachen. Falls Sie den Kubernetes-Orchestrator verwenden, migrieren Sie bitte bis spätestens 31. Januar 2020 zu Azure Kubernetes Service. Informationen zu den ersten Schritten finden Sie unter Migration von Azure Container Service (ACS) zu Azure Kubernetes Service (AKS).
Weitere Informationen finden Sie unter Einstellung von Azure Container Service am 31. Januar 2020.
Die Überwachung des Kubernetes-Clusters und der Kubernetes-Container ist wichtig, vor allem wenn Sie einen umfangreichen Produktionscluster mit mehreren Apps verwalten.
Sie können verschiedene Kubernetes-Überwachungslösungen nutzen, entweder von Microsoft oder von anderen Anbietern. In diesem Tutorial überwachen Sie Ihren Kubernetes-Cluster mithilfe der Containerlösung in Log Analytics (cloudbasierte IT-Verwaltungslösung von Microsoft). (Die Containerlösung befindet sich in der Vorschauphase.)
Dieses Tutorial – Teil 7 von 7 – behandelt folgende Aufgaben:
- Abrufen der Einstellungen für den Log Analytics-Arbeitsbereich
- Einrichten von Log Analytics-Agents auf den Kubernetes-Knoten
- Zugreifen auf Überwachungsinformationen im Log Analytics-Portal oder Azure-Portal
Voraussetzungen
In vorherigen Tutorials wurden eine Anwendung in Containerimages gepackt, diese Images in Azure Container Registry hochgeladen und ein Kubernetes-Cluster erstellt.
Wenn Sie diese Schritte nicht ausgeführt haben und dies jetzt nachholen möchten, kehren Sie zum Tutorial 1 – Erstellen von Containerimages zurück.
Abrufen von Arbeitsbereichseinstellungen
Wenn Sie Zugriff auf das Log Analytics-Portal haben, wechseln Sie zu Einstellungen>Verbundene Quellen>Linux-Server. Dort finden Sie die Arbeitsbereichs-ID und einen primären oder sekundären Arbeitsbereichsschlüssel. Notieren Sie sich diese Werte, Sie benötigen sie zum Einrichten von Log Analytics-Agents im Cluster.
Erstellen eines Kubernetes-Geheimnisses
Speichern Sie die Log Analytics-Arbeitsbereichseinstellungen mit dem Befehl [kubectl create secret][kubectl-create-secret] in einem Kubernetes-Geheimnis namens omsagent-secret
. Aktualisieren Sie WORKSPACE_ID
mit der ID Ihres Log Analytics-Arbeitsbereichs und WORKSPACE_KEY
mit dem Arbeitsbereichsschlüssel.
kubectl create secret generic omsagent-secret --from-literal=WSID=WORKSPACE_ID --from-literal=KEY=WORKSPACE_KEY
Einrichten von Log Analytics-Agents
Die folgende Kubernetes-Manifestdatei kann zum Konfigurieren der Containerüberwachungs-Agents in einem Kubernetes-Cluster verwendet werden. Mit der Datei wird ein Kubernetes-DaemonSet erstellt, das einen einzelnen identischen Pod auf jedem Clusterknoten ausführt.
Speichern Sie den folgenden Text in einer Datei mit dem Namen oms-daemonset.yaml
.
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: omsagent
spec:
template:
metadata:
labels:
app: omsagent
agentVersion: 1.4.3-174
dockerProviderVersion: 1.0.0-30
spec:
containers:
- name: omsagent
image: "microsoft/oms"
imagePullPolicy: Always
securityContext:
privileged: true
ports:
- containerPort: 25225
protocol: TCP
- containerPort: 25224
protocol: UDP
volumeMounts:
- mountPath: /var/run/docker.sock
name: docker-sock
- mountPath: /var/log
name: host-log
- mountPath: /etc/omsagent-secret
name: omsagent-secret
readOnly: true
- mountPath: /var/lib/docker/containers
name: containerlog-path
livenessProbe:
exec:
command:
- /bin/bash
- -c
- ps -ef | grep omsagent | grep -v "grep"
initialDelaySeconds: 60
periodSeconds: 60
nodeSelector:
beta.kubernetes.io/os: linux
# Tolerate a NoSchedule taint on master that ACS Engine sets.
tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Equal"
value: "true"
effect: "NoSchedule"
volumes:
- name: docker-sock
hostPath:
path: /var/run/docker.sock
- name: host-log
hostPath:
path: /var/log
- name: omsagent-secret
secret:
secretName: omsagent-secret
- name: containerlog-path
hostPath:
path: /var/lib/docker/containers
Erstellen Sie das DaemonSet mit dem folgenden Befehl:
kubectl create -f oms-daemonset.yaml
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob das DaemonSet erstellt wurde:
kubectl get daemonset
Die Ausgabe sieht in etwa wie folgt aus:
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE-SELECTOR AGE
omsagent 3 3 3 0 3 <none> 5m
Wenn die Agents ausgeführt werden, dauert es einige Minuten, bis die Daten von Log Analytics erfasst und verarbeitet wurden.
Zugreifen auf Überwachungsdaten
Sie können die Containerüberwachungsdaten mit der Containerlösung im Log Analytics-Portal oder im Azure-Portal anzeigen und analysieren.
Um die Containerlösung über das Log Analytics-Portal zu installieren, wechseln Sie zu Lösungskatalog. Fügen Sie dann Containerlösung hinzu. Alternativ können Sie die Containerlösung über den Azure Marketplace hinzufügen.
Suchen Sie im Log Analytics-Portal die Zusammenfassungskachel Container auf dem Dashboard. Klicken Sie auf die Kachel, um Details anzuzeigen, z.B. Containerereignisse, Fehler, Status, Imageinventar sowie CPU- und Arbeitsspeicherauslastung. Detaillierte Informationen erhalten Sie, wenn Sie auf eine Zeile auf einer Kachel klicken oder eine Protokollsuche durchführen.
Im Azure-Portal navigieren Sie zu Log Analytics und wählen den Namen Ihres Arbeitsbereichs aus. Klicken Sie zum Anzeigen der Zusammenfassungskachel Container auf Lösungen>Container. Klicken Sie auf die Kachel, um Details anzuzeigen.
Ausführliche Anweisungen zum Abfragen und Analysieren von Überwachungsdaten finden Sie in der Dokumentation zu Azure Log Analytics.
Nächste Schritte
In diesem Tutorial haben Sie Ihren Kubernetes-Cluster mit Log Analytics überwacht. Sie haben folgende Aufgaben ausgeführt:
- Abrufen der Einstellungen für den Log Analytics-Arbeitsbereich
- Einrichten von Log Analytics-Agents auf den Kubernetes-Knoten
- Zugreifen auf Überwachungsinformationen im Log Analytics-Portal oder Azure-Portal
Klicken Sie auf diesen Link, um vordefinierte Skriptbeispiele für Container Service anzuzeigen.