Überblick Prometheus ist ein Open-Source-Dienstüberwachungssystem, das über das HTTP-Protokoll Daten von Remotecomputern sammelt und in einer lokalen Zeitreihendatenbank speichert. Es bietet eine einfache Weboberfläche, eine leistungsstarke Abfragesprache, eine HTTP-Schnittstelle und mehr. Prometheus sammelt Überwachungsdaten über Exporter, die auf Remote-Rechnern installiert sind. Dabei kommen folgende zwei Exporter zum Einsatz:
Grafana ist eine Open-Source-Datenvisualisierungsplattform mit zahlreichen Funktionen, die häufig zur Visualisierung von Zeitreihendaten verwendet wird. Es bietet integrierte Unterstützung für die folgenden Datenquellen: Die unterstützten Datenquellen können durch Plug-Ins erweitert werden. Architekturdiagramm Nachfolgend sehen Sie das Architekturdiagramm dieser Bereitstellung Installieren und Ausführen von Prometheus 1. Installieren Sie Prometheus auf dem Monitor Installieren Sie unter /opt/prometheus $ wget https://github.com/prometheus/prometheus/releases/download/v1.5.2/prometheus-1.5.2.linux-amd64.tar.gz $ tar zxvf prometheus-1.5.2.linux-amd64.tar.gz $ mv prometheus-1.5.2.linux-amd64 /opt/prometheus 2. Bearbeiten Sie die Konfigurationsdatei prometheus.yml im Installationsverzeichnis vim /opt/prometheus/prometheus.yml # meine globale Konfiguration 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. # Fügen Sie diese Labels allen Zeitreihen oder Warnungen bei der Kommunikation mit # externe Systeme (Föderation, Remote-Speicher, Alertmanager). externe_Beschriftungen: Monitor: „Codelab-Monitor“ # Laden Sie Regeln einmal und bewerten Sie sie regelmäßig gemäß dem globalen „Evaluation_Intervall“. Regeldateien: # - "erste.regeln" # - "zweite.Regeln" # Eine Scrape-Konfiguration, die genau einen zu scrapenden Endpunkt enthält: # Hier ist es Prometheus selbst. scrape_configs: # Der Jobname wird als Label „job=<job_name>“ zu jeder aus dieser Konfiguration extrahierten Zeitreihe hinzugefügt. - Jobname: „Prometheus“ # metrics_path ist standardmäßig „/metrics“ # Schema ist standardmäßig auf „http“ eingestellt. statische_Konfigurationen: - Ziele: ['localhost:9090'] # Folgendes ist der hinzugefügte Teil - job_name: linux statische_Konfigurationen: - Ziele: ['172.30.251.214:9100'] Beschriftungen: Instanz: db1 - Jobname: mysql statische_Konfigurationen: - Ziele: ['172.30.251.214:9104'] Beschriftungen: Instanz: db1 Darunter: 172.30.251.214 ist die IP-Adresse von MySQL und der Port ist der entsprechende Abhörport des Exporteurs. 3. Starten Sie Prometheus [loya@centos6 prometheus]$ ./prometheus INFO[0000] Prometheus wird gestartet (Version=1.5.2, Zweig=Master, Revision=bd1182d29f462c39544f94cc822830e1c64cf55b) Quelle=main.go:75 INFO[0000] Build-Kontext (go=go1.7.5, Benutzer=root@a8af9200f95d, Datum=20170210-14:41:22) Quelle=main.go:76 INFO[0000] Konfigurationsdatei prometheus.yml wird geladen source=main.go:248 INFO[0000] Serienkarte und Kopfblöcke werden geladen... Quelle=storage.go:373 INFO[0000] 0 Serien geladen. Quelle=storage.go:378 INFO[0000] Zielmanager wird gestartet... Quelle=targetmanager.go:61 INFO[0000] Abhören auf:9090 Quelle=web.go:259 Prometheus verfügt über eine integrierte Weboberfläche, auf die über http://monitor_host:9090 zugegriffen werden kann: Auf der Seite „Status -> Ziele“ können Sie die beiden von uns konfigurierten Ziele sehen. Ihr Status lautet „DOWN“. 4. Als nächstes müssen Sie den Exporter auf dem überwachten Computer installieren und ausführen Exportprogramme herunterladen und entpacken: $ mkdir /opt/prometheus/prometheus_exporters $ cd /opt/prometheus/prometheus_exporters $ wget https://github.com/prometheus/node_exporter/releases/download/v0.14.0-rc.1/node_exporter-0.14.0-rc.1.linux-amd64.tar.gz $ wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.9.0/mysqld_exporter-0.9.0.linux-amd64.tar.gz $ tar zxvf node_exporter-0.14.0-rc.1.linux-amd64.tar.gz $ tar zxvf mysqld_exporter-0.9.0.linux-amd64.tar.gz # Verschieben Sie die entsprechenden ausführbaren Dateien nach /opt/prometheus/prometheus_exporters $ ll /opt/prometheus/prometheus_exporters insgesamt 24464 -rwxr-xr-x 1 root root 12182376 23. Febr. 19:01 mysqld_exporter -rwxr-xr-x 1 root root 12862209 23. Februar 19:01 node_exporter Führen Sie node_exporter aus. $ cd /opt/prometheus/prometheus_exporters $ ./node_exporter INFO[0000] node_exporter wird gestartet (Version=0.14.0-rc.1, Zweig=Master, Revision=5a07f4173d97fa0dd307db5bd3c2e6da26a4b16e) Quelle="node_exporter.go:136" INFO[0000] Build-Kontext (go=go1.7.4, Benutzer=root@ed143c8f2fcd, Datum=20170116-16:00:03) Quelle="node_exporter.go:137" INFO[0000] Kein Verzeichnis angegeben, siehe --collector.textfile.directory source="textfile.go:57" INFO[0000] Aktivierte Collector: source="node_exporter.go:156" INFO[0000] - Entropiequelle="node_exporter.go:158" INFO[0000] - loadavg Quelle="node_exporter.go:158" INFO[0000] - stat Quelle="node_exporter.go:158" INFO[0000] - diskstats Quelle="node_exporter.go:158" INFO[0000] - Textdateiquelle="node_exporter.go:158" INFO[0000] - vmstat Quelle="node_exporter.go:158" INFO[0000] - meminfo Quelle="node_exporter.go:158" INFO[0000] - filefd Quelle="node_exporter.go:158" INFO[0000] - Dateisystemquelle="node_exporter.go:158" INFO[0000] - mdadm Quelle="node_exporter.go:158" INFO[0000] - netdev-Quelle="node_exporter.go:158" INFO[0000] - sockstat Quelle="node_exporter.go:158" INFO[0000] - Zeitquelle="node_exporter.go:158" INFO[0000] - zfs-Quelle="node_exporter.go:158" INFO[0000] - edac Quelle="node_exporter.go:158" INFO[0000] - hwmon Quelle="node_exporter.go:158" INFO[0000] - netstat Quelle="node_exporter.go:158" INFO[0000] - uname Quelle="node_exporter.go:158" INFO[0000] - conntrack-Quelle="node_exporter.go:158" INFO[0000] Abhören auf:9100 Quelle="node_exporter.go:176" mysqld_exporter muss eine Verbindung zu MySQL herstellen und benötigt daher MySQL-Berechtigungen. Wir legen einen Benutzer dafür an und erteilen ihm die erforderlichen Berechtigungen: mysql> GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'prom'@'localhost' identifiziert durch 'abc123'; mysql> GRANT SELECT ON performance_schema.* TO 'prom'@'localhost'; Erstellen Sie die Datei .my.cnf und führen Sie mysqld_exporter aus: $ cd /opt/prometheus/prometheus_exporters $ $ cat << EOF > .meine.cnf [Kunde] Benutzer=Abschlussball Passwort=abc123 Ende der Laufzeit $ $ ./mysqld_exporter -config.my-cnf=".my.cnf" INFO[0000] mysqld_exporter wird gestartet (Version=0.9.0, Zweig=Master, Revision=8400af20ccdbf6b5e0faa2c925c56c48cd78d70b) Quelle=mysqld_exporter.go:432 INFO[0000] Build-Kontext (go=go1.6.3, Benutzer=root@2c131c66ca20, Datum=20160926-18:28:09) Quelle=mysqld_exporter.go:433 INFO[0000] Lausche auf:9104 Quelle=mysqld_exporter.go:451 Gehen Sie zurück zur Prometheus-Weboberfläche „Status->Ziele“. Dort sehen Sie, dass der Status der beiden Ziele nun „UP“ lautet: Installieren und Ausführen von Grafana Installieren: Die offizielle Dokumentation zur Grafana-Installation ist ziemlich klar, deshalb werde ich hier nicht ins Detail gehen. Konfiguration: Bearbeiten Sie die Konfigurationsdatei /etc/grafana/grafana.ini und ändern Sie die Werte der beiden Parameter im Abschnitt dashboards.json: [dashboards.json] aktiviert = wahr Pfad = /var/lib/grafana/dashboards Prometheus-Dashboard importieren: $ git clone https://github.com/percona/grafana-dashboards.git $ cp -r grafana-dashboards/dashboards /var/lib/grafana Start-up: $ /etc/init.d/grafana-server start Greifen Sie über http://monitor_host:3000 auf die Grafana-Weboberfläche zu (der Standardbenutzername/das Standardkennwort lautet admin/admin). Fügen Sie nach der Anmeldung über die Seite „Datenquellen“ eine Datenquelle hinzu: Sie können das Diagramm dann rendern, indem Sie verschiedene Dashboards (oben links) und Zeiträume (oben rechts) auswählen: Systemübersicht: MySQL-Übersicht: Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen kann. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: Einführung und Verwendung des Javascript-Generators
Dieser Artikel erläutert anhand von Beispielen di...
Dieser Artikel stellt hauptsächlich vor, wie pagi...
Dieser Artikel veranschaulicht anhand von Beispie...
Das spezifische upgrade -Skript lautet wie folgt:...
Hier stellen wir den CentOS-Server mit installier...
Die Datenbank ermöglicht langsame Abfrageprotokol...
Bild herunterladen Auswählen eines MySQL-Images D...
In diesem Artikel wird der spezifische JavaScript...
1. Komplexität des Front-End-Engineerings Wenn wi...
MySQL verarbeitet doppelte Daten Einige MySQL-Tab...
Inhaltsverzeichnis 1. vorErstellen & erstellt...
Kürzlich stieß ich auf das Problem, ob die Daten b...
1. Docker-Netzwerkmodus Wenn Docker Run einen Doc...
Ich habe es Ihnen bereits vorgestellt: Docker (Be...
Die Webseite zeigt 403 Forbidden an Nginx (Yum-In...