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

Vue/React-Einzelseitenanwendung zurück ohne Aktualisierungslösung

Inhaltsverzeichnis Einführung Warum die Mühe? Com...

So konvertieren Sie eine Zeichenfolge in JavaScript in eine Zahl

Inhaltsverzeichnis 1.parseInt(Zeichenfolge, Basis...

So importieren Sie SQL-Dateien in Navicat Premium

Ich habe heute mit der Arbeit an meinem Abschluss...

Detaillierte Erklärung der globalen Variablenimplementierung von Uniapp

Vorwort In diesem Artikel werden einige Implement...

Analyse des Quellcodes des Nginx-Speicherpools

Inhaltsverzeichnis Speicherpoolübersicht 1. Nginx...

Detaillierte Erläuterung des Selinux-Grundkonfigurationstutorials unter Linux

selinux ( Security-Enhanced Linux) ist ein Linux-...

JavaScript zum Erzielen eines Vollbild-Seiten-Scrolleffekts

Nachdem ich mit der Lektüre von JavaScript DOM fe...

Lösung zum Erstellen mehrerer Datenbanken, wenn Docker PostgreSQL startet

1 Einleitung Im Artikel „PostgreSQL mit Docker st...

Eine detaillierte Einführung in for/of, for/in in JavaScript

Inhaltsverzeichnis In JavaScript gibt es mehrere ...

So legen Sie Listenstilattribute in CSS fest (lesen Sie einfach diesen Artikel)

Eigenschaften des Listenstils Es gibt 2 Arten von...

So zeigen Sie Anwendungsprotokolle von Docker-Containern an

Docker-Attach-Befehl docker attach [options] 容器st...

Tutorial zum Erstellen des File-Sharing-Dienstes Samba unter CentOS6.5

Samba-Dienste: Dieser Inhalt dient als Referenz f...

Zusammenfassung wichtiger Komponenten von MySQL InnoDB

Innodb umfasst die folgenden Komponenten 1. innod...