Technische Dokumentation zu Prometheus – Grundlegende Installation – Docker-Installation und Bereitstellung von Datenvolumes – „Zehn Minuten zum Erstellen“

1. Sehen Sie sich die installierbare Version an

docker search prom/prometheus

 2. Ziehen Sie das Bild

docker pull prom/prometheus

 3. Sehen Sie sich das Spiegelbild an

docker images

 Viertens schreiben Sie die Konfigurationsdatei – und erstellen Sie ein Mount-Verzeichnis

Speicherort des Host-Mount-Verzeichnisses:

Und bereiten Sie das entsprechende Mount-Verzeichnis vor:

/usr/local/docker/promethues/server

Bereiten Sie sich wie folgt vor:

data、config、rules、ClientAll、server

  Autorisieren Sie entsprechende Ordnerberechtigungen

chmod -R 777 /usr/local/docker/prometheus/data
chmod -R 777 /usr/local/docker/prometheus/config
chmod -R 777 /usr/local/docker/prometheus/rules
chmod -R 777 /usr/local/docker/prometheus/ClientAll
chmod -R 777 /usr/local/docker/prometheus/server

 Zielstandort des Containers:

/etc/prometheus/prometheus.yml

Konfigurationsdatei mit Code bearbeiten:

vim /usr/local/docker/prometheus/server/prometheus.yml

Schreiben Sie die folgende Konfiguration: 

global:
  scrape_interval: 15s # 设置抓取间隔为每15秒。
  evaluation_interval: 15s # 每隔15秒评估规则。

rule_files:
  - /prometheus/rules/*.yml # 这里匹配指定目录下所有的.rules文件

scrape_configs:
  - job_name: "阿丹服务器" #使用配置来发现服务
    static_configs:
      - targets: ['ip:9090']
        labels:
          instance: prometheus
  - job_name: "服务发现"
    file_sd_configs:
      - files:
        - /prometheus/ClientAll/*.json # 用json格式文件方式发现服务,下面的是用yaml格式文件方式,都可以
        refresh_interval: 10m
      - files:
        - /prometheus/ClientAll/*.yaml # 用yaml格式文件方式发现服务
        refresh_interval: 10m

Konfiguration erklären:

Diese prometheus.ymlDatei ist die Konfigurationsdatei für Prometheus. Es definiert, wie Prometheus Überwachungsdaten sammelt und speichert und wie diese Daten zur Regelauswertung und Alarmierung verwendet werden.

Lesen wir diese Datei Zeile für Zeile:

  • global: scrape_interval: 60s: Diese Zeile setzt das globale Scrape-Intervall auf 60 Sekunden. Das bedeutet, dass Prometheus alle 60 Sekunden Daten von den überwachten Zielen abruft. Das Standardabrufintervall ist jede Minute.
  • evaluation_interval: 60s: Diese Zeile legt das globale Regelauswertungsintervall (Auswertungsintervall) auf 60 Sekunden fest. Dies bedeutet, dass Prometheus seine Regeln (Regeln) alle 60 Sekunden auswertet (auswertet). Das standardmäßige Auswertungsintervall beträgt ebenfalls jede Minute.
  • scrape_configs:: Dieses Feld stellt eine Liste mit Scrape-Konfigurationen dar. Jede Scraping-Konfiguration definiert ein oder mehrere zu überwachende Ziele und wie Daten von diesen Zielen extrahiert werden.
  • - job_name: prometheus: Diese Zeile startet eine neue Crawl-Konfiguration. Diese Konfiguration job_namebedeutet prometheus, dass die Daten des Prometheus-Servers selbst überwacht werden.
  • static_configs:: Dieses Feld stellt eine statische Konfiguration dar, die das zu überwachende Ziel und die Beschriftungen auf dem Ziel definiert.
  • - targets: ['172.17.0.1:8892']: Diese Zeile definiert ein Überwachungsziel. In diesem Beispiel ist das Ziel ein Prometheus-Server , der unter einer IP-Adresse 172.17.0.1und einem Port läuft.8892
  • labels: instance: prometheus: Diese Zeile definiert einige Beschriftungen. Tags sind an Objekte angehängte Metadaten und können zum Filtern und Gruppieren verwendet werden. In diesem Beispiel instancewird ein Tag mit dem Wert hinzugefügt prometheus.

Insgesamt richtet diese Konfigurationsdatei Prometheus so ein, dass er Daten von sich selbst (IP-Adresse 172.17.0.1, Port 8892) sammelt und alle 60 Sekunden Daten sammelt und alle 60 Sekunden Regeln auswertet.

Die aktuelle Konfiguration überwacht sich lediglich selbst:

Wenn Sie möchten, dass Prometheus andere Server überwacht, müssen Sie targetsden Wert in ändern. Ersetzen Sie diese durch die IP-Adresse und Portnummer des zu überwachenden Dienstes.

Eine Aufgabenkonfiguration überwacht mehrere:

Sie können mehrere Überwachungsziele konfigurieren. static_configsFügen Sie einfach mehrere unter demselben hinzu targets. Jedes Ziel muss die entsprechende IP-Adresse und Portnummer verwenden. Zum Beispiel:

scrape_configs:
 - job_name: 'prometheus'
   static_configs:
     - targets: ['target1_ip:port', 'target2_ip:port']

Im obigen Beispiel sind target1_ip:portund target2_ip:portdie tatsächliche IP-Adresse und Portnummer des Dienstes, den Sie überwachen möchten. Sie können bei Bedarf weitere Ziele hinzufügen.

Bitte beachten Sie, dass Sie bei der Überwachung einer großen Anzahl von Zielen möglicherweise andere Erfassungskonfigurationsmethoden verwenden müssen, z. B. die Verwendung einer dynamischen Konfiguration (dynamic_configs) oder des automatischen Ladens von Konfigurationsdateien (file_sd_configs). Diese Methoden können die Zielkonfiguration aus einer Datei lesen, um die Verwaltung und Wartung einer großen Anzahl von Überwachungszielen zu vereinfachen.

Konfigurieren Sie die entsprechende Überwachung mehrerer Aufgaben (entsprechende Konfiguration):

        Wenn Sie mehrere Ziele überwachen möchten, müssen Sie scrape_configsmehrere in konfigurieren job_name.

Für jedes zu überwachende Ziel         muss unten ein neues erstellt undjob_name entsprechend konfiguriert werdenstatic_configstargetslabels

Im Folgenden finden Sie eine Beispielkonfigurationsdatei mit zwei konfigurierten Überwachungszielen:

global:
  scrape_interval: 60s
  evaluation_interval: 60s

scrape_configs:
  - job_name: prometheus1
    static_configs:
      - targets: ['ip:9090']
        labels:
          instance: prometheus1
  - job_name: prometheus2
    static_configs:
      - targets: ['ip2:9090']
        labels:
          instance: prometheus2

        Im obigen Beispiel haben wir zwei verschiedene erstellt job_name: prometheus1und prometheus2. Für jedes job_namekonfigurieren wir das entsprechende Ziel ( targets) und Label ( labels).

job_nameBei Bedarf         können weitere hinzugefügt werden , um mehr Ziele zu überwachen. Folgen Sie einfach dem gleichen Muster für jedes Ziel, um ein neues zu erstellen job_nameund konfigurieren Sie das entsprechende Ziel static_configsunter .

Fünftens: Prometheus ausführen

Verwenden Sie den folgenden Code, um Prometheus auszuführen. Beachten Sie dabei die Gewohnheit

# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
 
 
docker run -itd --name prometheus -p 9090:9090 \
-v /usr/local/docker/prometheus/server/prometheus.yml:/etc/prometheus/prometheus.yml \
-v /etc/localtime:/etc/localtime:ro \
-v /usr/local/docker/prometheus/data:/prometheus/data \
-v /usr/local/docker/prometheus/config:/prometheus/config \
-v /usr/local/docker/prometheus/rules:/prometheus/rules \
-v /usr/local/docker/prometheus/ClientAll:/prometheus/ClientAll \
prom/prometheus --web.enable-lifecycle

Verwenden Sie für den Zugriff IP+9090 

Erfolgreicher Besuch! 

Ich denke du magst

Origin blog.csdn.net/weixin_72186894/article/details/132162467
Empfohlen
Rangfolge