Ansible: Wie überwacht man automatisch neu erstellte Amazon EC2-Instances mit Prometheus?

Veröffentlicht: 2021-12-19
Ansible Holen Sie sich eine Liste von IPs und aktualisieren Sie die Prometheus-Konfiguration dynamisch

Haben Sie eine der folgenden Fragen?

  • Verwenden Sie die dateibasierte Diensterkennung, um Scraping-Ziele zu erkennen
  • Wie erkennt man automatisch die Verwendung mehrerer IPs?
  • Automatische Überwachung von EC2-Instances
  • Überwachung mit Prometheus
  • Verwenden Sie Prometheus, um neu erstellte Amazon EC2-Instanzen zu überwachen?
  • Wie aktualisiere ich die IP-Listendatei für Prometheus-Ziele nach dem Erstellen von Amazon EC2-VMs dynamisch?

Ansible ist zweifellos das beste Betriebsautomatisierungstool in der Industrie. Auf Crunchify haben wir mehr als ein Dutzend Ansible-Artikel zu zahlreichen Themen veröffentlicht.

In diesem Tutorial erfahren Sie, wie Sie die Prometheus-Ziele-IP-Listendatei aktualisieren, nachdem Sie Amazon EC2-VMs dynamisch erstellt haben.

Betrachten Sie dieses Szenario:

  1. Sie führen Prometheus zur Überwachung Ihrer Produktionsinfrastruktur aus.
    • Folgen Sie dem Prometheus-Setup-Tutorial im Detail.
  2. Mit Ansible spawnen 5 neue Amazon EC2-VMs
    • Befolgen Sie das Tutorial zum Erstellen einer neuen Amazon EC2-Instanz vollständig.
  3. Holen Sie sich 5 IPs und aktualisieren Sie die Gruppe [crunchify] zur Laufzeit
    • Befolgen Sie das Tutorial der Ansible Hosts-Dateiaktualisierungsgruppe vollständig.
  4. Aktualisieren Sie die Datei crunchify_prometheus.txt mit aktualisierter IP
  5. Schieben Sie die Datei auf einen neuen Host, auf dem Prometheus ausgeführt wird
  6. Prometheus liest diese neue updated IP file dynamisch
  7. Alle neuen hosts werden automatisch überwacht

Für die Schritte 4 bis 7 gehen wir hier alle Schritte durch.

So aktualisieren Sie die IP-Listendatei für Prometheus-Ziele nach dem dynamischen Erstellen von Amazon EC2-VMs

Detaillierte Schritte:

  1. Rufen Sie eine Liste aller IPs aus der Ansible-Hosts-Datei unter der Gruppe [Crunchify] .
  2. Fügen Sie alle IPs nur zu Testzwecken zur Datei crunchify.txt . Wir werden diese Datei in den nächsten Schritten nicht verwenden.
  3. Löschen Sie die vorhandene crunchify_prometheus.json-Datei.
  4. Erstellen Sie eine neue crunchify_prometheus.json -Datei mit einer neuen Prometheus-IP-Listendatei.
  5. Ersetzen Sie iplist aus der Datei crunchify_prometheus.json durch eine Liste von IPs.
  6. Ersetze u' durch ' .
  7. Ersetzen Sie ' durch " .
  8. Löschen Sie die vorhandene Datei crunchify_prometheus.json vom Remote-Host, auf dem der Prometheus-Prozess ausgeführt wird.
  9. Kopieren Sie die Datei crunchify_prometheus.json vom lokalen Host auf den Remote-Host, damit Prometheus sie nutzen kann.

crunchify_prometheus_file_update.yml-Datei.

Ansible Playbook ausführen:

Ansible Playbook-Ergebnis:

Das ist es. Glückwünsche. Sie haben die neue aktualisierte Datei erfolgreich auf den neuen Host kopiert und Prometheus überwacht jetzt automatisch Ihre neu erstellten Amazon EC2-Instanzen.

Was kommt als nächstes?

Sehen Sie sich das Tutorial zur install docker unter Linux an.

Wie installiere ich Docker-Container unter Linux? (Ubuntu und CentOS)