Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Installieren Sie den CloudWatch Agenten mit der Erfassung von Prometheus-Metriken auf Amazon EKS- und Kubernetes-Clustern
In diesem Abschnitt wird erklärt, wie Sie den CloudWatch Agenten mit Prometheus-Überwachung in einem Cluster einrichten, auf dem Amazon EKS oder Kubernetes ausgeführt wird. Danach scrapt und importiert der Agent automatisch Metriken für die folgenden Workloads, die in diesem Cluster ausgeführt werden.
-
AWS App Mesh
-
NGINX
-
Memcached
-
Java/JMX
-
HAProxy
-
Fluent Bit
Sie können den Agenten auch so konfigurieren, dass er aus weiteren Prometheus-Workloads und -Quellen importiert.
Bevor Sie diese Schritte ausführen, um den CloudWatch Agenten für die Prometheus-Metrikerfassung zu installieren, müssen Sie einen Cluster auf Amazon EKS oder einen Kubernetes-Cluster auf einer Amazon-Instance ausführen. EC2
Anforderungen an VPC-Sicherheitsgruppen
Die Eingangsregeln der Sicherheitsgruppen für die Prometheus-Workloads müssen die Prometheus-Ports für den CloudWatch Agenten öffnen, damit er die Prometheus-Metriken über die private IP scrapen kann.
Die Ausgangsregeln der Sicherheitsgruppe für den CloudWatch Agenten müssen es dem CloudWatch Agenten ermöglichen, über eine private IP eine Verbindung zum Port der Prometheus-Workloads herzustellen.
Themen
Installieren Sie den CloudWatch Agenten mit der Erfassung von Prometheus-Metriken auf Amazon EKS- und Kubernetes-Clustern
In diesem Abschnitt wird erklärt, wie Sie den CloudWatch Agenten mit Prometheus-Überwachung in einem Cluster einrichten, auf dem Amazon EKS oder Kubernetes ausgeführt wird. Danach scrapt und importiert der Agent automatisch Metriken für die folgenden Workloads, die in diesem Cluster ausgeführt werden.
-
AWS App Mesh
-
NGINX
-
Memcached
-
Java/JMX
-
HAProxy
-
Fluent Bit
Sie können den Agenten auch so konfigurieren, dass er aus weiteren Prometheus-Workloads und -Quellen importiert.
Bevor Sie diese Schritte ausführen, um den CloudWatch Agenten für die Prometheus-Metrikerfassung zu installieren, müssen Sie einen Cluster auf Amazon EKS oder einen Kubernetes-Cluster auf einer Amazon-Instance ausführen. EC2
Anforderungen an VPC-Sicherheitsgruppen
Die Eingangsregeln der Sicherheitsgruppen für die Prometheus-Workloads müssen die Prometheus-Ports für den CloudWatch Agenten öffnen, damit er die Prometheus-Metriken über die private IP scrapen kann.
Die Ausgangsregeln der Sicherheitsgruppe für den CloudWatch Agenten müssen es dem CloudWatch Agenten ermöglichen, über eine private IP eine Verbindung zum Port der Prometheus-Workloads herzustellen.
Themen
Einrichten von IAM-Rollen
Der erste Schritt besteht darin, die erforderliche IAM-Richtlinie in dem Cluster einzurichten. Es gibt zwei Methoden:
-
Richten Sie eine IAM-Rolle für ein Servicekonto ein, die auch als Servicerolle bezeichnet wird. Diese Methode funktioniert sowohl für den EC2 Starttyp als auch für den Fargate-Starttyp.
-
Fügen Sie der IAM-Rolle eine IAM-Richtlinie hinzu, die für den Cluster verwendet wird. Dies funktioniert nur für den EC2 Starttyp.
Richten Sie eine Servicerolle ein (EC2 Starttyp und Fargate-Starttyp)
Geben Sie zum Einrichten einer Service-Rolle den folgenden Befehl ein. MyCluster
Ersetzen Sie durch den Namen des Clusters.
eksctl create iamserviceaccount \ --name cwagent-prometheus \ --namespace amazon-cloudwatch \ --cluster
MyCluster
\ --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \ --approve \ --override-existing-serviceaccounts
Fügen Sie der IAM-Rolle der Knotengruppe eine Richtlinie hinzu (nur EC2 Starttyp)
So richten Sie die IAM-Richtlinie in einer Knotengruppe für den Prometheus-Support ein
Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/
. -
Wählen Sie im Navigationsbereich Instances aus.
-
Sie müssen das Präfix des IAM-Rollennamens für den Cluster finden. Aktivieren Sie dazu das Kontrollkästchen neben dem Namen einer Instance, die sich im Cluster befindet, und wählen Sie Actions, Security, Modify IAM Role aus. Kopieren Sie dann das Präfix der IAM-Rolle, z. B.
eksctl-dev303-workshop-nodegroup
. Öffnen Sie unter https://console.aws.amazon.com/iam/
die IAM-Konsole. -
Wählen Sie im Navigationsbereich Rollen.
-
Verwenden Sie das Suchfeld, um das Präfix zu finden, das Sie zuvor in diesem Verfahren kopiert haben, und wählen Sie diese Rolle aus.
-
Wählen Sie Richtlinien anfügen.
-
Verwenden Sie das Suchfeld, um zu suchen CloudWatchAgentServerPolicy. Aktivieren Sie das Kontrollkästchen neben CloudWatchAgentServerPolicyund wählen Sie Richtlinie anhängen aus.
Installation des CloudWatch Agenten zur Erfassung von Prometheus-Metriken
Sie müssen den CloudWatch Agenten im Cluster installieren, um die Metriken zu sammeln. Die Installation des Agenten unterscheidet sich für Amazon-EKS-Cluster und Kubernetes-Cluster.
Löschen Sie frühere Versionen des CloudWatch Agenten mit Prometheus-Unterstützung
Wenn Sie bereits eine Version des CloudWatch Agenten mit Prometheus-Unterstützung in Ihrem Cluster installiert haben, müssen Sie diese Version löschen, indem Sie den folgenden Befehl eingeben. Dies ist nur für frühere Versionen des Agenten mit Prometheus-Unterstützung erforderlich. Sie müssen den CloudWatch Agenten, der Container Insights ohne Prometheus-Unterstützung aktiviert, nicht löschen.
kubectl delete deployment cwagent-prometheus -n amazon-cloudwatch
Installation des CloudWatch Agenten auf Amazon EKS-Clustern mit dem EC2 Starttyp
Gehen Sie wie folgt vor, um den CloudWatch Agenten mit Prometheus-Unterstützung auf einem Amazon EKS-Cluster zu installieren.
Um den CloudWatch Agenten mit Prometheus-Unterstützung auf einem Amazon EKS-Cluster zu installieren
-
Geben Sie den folgenden Befehl ein, um zu prüfen, ob der
amazon-cloudwatch
-Namespace bereits erstellt wurde:kubectl get namespace
-
Wenn
amazon-cloudwatch
nicht in den Ergebnissen angezeigt wird, erstellen Sie ihn, indem Sie den folgenden Befehl eingeben:kubectl create namespace amazon-cloudwatch
-
Geben Sie den folgenden Befehl ein, um den Agenten mit der Standardkonfiguration bereitzustellen und Daten an die AWS Region senden zu lassen, in der er installiert ist:
kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks.yaml
Gehen Sie folgendermaßen vor, damit der Agent stattdessen Daten an eine andere Region sendet:
-
Laden Sie die YAML-Datei für den Agenten herunter, indem Sie den folgenden Befehl eingeben:
curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks.yaml
-
Öffnen Sie die Datei mit einem Texteditor und suchen Sie nach dem
cwagentconfig.json
-Block der Datei. -
Fügen Sie die markierten Zeilen hinzu und geben Sie die gewünschte Region an:
cwagentconfig.json: | {
"agent": { "region": "us-east-2" },
"logs": { ... -
Speichern Sie die Datei und stellen Sie den Agenten mithilfe der aktualisierten Datei bereit.
kubectl apply -f prometheus-eks.yaml
-
Installation des CloudWatch Agenten auf Amazon EKS-Clustern mit dem Starttyp Fargate
Gehen Sie wie folgt vor, um den CloudWatch Agenten mit Prometheus-Unterstützung auf einem Amazon EKS-Cluster mit dem Starttyp Fargate zu installieren.
Um den CloudWatch Agenten mit Prometheus-Unterstützung auf einem Amazon EKS-Cluster mit dem Starttyp Fargate zu installieren
-
Geben Sie den folgenden Befehl ein, um ein Fargate-Profil für den CloudWatch Agenten zu erstellen, damit er innerhalb des Clusters ausgeführt werden kann.
MyCluster
Ersetzen Sie es durch den Namen des Clusters.eksctl create fargateprofile --cluster
MyCluster
\ --name amazon-cloudwatch \ --namespace amazon-cloudwatch -
Geben Sie den folgenden Befehl ein, um den CloudWatch Agenten zu installieren.
MyCluster
Ersetzen Sie ihn durch den Namen des Clusters. Dieser Name wird im Protokollgruppennamen, in dem die vom Agenten erfassten Protokollereignisse gespeichert werden, und auch als Dimension für die vom Agenten erfassten Metriken verwendet.region
Ersetzen Sie es durch den Namen der Region, in die die Metriken gesendet werden sollen. Beispiel,us-west-1
.curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks-fargate.yaml | sed "s/{{cluster_name}}/
MyCluster
/;s/{{region_name}}/region
/" | kubectl apply -f -
Den CloudWatch Agenten auf einem Kubernetes-Cluster installieren
Um den CloudWatch Agenten mit Prometheus-Unterstützung auf einem Cluster zu installieren, auf dem Kubernetes ausgeführt wird, geben Sie den folgenden Befehl ein:
curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-k8s.yaml | sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" | kubectl apply -f -
Ersetzen Sie durch MyCluster
den Namen des Clusters. Dieser Name wird im Protokollgruppennamen, in dem die vom Agenten erfassten Protokollereignisse gespeichert werden, und auch als Dimension für die vom Agenten erfassten Metriken verwendet.
region
Ersetzen Sie es durch den Namen der AWS Region, in die die Metriken gesendet werden sollen. Beispiel, us-west-1
.
Überprüfen, ob der Agent ausgeführt wird
Auf Amazon-EKS- und Kubernetes-Clustern können Sie den folgenden Befehl eingeben, um zu prüfen, ob der Agent ausgeführt wird.
kubectl get pod -l "app=cwagent-prometheus" -n amazon-cloudwatch
Wenn die Ergebnisse einen einzelnen CloudWatch Agent-Pod im Running
Status enthalten, läuft der Agent und sammelt Prometheus-Metriken. Standardmäßig sammelt der CloudWatch Agent Metriken für App Mesh, NGINX, Memcached, Java/JMX und jede Minute. HAProxy Weitere Informationen zu diesen Metriken finden Sie unter Vom Agenten gesammelte Prometheus-Metriken CloudWatch . Eine Anleitung, wie Sie Ihre Prometheus-Metriken einsehen können, finden Sie unter CloudWatch Anzeigen Ihrer Prometheus-Metriken
Sie können den CloudWatch Agenten auch so konfigurieren, dass er Metriken von anderen Prometheus-Exporteuren sammelt. Weitere Informationen finden Sie unter Scraping zusätzlicher Prometheus-Quellen und Importieren dieser Metriken.