(DEPRECATO) Monitorare un cluster Kubernetes con Log Analytics
Suggerimento
Per la versione aggiornata di questa esercitazione che usa Azure Kubernetes Service, vedere Panoramica di monitoraggio di Azure per contenitori (anteprima).
Avviso
Il servizio Azure Container (ACS) è deprecato. Non saranno aggiunte nuove funzionalità al servizio Azure Container. Tutte le API, l'esperienza del portale, i comandi dell'interfaccia della riga di comando e la documentazione sono contrassegnate come deprecate.
Nel 2017 abbiamo presentato il servizio Azure Kubernetes per semplificare la gestione, la distribuzione e le operazioni di Kubernetes. Se si usa l'agente di orchestrazione di Kubernetes, eseguire la migrazione al servizio Azure Kubernetes entro il 31 gennaio 2020. Per iniziare, vedere eseguire la migrazione al servizio Azure Kubernetes.
Per altre informazioni, vedere l'annuncio di deprecazione del servizio Azure Container su Azure.com.
Il monitoraggio del cluster e dei contenitori Kubernetes è critico, soprattutto quando si gestisce un cluster di produzione su larga scala con più app.
È possibile sfruttare diverse soluzioni di monitoraggio di Kubernetes, da Microsoft o da altri provider. In questa esercitazione si monitora il cluster Kubernetes con la soluzione Contenitori in Log Analytics, la soluzione di gestione IT di Microsoft basata sul cloud (la soluzione Contenitori è in anteprima).
Questa esercitazione, parte sette di sette, illustra le attività seguenti:
- Ottenere le impostazioni dell'area di lavoro Log Analytics
- Configurare gli agenti di Log Analytics nei nodi Kubernetes
- Accedere alle informazioni di monitoraggio nel portale di Log Analytics o nel portale di Azure
Prima di iniziare
Nelle esercitazioni precedenti è stato creato un pacchetto di un'applicazione in immagini del contenitore, caricate poi in Registro Azure Container, ed è stato creato un cluster Kubernetes.
Se questi passaggi non sono stati ancora eseguiti e si vuole procedere, tornare a Esercitazione 1: Creare immagini del contenitore.
Ottenere le impostazioni dell'area di lavoro
Quando è possibile accedere al portale di Log Analytics, passare a Impostazioni>Origini connesse>Server Linux. Qui è possibile trovare l'ID area di lavoro e una Chiave dell'area di lavoro primaria o secondaria. Prendere nota di questi valori, per cui è necessario configurare gli agenti di Log Analytics nel cluster.
Creare un segreto Kubernetes
Archiviare le impostazioni dell'area di lavoro Log Analytics in un segreto Kubernetes denominato omsagent-secret
usando il comando [kubectl create secret][kubectl-create-secret]. Aggiornare WORKSPACE_ID
con l'ID dell'area di lavoro Log Analytics e WORKSPACE_KEY
con la chiave dell'area di lavoro.
kubectl create secret generic omsagent-secret --from-literal=WSID=WORKSPACE_ID --from-literal=KEY=WORKSPACE_KEY
Configurare gli agenti di Log Analytics
Per configurare gli agenti di monitoraggio del contenitore in un cluster Kubernetes, è possibile usare il file manifesto Kubernetes seguente. Questa operazione crea un DaemonSet di Kubernetes, che esegue un singolo pod identico in ogni nodo del cluster.
Salvare il testo seguente in un file denominato 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
Creare il DaemonSet con il comando seguente:
kubectl create -f oms-daemonset.yaml
Per verificare che sia stato creato il DaemonSet, eseguire:
kubectl get daemonset
L'output è simile al seguente:
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE-SELECTOR AGE
omsagent 3 3 3 0 3 <none> 5m
Quando gli agenti sono in esecuzione, Log Analytics impiega alcuni minuti per inserire ed elaborare i dati.
Accesso ai dati di monitoraggio
Visualizzare e analizzare i dati di monitoraggio del contenitore con la Soluzione Contenitore nel portale di Log Analytics o nel portale di Azure.
Per installare la Soluzione Contenitore tramite il portale di Log Analytics, passare a Raccolta soluzioni. Aggiungere quindi la Soluzione Contenitore. In alternativa, aggiungere la Soluzione Contenitore da Azure Marketplace.
Nel portale di Log Analytics cercare un riquadro di riepilogo Contenitori nel dashboard. Fare clic sul riquadro per i dettagli, tra cui: eventi del contenitore, errori, stato, inventario dell'immagine e uso di CPU e memoria. Per informazioni più granulari, fare clic su una riga in qualsiasi riquadro o eseguire una ricerca log.
Analogamente, nel portale di Azure passare a Log Analytics e selezionare il nome della propria area di lavoro. Per visualizzare il riquadro di riepilogo dei Contenitori, fare clic su Soluzioni>Contenitori. Per visualizzare i dettagli, fare clic sul riquadro.
Vedere la documentazione su Log Analytics per istruzioni dettagliate sulla creazione di query e sull'analisi dei dati di monitoraggio.
Passaggi successivi
In questa esercitazione è stato monitorato il cluster Kubernetes con Log Analytics. Le attività descritte includevano:
- Ottenere le impostazioni dell'area di lavoro Log Analytics
- Configurare gli agenti di Log Analytics nei nodi Kubernetes
- Accedere alle informazioni di monitoraggio nel portale di Log Analytics o nel portale di Azure
Seguire questo collegamento per vedere esempi di script predefiniti per il servizio contenitore.