Stellen Sie die Grafana+Prometheus-Konfiguration mit Docker bereit

Stellen Sie die Grafana+Prometheus-Konfiguration mit Docker bereit

docker-compose-monitor.yml

Version: '2'

Netzwerke:
  Monitor:
    Treiber: Brücke

Leistungen:
  Zuflussdb:
    Bild: influxdb:latest
    Containername: tig-influxdb
    Häfen:
      - „18083:8083“
      - „18086:8086“
      - „18090:8090“
    Umgebungsdatei:
      - „env.influxdb“
    Bände:
      # Datenpersistenz
      # sudo mkdir -p ./influxdb/data
      - ./influxdb/data:/var/lib/influxdb
      # Konfigurieren Sie die Zeit im Docker auf Eastern Time Zone 8 - ./timezone:/etc/timezone:ro
      - ./localtime:/etc/localtime:ro
    Neustart: sofern nicht gestoppt #Telegraf nach dem Stoppen automatisch neu starten:
    Bild: telegraf:latest
    Containername: tig-telegraf
    Links:
      - Zuflussdb
    Bände:
      - ./telegraf.conf:/etc/telegraf/telegraf.conf:ro
      - ./Zeitzone:/etc/Zeitzone:ro
      - ./localtime:/etc/localtime:ro
    Neustart: sofern nicht gestoppt
  Prometheus:
    Bild: prom/prometheus
    Containername: Prometheus
    Hostname: Prometheus
    Neustart: immer
    Bände:
      - /home/qa/docker/grafana/prometheus.yml:/etc/prometheus/prometheus.yml
      - /home/qa/docker/grafana/node_down.yml:/etc/prometheus/node_down.yml
    Häfen:
      - „9090:9090“
    Netzwerke:
      - überwachen

  Alarmmanager:
    Bild: prom/alertmanager
    Containername: Alertmanager
    Hostname: Alertmanager
    Neustart: immer
    Bände:
      - /home/qa/docker/grafana/alertmanager.yml:/etc/alertmanager/alertmanager.yml
    Häfen:
      - „9093:9093“
    Netzwerke:
      - überwachen

  grafana:
    Bild: grafana/grafana:6.7.4
    Containername: Grafana
    Hostname: Grafana
    Neustart: immer
    Häfen:
      - '13000:3000'
    Netzwerke:
      - überwachen

  Knoten-Exporteur:
    Bild: quay.io/prometheus/node-exporter
    Containername: Knotenexporteur
    Hostname: Knoten-Exporteur
    Neustart: immer
    Häfen:
      - „9100:9100“
    Netzwerke:
      - überwachen

  cadvisor:
    Bild: Google/cadvisor:latest
    Containername: Cadvisor
    Hostname: cadvisor
    Neustart: immer
    Bände:
      – /:/rootfs:ro
      – /var/run:/var/run:rw
      – /sys:/sys:ro
      – /var/lib/docker/:/var/lib/docker:ro
    Häfen:
      - '18080:8080'
    Netzwerke:
      - überwachen

alertmanager.yml

weltweit:
  Auflösungs-Timeout: 5 Min.
  smtp_from: 'E-Mail'
  smtp_smarthost: "smtp.exmail.qq.com:25"
  smtp_auth_username: "E-Mail"
  smtp_auth_password: 'Passwort'
  smtp_require_tls: falsch
  smtp_hello: "qq.com"
Route:
  group_by: ['Alarmname']
  Gruppenwartezeit: 5 s
  Gruppenintervall: 5 s
  Wiederholungsintervall: 5 m
  Empfänger: "E-Mail"
Empfänger:
- Name: 'E-Mail'
  E-Mail-Konfigurationen:
  - an: 'E-Mail-Adresse'
    send_resolved: wahr
Regeln blockieren:
  - Quellübereinstimmung:
      Schweregrad: „kritisch“
    Zielübereinstimmung:
      Schweregrad: „Warnung“
    gleich: ['Alarmname', 'Entwickler', 'Instanz']

prometheus.yml

weltweit:
  scrape_interval: 15s # Setzt das Scrape-Intervall auf 15 Sekunden. Der Standardwert ist 1 Minute.
  evaluation_interval: 15s # Regeln alle 15 Sekunden auswerten. Der Standardwert ist alle 1 Minute.
  # scrape_timeout ist auf den globalen Standardwert (10 s) eingestellt.

# Alertmanager-Konfiguration
Alarmierung:
  Alarmmanager:
  - statische_Konfigurationen:
    - Ziele: ['192.168.32.117:9093']
      # - alertmanager:9093

# Laden Sie Regeln einmal und bewerten Sie sie regelmäßig gemäß dem globalen „Evaluation_Intervall“.
Regeldateien:
  - "node_down.yml"
  # - "node-exporter-alert-rules.yml"
  # - "first_rules.yml"
  # - "zweite_regeln.yml"

# Eine Scrape-Konfiguration, die genau einen zu scrapenden Endpunkt enthält:
# Hier ist es Prometheus selbst.
scrape_configs:
  #IO-Speicherknotengruppe – Jobname: „io“
    Scrape-Intervall: 8 s
    static_configs: #Der Port ist der Port, an dem der Node-Exporter gestartet wird – Ziele: ['192.168.32.117:9100']
      - Ziele: ['192.168.32.196:9100']
      - Ziele: ['192.168.32.136:9100']
      - Ziele: ['192.168.32.193:9100']
      - Ziele: ['192.168.32.153:9100']
      - Ziele: ['192.168.32.185:9100']
      - Ziele: ['192.168.32.190:19100']
      - Ziele: ['192.168.32.192:9100']

  # Der Jobname wird als Label „job=<job_name>“ zu jeder aus dieser Konfiguration extrahierten Zeitreihe hinzugefügt.
  - Jobname: „cadvisor“
    static_configs: #Der Port ist der von cadvisor gestartete Port - Ziele: ['192.168.32.117:18080']
      - Ziele: ['192.168.32.193:8080']
      - Ziele: ['192.168.32.153:8080']
      - Ziele: ['192.168.32.185:8080']
      - Ziele: ['192.168.32.190:18080']
      - Ziele: ['192.168.32.192:18080']

node_down.yml

Gruppen:
  - Name: node_down
    Regeln:
      - Warnung: InstanceDown
        Ausdruck: nach oben == 0
        für: 1m
        Beschriftungen:
          Benutzer: Test
        Anmerkungen:
          Zusammenfassung: „Instanz {{ $labels.instance }} ausgefallen“
          Beschreibung: „{{ $labels.instance }} des Jobs {{ $labels.job }} ist seit mehr als 1 Minute nicht verfügbar.“

        #Der verbleibende Speicher beträgt weniger als 10 %
      - Warnung: Der verbleibende Speicher beträgt weniger als 10 %
        Ausdruck: node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 < 10
        für: 2m
        Beschriftungen:
          Schweregrad: Warnung
        Anmerkungen:
          Zusammenfassung: Nicht genügend Arbeitsspeicher für den Host (Instanz {{ $labels.instance }})
          Beschreibung: "Der Knotenspeicher füllt sich (< 10 % übrig)\n WERT = {{ $value }}\n LABELS = {{ $labels }}"

        #Der verbleibende Speicherplatz beträgt weniger als 10 %
      - Warnung: Der verbleibende Speicherplatz beträgt weniger als 10 %.
        Ausdruck: (node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes < 10 und EIN (Instanz, Gerät, Einhängepunkt) node_filesystem_readonly == 0
        für: 2m
        Beschriftungen:
          Schweregrad: Warnung
        Anmerkungen:
          Zusammenfassung: Nicht genügend Speicherplatz auf dem Host (Instanz {{ $labels.instance }})
          Beschreibung: "Festplatte ist fast voll (< 10 % übrig)\n WERT = {{ $value }}\n LABELS = {{ $labels }}"

        #CPU-Auslastung > 80 %
      - Warnung: CPU-Auslastung > 80 %
        Ausdruck: 100 - (Durchschnitt pro (Instanz) (Rate (Node_Cpu_Sekunden_total {Modus = "Leerlauf"} [2 m])) * 100) > 80
        für: 0m
        Beschriftungen:
          Schweregrad: Warnung
        Anmerkungen:
          Zusammenfassung: Hohe CPU-Auslastung des Hosts (Instanz {{ $labels.instance }})
          Beschreibung: "CPU-Auslastung ist > 80 %\n WERT = {{ $value }}\n LABELS = {{ $labels }}"

Warnungen: https://awesome-prometheus-alerts.grep.to/rules#prometheus-self-monitoring

Offizielles Dashboard: https://grafana.com/grafana/dashboards/

Dies ist das Ende dieses Artikels über die Docker-Bereitstellung der Grafana+Prometheus-Konfiguration. Weitere relevante Inhalte zur Docker-Bereitstellung der Grafana+Prometheus finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Leistungsüberwachung des MySQL-Servers mit Prometheus und Grafana
  • Detailliertes Tutorial zur Installation und Verwendung von Grafana
  • Verwenden Sie Grafana, um Überwachungsdiagramme von Docker-Containern anzuzeigen und E-Mail-Benachrichtigungsregeln festzulegen (Abbildung)
  • Detaillierte Erläuterung des Tutorials zur Überwachung von Springboot-Anwendungen mit Prometheus+Grafana
  • Verwenden Sie Grafana+Prometheus, um die Leistung des MySQL-Dienstes zu überwachen
  • Detaillierte Erläuterung des Prozesses zum Erstellen von Prometheus + Grafana basierend auf Docker
  • Zusammenfassung der benutzerdefinierten Python-Datenerfassung mit Influx+Graphiana und einige Fallstricke
  • Detaillierte Schritte für SpringBoot+Prometheus+Grafana zur Implementierung von Anwendungsüberwachung und Alarm
  • So installieren Sie Grafana und fügen Influxdb-Überwachung unter Linux hinzu
  • Analysieren Sie die Methode zur Überwachung von Nginx durch Prometheus + Grafana
  • Prometheus überwacht MySQL mithilfe der Grafana-Anzeige
  • So überwachen Sie Docker mit Grafana unter Ubuntu
  • Detailliertes Tutorial zum Erstellen einer JMeter+Grafana+Influxdb-Überwachungsplattform mit Docker
  • Tutorial zum Erstellen einer visuellen Leistungsüberwachungsplattform mit JMeter+Grafana+InfluxDB in einer Docker-Umgebung
  • ELK und Grafana erstellen gemeinsam eine visuelle Überwachung zur Analyse von Nginx-Protokollen
  • Es ist nicht schlimm, wenn Sie Ihr Grafana-Passwort vergessen. 2 Möglichkeiten, Ihr Grafana-Administratorpasswort zurückzusetzen

<<:  Verwenden Sie html-webpack-plugin‘, um ein HTML-Seiten-Plugin im Speicher zu generieren

>>:  Beispiel und Update für die Erstellung von HTML5+CSS3-Headern

Artikel empfehlen

Lösung für die Navicat Premier-Remoteverbindung zum MySQL-Fehler 10038

Schlägt die Remote-Verbindung zu MySQL fehl, kann...

...

Ein einfaches Beispiel zum Erstellen einer dünnen Linientabelle in HTML

Wenn Sie wissen möchten, wie Sie diese Tabelle mi...

Beispiel-Tutorial für MySQL-Datenbanktransaktionen

Inhaltsverzeichnis 1. Was ist eine Transaktion? 2...

Mysql-Indextypen und grundlegende Anwendungsbeispiele

Inhaltsverzeichnis Index - Allgemeiner Index - Ei...

So erstellen Sie ein React-Projekt mit Vite

Inhaltsverzeichnis Vorwort Erstellen Sie ein Vite...

Detaillierte Erläuterung der allgemeinen Docker-Befehle Study03

Inhaltsverzeichnis 1. Hilfe-Befehl 2. Befehl „Spi...

Detaillierte Schritte zum Konfigurieren des Tomcat-Servers in IDEA 2020

Die Schritte zum Konfigurieren von Tomcat in IDEA...

Sollte ich JQuery aufgeben?

Inhaltsverzeichnis Vorwort Was soll verwendet wer...

Thumbnail-Hover-Effekt mit CSS3 implementiert

Ergebnisse erzielenImplementierungscode html <...