Detailliertes Tutorial zur Installation von Prometheus mit Docker

Detailliertes Tutorial zur Installation von Prometheus mit Docker

Anweisungen zur Docker-Bereitstellung mit Prometheus:

Installation des Überwachungsterminals:
Prometheus-Server (Prometheus-Überwachungshauptserver)
Node Exporter (sammelt Informationen zur Host-Hardware und zum Betriebssystem)
cAdvisor (verantwortlich für das Sammeln von Informationen über Container, die auf dem Host ausgeführt werden)
Grafana (zeigt die Prometheus-Überwachungsschnittstelle an)

Überwachte Installation:
Node Exporter (sammelt Informationen zur Host-Hardware und zum Betriebssystem)
cAdvisor (verantwortlich für das Sammeln von Informationen über Container, die auf dem Host ausgeführt werden)

1. Node Exporter installieren

  • Alle Serverinstallationen
  • Node Exporter sammelt Systeminformationen und wird zum Überwachen von Systeminformationen wie CPU, Speicher, Festplattennutzung, Festplattenlesen und -schreiben usw. verwendet.
  • –net=host, damit der Prometheus-Server direkt mit dem Node Exporter kommunizieren kann
docker run -d -p 9100:9100 \
-v "/proc:/host/proc" \
-v "/sys:/host/sys" \
-v "/:/rootfs" \
-v "/etc/lokaleZeit:/etc/lokaleZeit" \
--net=Host \
prom/Knoten-Exporteur \
--Pfad.procfs /Host/proc \
--Pfad.sysfs /host/sys \
--collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)"

[root@k8s-m1 ~]# docker ps|grep exporter
ee30add8d207 prom/node-exporter "/bin/node_exporter …" Vor etwa einer Minute Up Vor etwa einer Minute condescending_shirley

2. Installieren Sie cAdvisor

  • Alle Serverinstallationen
  • cAdvisor sammelt Docker-Informationen, um Docker-CPU, Speicher, Upload- und Download-Informationen anzuzeigen
  • –net=host, damit der Prometheus-Server direkt mit cAdvisor kommunizieren kann
docker run -d \
-v "/etc/lokaleZeit:/etc/lokaleZeit" \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=18104:8080 \
--detach=true \
--name=cadvisor \
--privilegiert=true \
google/cadvisor:latest

[root@k8s-m1 ~]# docker ps|grep cadvisor
cf6af6118055 google/cadvisor:latest "/usr/bin/cadvisor -…" vor 38 Sekunden Vor 37 Sekunden aktiv 0.0.0.0:18104->8080/tcp cadvisor
Sie können den Container betreten, um Folgendes anzuzeigen:
[root@agent ~]# sudo docker exec -it containerid /bin/sh

3. Installieren Sie den Prometheus-Server

Installation des Überwachungsterminals

1) Bearbeiten Sie die Konfigurationsdatei

  • Erstellen Sie zunächst lokal prometheus.yml. Dies ist die Konfigurationsdatei für Prometheus.
  • Schreiben Sie folgenden Inhalt in die Datei
  • Ändern Sie die Abhöradresse in Ihre eigene lokale Adresse
# 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.

# Alertmanager-Konfiguration
Alarmierung:
  Alarmmanager:
  - statische_Konfigurationen:
    - Ziele:
      # - alertmanager:9093

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

# 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:
    #Abhöradresse - Ziele: ['localhost:9090','172.23.0.241:8088','172.23.0.241:9090']

2) Starten Sie den Container

1> prometheus.yml-Konfigurationsdatei

Die externe Netzwerk-IP muss in prometheus.yml konfiguriert werden. Die interne Netzwerk-IP kann in Grafana nur vom lokalen Rechner erkannt werden!

# 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.

# Alertmanager-Konfiguration
Alarmierung:
  Alarmmanager:
  - statische_Konfigurationen:
    - Ziele:
      # - alertmanager:9093

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

# 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:
    #Abhöradresse (hier ist die Intranet-IP des Servers)
    - Ziele: ['10.27.158.33:9090','10.27.158.33:9100','10.27.158.33:18104']
    - Ziele: ['10.29.46.54:9100','10.29.46.54:18104']
    - Ziele: ['10.27.163.172:9100','10.27.163.172:18104']

# - Jobname: "GitLab"
# Metrikpfad: '/-/Metriken'
# statische_Konfigurationen:
# - Ziele: ['172.23.0.241:10101']

  - Jobname: „Jenkins“
    Metrikpfad: "/prometheus/"
    Schema: http
    bearer_token: Trägertoken
    statische_Konfigurationen:
    - Ziele: ['172.23.0.242:8080']

  - Jobname: "Nginx"
    metrics_path: '/status/format/prometheus'
    statische_Konfigurationen:
    - Ziele: ['172.23.0.242:8088']

2>Befehl starten

–net=host, damit der Prometheus-Server direkt mit Exporter und Grafana kommunizieren kann

docker run -d -p 9090:9090 \
-v /root/Prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
-v "/etc/lokaleZeit:/etc/lokaleZeit" \
--name prometheus \
--net=Host \
prom/prometheus:latest

# Zugriff nach erfolgreichem Start des Prometheus-Containers# PS: Der Server muss den externen Netzwerkport von eth0 öffnen, bevor Sie mit dem Browser auf 9090 0.0.0.0 zugreifen können.
106.15.0.11:9090

4. Erstellen und Ausführen von Grafana

  • Überwachung der Serverinstallation
  • Zur grafischen Darstellung
docker run -d -i -p 3000:3000 \
-v "/etc/lokaleZeit:/etc/lokaleZeit" \
-e "GF_SERVER_ROOT_URL=http://grafana.server.name" \
-e "GF_SECURITY_ADMIN_PASSWORD=admin8888" \
--net=Host \
grafana/grafana

# PS: Der Server muss den externen Netzwerkport von eth0 öffnen, bevor er mit einem Browser aufgerufen werden kann: 3000 0.0.0.0
Nachdem Grafana gestartet ist, öffnen Sie die Anmeldeoberfläche 172.23.0.241:3000 im Browser und melden Sie sich an:
	Benutzername: admin
	Passwort: admin8888

1) Prometheus-Server hinzufügen

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Erstellen Sie dann eine grafische Darstellung für die hinzugefügte Datenquelle

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

5. Überwachungsvorlage hinzufügen

  • Es ist etwas schwierig, ein Dashboard manuell zu erstellen. Sie können die Leistung von Kaiyuan nutzen, um [Adresse der Überwachungsvorlage] https://grafana.com/grafana/dashboards zu besuchen. Dort werden viele Dashboards zur Überwachung von Docker angezeigt. Adresse der Überwachungsvorlage (es können mehrere Überwachungsvorlagen entsprechend Ihren Anforderungen heruntergeladen werden)
  • Überwachung der Vorlagenadresse
  • Manche Dashboards lassen sich direkt nach dem Download importieren, andere müssen vor dem Import noch angepasst werden. Hierzu ist ein Blick in die Dashboard-Übersicht nötig.
  • Endgültiger Effekt

Bildbeschreibung hier einfügen

Zu diesem Zeitpunkt können Sie die entsprechende Vorlage kompilieren, den Wert von Prometheus übernehmen und auf Grafana übertragen. Das ist es. Sehr nützlich!

6. Schlüssel-Wert-Abfrage

Durch den Indikator io_namespace_http_requests_total können wir:

Abfrage der Gesamtzahl der Anfragen für die Anwendung sum(io_namespace_http_requests_total)
Abfrage der Anzahl der HTTP-Anfragen pro Sekunde sum(rate(io_wise2c_gateway_requests_total[5m]))
Abfrage der Top-N-URIs der aktuellen Anwendungsanforderungen
	topk(10, Summe(io_namespace_http_requests_total) nach (Pfad))

Konfigurieren Sie Prometheus zur Überwachung von Nginx

1. Bevor Prometheus zur Überwachung verwendet werden kann, müssen zwei Module für Nginx installiert werden: nginx-module-vts, geoip

2. Idee: Unabhängig davon, ob es mit yum kompiliert oder installiert wird, müssen Sie das Tar-Paket derselben Version herunterladen. Fügen Sie basierend auf den ursprünglichen Installationsoptionen die beiden oben genannten Moduloptionen hinzu, kompilieren und installieren Sie es, um das ursprüngliche Nginx zu ersetzen, und verschieben Sie schließlich die Konfigurationsdateien des ursprünglichen Nginx-Verzeichnisses wie die Datei nginx.conf und das Verzeichnis conf.d in das kompilierte und installierte Nignx-Verzeichnis und starten Sie schließlich Nginx.

Hier ist die offizielle Quellinstallation:
1) Konfigurieren Sie die offizielle Quelle

[root@web01 ~]# vim /etc/yum.repos.d/nginx.repo
[nginx-stabil]
Name=stabiles Nginx-Repository
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=1
aktiviert=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

2) Abhängigkeiten installieren

yum install -y gcc gcc-c++ autoconf pcre pcre-devel make automake wget httpd-tools vim tree

3) Installieren Sie nginx

[root@web01 ~]# yum install -y nginx

4) Konfigurieren Sie nginx

[root@web01 ~]# vim /etc/nginx/nginx.conf
Benutzer www;

5) Starten Sie den Dienst

1. Methode 1: Direkt starten. Wenn ein Fehler auftritt ==》Schwerwiegender Fehler, Port 80 ist belegt ==》Überprüfen Sie den Dienst HTTPD, der den Port belegt, stoppen Sie ihn und starten Sie nginx neu
[root@web01 ~]# systemctl starte nginx
2. Methode 2:
[root@web01 ~]# nginx

1. Sehen Sie sich die aktuellen Nginx-Installationsoptionen an

[root@db01 nginx-1.12.2]# nginx -V
[root@db01 nginx-1.12.2]# ./configure --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-compat --with-debug --with-file-aio --with-google_perftools_module --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_degradation_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_mp4_module --with-http_perl_module=dynamic --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_xslt_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module --with-threads --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --with-ld-opt='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E'

2. Modul vorbereiten

# Neue Pakete herunterladen und entpacken [root@k8s-n1 packages]# wget http://nginx.org/download/nginx-1.16.1.tar.gz
[root@k8s-n1-Pakete]# tar xf nginx-1.16.1.tar.gz

#Klonen und herunterladen des Moduls nginx-module-vts [root@k8s-n1 packages]# git clone https://github.com/vozlt/nginx-module-vts

# .Installieren Sie das GeoIP-Modul [root@k8s-n1-Pakete]# yum -y install epel-release geoip-devel

3. Stoppen Sie den Nginx-Dienst

# Stoppen Sie den Nginx-Dienst [root@k8s-n1-Pakete]# nginx -s stop

#Sichern Sie die ursprüngliche Nginx-Startdatei[root@k8s-n1 packages]# welche Nginx
/usr/sbin/nginx
[root@k8s-n1-Pakete]# mv /usr/sbin/nginx /usr/sbin/nginx.bak

# Sichern Sie das ursprüngliche nignx-Verzeichnis [root@k8s-n1 packages]# mv /etc/nginx nginx-1.12.2.bak

4. Kompilieren und installieren

1> Erforderliche Abhängigkeiten installieren

Beim Kompilieren und Installieren kann der Fehler `make: *** Keine Regel zum Erstellen des von ‚default‘ geforderten Ziels ‚build‘ auftreten. Der Fehler „stop“ wird durch fehlende Abhängigkeiten verursacht. # Egal was, installieren Sie es und kompilieren Sie es dann. Andernfalls müssen Sie nach der Installation der Abhängigkeiten erneut ./configure ausführen. ~
yum install -y gcc gcc++ Bash-Vervollständigung vim lrzsz wget expect net-tools nc nmap-Baum dos2unix htop iftop iotop entpacken telnet sl psmisc nethogs Blicke bc pcre-Entwicklung zlib zlib-Entwicklung openssl openssl-Entwicklung libxml2 libxml2-Entwicklung libxslt-Entwicklung gd gd-Entwicklung perl-Entwicklung perl-ExtUtils-Embed GeoIP GeoIP-Entwicklung GeoIP-Daten pcre-Entwicklung

2> Kompilieren und installieren

  • Gehen Sie in das soeben entpackte nginx-Verzeichnis, kompilieren und installieren Sie
  • Basierend auf den ursprünglichen Installationsparametern fügen Sie am Ende zwei Parameter hinzu

–add-module=/root/packages/nginx-module-vts
–mit-http_geoip_module

[root@db01 nginx-1.12.2]# ./configure --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-compat --with-debug --with-file-aio --with-google_perftools_module --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_degradation_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_mp4_module --with-http_perl_module=dynamic --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_xslt_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module --with-threads --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --with-ld-opt='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E' --add-module=/root/package/nginx-module-vts --with-http_geoip_module
# Kompilieren und installieren# -j Multi-Core-Kompilierung (es wird nicht empfohlen, diesen Parameter für eine niedrige Konfiguration zu verwenden, da er hängen bleibt~)
[root@k8s-n1 nginx-1.12.2]# make -j && make install

5. Nginx konfigurieren

[root@k8s-n1-Pakete]# cp -r nginx-1.12.2.bak/conf.d/ /etc/nginx/
[root@k8s-n1-Pakete]# cp -r nginx-1.12.2.bak/nginx.conf /etc/nginx/
[root@k8s-n1-Pakete]# rm -f /etc/nginx/conf.d/default.conf

Konfigurieren der Nginx-Konfigurationsdatei

HTTP-Schicht

Serverebene

	···
http {	
	···
    schließen Sie /etc/nginx/conf.d/*.conf ein;

	########################## 1.http-Ebene: Fügen Sie drei Konfigurationszeilen hinzu######################## 
    vhost_traffic_status_zone;
    vhost_traffic_status_filter_by_host ein;
    GeoIP_Land /usr/share/GeoIP/GeoIP.dat;

	######################### 2.Serverebene: Geben Sie die Portnummer der Serverebene an. Port 8088 wird empfohlen. Wenn kein Konflikt besteht, kopieren und fügen Sie einfach ein.###########################
    Server {
        hören Sie 8088;
        Servername localhost;
        # Die folgende Vhost-Konfiguration wird an diesen Speicherort geschrieben: location /status {
        vhost_traffic_status on; # Verkehrsstatus, die Standardeinstellung ist „Ein“, diese Zeile kann weggelassen werden vhost_traffic_status_display;
        vhost_traffic_status_anzeige_format html;
        vhost_traffic_status_filter_by_set_key $uri uri::$server_name; #Besuche pro URI vhost_traffic_status_filter_by_set_key $geoip_country_code country::$server_name; #Anfragen pro Land/Region vhost_traffic_status_filter_by_set_key $status $server_name; #HTTP-Code-Statistiken vhost_traffic_status_filter_by_set_key $upstream_addr upstream::backend; #Backend>Weiterleitungsstatistiken vhost_traffic_status_filter_by_set_key $remote_port client::ports::$server_name; #Port-Statistiken anfordern vhost_traffic_status_filter_by_set_key $remote_addr client::addr::$server_name; #IP-Statistiken anfordern location ~ ^/storage/(.+)/.*$ {
            setze $volume $1;
            vhost_traffic_status_filter_by_set_key $volume storage::$server_name; #Pfadstatistik anfordern}
        }
    }
   	########################### Serverebene: Sie können einen neuen Server erstellen oder die ursprüngliche Konfiguration ändern.##########################
}

6. Starten Sie Nginx

[root@k8s-n1-Pakete]# nginx
[root@k8s-n1-Pakete]# netstat -lntp|grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 62214/nginx: Master 
tcp 0 0 0.0.0.0:8088 0.0.0.0:* LISTEN 62214/nginx: Master 

Browserzugriff:
	172.23.0.243:80 # offizielle nginx-Standardseite 172.23.0.243:8088/status # nginx-Überwachungselementseite 

Bildbeschreibung hier einfügen

7. Monitoring mit Prometheus

  • Konfigurieren Sie prometheus.yml auf dem Prometheus-Server und starten Sie den Prometheus-Container neu.
  • metrics_path: definiert den Schnittstellensuffixtyp, der Standard ist /metrics
  • Das heißt, wenn wir IP+Port eingeben, fügt der Browser automatisch das Suffix /metrics hinzu
[root@k8s-m1 ~]# vim prometheus.yml
···
scrape_configs:
  - Jobname: "Nginx"
    metrics_path: '/status/format/prometheus'
    statische_Konfigurationen:
    - Ziele: ['172.23.0.243:8088']
···
[root@k8s-m1 ~]# Docker startet Prometheus neu

# Rufen Sie zu diesem Zeitpunkt die Prometheus-Verwaltungsseite auf, um die Überwachungselemente von Nginx abzufragen

8. Die Bedeutung der einzelnen Überwachungselemente

Nginx-module-vts bietet eine Vielzahl von Überwachungselementen. Wenn Sie die Bedeutung der Überwachungselemente verstehen, können Sie die erforderlichen Diagramme erstellen.

# HILFE nginx_vts_info Nginx-Info
# TYP nginx_vts_info Anzeige
nginx_vts_info{hostname="hbhly_21_205",version="1.16.1"} 1
# HILFE nginx_vts_start_time_seconds Nginx Startzeit
# TYP nginx_vts_start_time_seconds Messgerät
nginx_vts_start_time_seconds 1584268136.439
# HILFE nginx_vts_main_connections Nginx-Verbindungen
# TYP nginx_vts_main_connections Anzeige

# Anzahl der Nginx-Verbindungen nach Status nginx_vts_main_connections{status="accepted"} 9271
nginx_vts_main_connections{status="aktiv"} 7
nginx_vts_main_connections{status="behandelt"} 9271
nginx_vts_main_connections{status="Lesen"} 0
nginx_vts_main_connections{status="Anfragen"} 438850
nginx_vts_main_connections{status="wartet"} 6
nginx_vts_main_connections{status="schreiben"} 1
# HILFE nginx_vts_main_shm_usage_bytes Gemeinsam genutzter Speicher [ngx_http_vhost_traffic_status] info
# TYP nginx_vts_main_shm_usage_bytes Messgerät

# Speichernutzung nginx_vts_main_shm_usage_bytes{shared="max_size"} 1048575
nginx_vts_main_shm_usage_bytes{shared="verwendete_Größe"} 24689
nginx_vts_main_shm_usage_bytes{shared="verwendeter_Knoten"} 7
# HELP nginx_vts_server_bytes_total Die Anfrage/Antwort-Bytes
# TYP nginx_vts_server_bytes_total Zähler
# HILFE nginx_vts_server_requests_total Der Anfragenzähler
# TYP nginx_vts_server_requests_total Zähler
# HELP nginx_vts_server_request_seconds_total Die Anforderungsverarbeitungszeit in Sekunden
# TYP nginx_vts_server_request_seconds_total Zähler
# HELP nginx_vts_server_request_seconds Der Durchschnitt der Anforderungsverarbeitungszeiten in Sekunden
# TYP nginx_vts_server_request_seconds Messgerät
# HELP nginx_vts_server_request_duration_seconds Das Histogramm der Anforderungsverarbeitungszeit
# TYP nginx_vts_server_request_duration_seconds Histogramm
# HILFE nginx_vts_server_cache_total Der Anfragen-Cache-Zähler
# TYP nginx_vts_server_cache_total Zähler

# Ein- und ausgehender Datenverkehr des Hosts nginx_vts_server_bytes_total{host="10.160.21.205",direction="in"} 22921464
nginx_vts_server_bytes_total{host="10.160.21.205",direction="out"} 1098196005

# Anzahl der Anfragen nach Statuscode 1** 2** 3** 4** 5**
nginx_vts_server_requests_total{host="10.160.21.205",code="1xx"} 0
nginx_vts_server_requests_total{host="10.160.21.205",code="2xx"} 86809
nginx_vts_server_requests_total{host="10.160.21.205",code="3xx"} 0
nginx_vts_server_requests_total{host="10.160.21.205",code="4xx"} 2
nginx_vts_server_requests_total{host="10.160.21.205",code="5xx"} 0
nginx_vts_server_requests_total{host="10.160.21.205",code="total"} 86811

# Antwortzeit nginx_vts_server_request_seconds_total{host="10.160.21.205"} 0.000
nginx_vts_server_request_seconds{host="10.160.21.205"} 0,000

#Cache-Statistiken nach Status nginx_vts_server_cache_total{host="10.160.21.205",status="miss"} 0
nginx_vts_server_cache_total{host="10.160.21.205",status="bypass"} 0
nginx_vts_server_cache_total{host="10.160.21.205",status="abgelaufen"} 0
nginx_vts_server_cache_total{host="10.160.21.205",status="veraltet"} 0
nginx_vts_server_cache_total{host="10.160.21.205",status="aktualisieren"} 0
nginx_vts_server_cache_total{host="10.160.21.205",status="erneut validiert"} 0
nginx_vts_server_cache_total{host="10.160.21.205",status="treffer"} 0
nginx_vts_server_cache_total{host="10.160.21.205",status="knapp"} 0
nginx_vts_server_bytes_total{host="devapi.feedback.test",direction="in"} 3044526
nginx_vts_server_bytes_total{host="devapi.feedback.test",direction="out"} 41257028

# Statistik der Anzahl der Verbindungen nach Status nginx_vts_server_requests_total{host="devapi.feedback.test",code="1xx"} 0
nginx_vts_server_requests_total{host="devapi.feedback.test",code="2xx"} 3983
nginx_vts_server_requests_total{host="devapi.feedback.test",code="3xx"} 0
nginx_vts_server_requests_total{host="devapi.feedback.test",code="4xx"} 24
nginx_vts_server_requests_total{host="devapi.feedback.test",code="5xx"} 11
nginx_vts_server_requests_total{host="devapi.feedback.test",code="total"} 4018
nginx_vts_server_request_seconds_total{host="devapi.feedback.test"} 327.173
nginx_vts_server_request_seconds{host="devapi.feedback.test"} 0,000

# nginx Cache-Rechner, genau nach Status und Typ
nginx_vts_server_cache_total{host="devapi.feedback.test",status="miss"} 0
nginx_vts_server_cache_total{host="devapi.feedback.test",status="bypass"} 0
nginx_vts_server_cache_total{host="devapi.feedback.test",status="abgelaufen"} 0
nginx_vts_server_cache_total{host="devapi.feedback.test",status="veraltet"} 0
nginx_vts_server_cache_total{host="devapi.feedback.test",status="aktualisieren"} 0
nginx_vts_server_cache_total{host="devapi.feedback.test",status="erneut validiert"} 0
nginx_vts_server_cache_total{host="devapi.feedback.test",status="treffer"} 0
nginx_vts_server_cache_total{host="devapi.feedback.test",status="knapp"} 0
nginx_vts_server_bytes_total{host="testapi.feedback.test",direction="in"} 55553573
nginx_vts_server_bytes_total{host="testapi.feedback.test",direction="out"} 9667561188
nginx_vts_server_requests_total{host="testapi.feedback.test",code="1xx"} 0
nginx_vts_server_requests_total{host="testapi.feedback.test",code="2xx"} 347949
nginx_vts_server_requests_total{host="testapi.feedback.test",code="3xx"} 31
nginx_vts_server_requests_total{host="testapi.feedback.test",code="4xx"} 7
nginx_vts_server_requests_total{host="testapi.feedback.test",code="5xx"} 33
nginx_vts_server_requests_total{host="testapi.feedback.test",code="total"} 348020
nginx_vts_server_request_seconds_total{host="testapi.feedback.test"} 2185.177
nginx_vts_server_request_seconds{host="testapi.feedback.test"} 0,001
nginx_vts_server_cache_total{host="testapi.feedback.test",status="miss"} 0
nginx_vts_server_cache_total{host="testapi.feedback.test",status="bypass"} 0
nginx_vts_server_cache_total{host="testapi.feedback.test",status="abgelaufen"} 0
nginx_vts_server_cache_total{host="testapi.feedback.test",status="stale"} 0
nginx_vts_server_cache_total{host="testapi.feedback.test",status="aktualisieren"} 0
nginx_vts_server_cache_total{host="testapi.feedback.test",status="erneut validiert"} 0
nginx_vts_server_cache_total{host="testapi.feedback.test",status="treffer"} 0
nginx_vts_server_cache_total{host="testapi.feedback.test",status="knapp"} 0
nginx_vts_server_bytes_total{host="*",direction="in"} 81519563
nginx_vts_server_bytes_total{host="*",direction="out"} 10807014221

# Anforderungsstatistiken nach Host nginx_vts_server_requests_total{host="*",code="1xx"} 0
nginx_vts_server_requests_total{host="*",code="2xx"} 438741
nginx_vts_server_requests_total{host="*",code="3xx"} 31
nginx_vts_server_requests_total{host="*",code="4xx"} 33
nginx_vts_server_requests_total{host="*",code="5xx"} 44
nginx_vts_server_requests_total{host="*",code="total"} 438849
nginx_vts_server_request_seconds_total{host="*"} 2512.350
nginx_vts_server_request_seconds{host="*"} 0,007

# Host-Cache-Statistiken nginx_vts_server_cache_total{host="*",status="miss"} 0
nginx_vts_server_cache_total{host="*",status="bypass"} 0
nginx_vts_server_cache_total{host="*",status="abgelaufen"} 0
nginx_vts_server_cache_total{host="*",status="veraltet"} 0
nginx_vts_server_cache_total{host="*",status="aktualisieren"} 0
nginx_vts_server_cache_total{host="*",status="erneut validiert"} 0
nginx_vts_server_cache_total{host="*",status="treffer"} 0
nginx_vts_server_cache_total{host="*",status="knapp"} 0
# HELP nginx_vts_upstream_bytes_total Die Anfrage/Antwort-Bytes
# TYP nginx_vts_upstream_bytes_total Zähler
# HILFE nginx_vts_upstream_requests_total Der Upstream-Anforderungszähler
# TYP nginx_vts_upstream_requests_total Zähler
# HELP nginx_vts_upstream_request_seconds_total Die Anfrageverarbeitungszeit inklusive Upstream in Sekunden
# TYP nginx_vts_upstream_request_seconds_total Zähler
# HELP nginx_vts_upstream_request_seconds Der Durchschnitt der Anforderungsverarbeitungszeiten einschließlich Upstream in Sekunden
# TYP nginx_vts_upstream_request_seconds Messgerät
# HELP nginx_vts_upstream_response_seconds_total Die einzige Upstream-Antwortverarbeitungszeit in Sekunden
# TYP nginx_vts_upstream_response_seconds_total Zähler
# HELP nginx_vts_upstream_response_seconds Der Durchschnitt der ausschließlich Upstream-Antwortverarbeitungszeiten in Sekunden
# TYP nginx_vts_upstream_response_seconds Messgerät
# HELP nginx_vts_upstream_request_duration_seconds Das Histogramm der Anforderungsverarbeitungszeit einschließlich Upstream
# TYP nginx_vts_upstream_request_duration_seconds Histogramm
# HELP nginx_vts_upstream_response_duration_seconds Das Histogramm der einzigen Upstream-Antwortverarbeitungszeit
# TYP nginx_vts_upstream_response_duration_seconds Histogramm

# Upstream-Verkehrsstatistiken nginx_vts_upstream_bytes_total{upstream="::nogroups",backend="10.144.227.162:80",direction="in"} 12296
nginx_vts_upstream_bytes_total{upstream="::keineGruppen",backend="10.144.227.162:80",direction="out"} 13582924
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.144.227.162:80",code="1xx"} 0
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.144.227.162:80",code="2xx"} 25
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.144.227.162:80",code="3xx"} 0
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.144.227.162:80",code="4xx"} 0
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.144.227.162:80",code="5xx"} 0
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.144.227.162:80",code="total"} 25
nginx_vts_upstream_request_seconds_total{upstream="::keineGruppen",backend="10.144.227.162:80"} 1.483
nginx_vts_upstream_request_seconds{upstream="::nogroups",backend="10.144.227.162:80"} 0.000
nginx_vts_upstream_response_seconds_total{upstream="::keineGruppen",backend="10.144.227.162:80"} 1.484
nginx_vts_upstream_response_seconds{upstream="::keineGruppen",backend="10.144.227.162:80"} 0.000
nginx_vts_upstream_bytes_total{upstream="::keineGruppen",backend="10.152.218.149:80",direction="in"} 12471
nginx_vts_upstream_bytes_total{upstream="::keineGruppen",backend="10.152.218.149:80",direction="out"} 11790508
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.152.218.149:80",code="1xx"} 0
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.152.218.149:80",code="2xx"} 24
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.152.218.149:80",code="3xx"} 0
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.152.218.149:80",code="4xx"} 0
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.152.218.149:80",code="5xx"} 0
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.152.218.149:80",code="total"} 24
nginx_vts_upstream_request_seconds_total{upstream="::keineGruppen",backend="10.152.218.149:80"} 1.169
nginx_vts_upstream_request_seconds{upstream="::nogroups",backend="10.152.218.149:80"} 0.000
nginx_vts_upstream_response_seconds_total{upstream="::keineGruppen",backend="10.152.218.149:80"} 1.168
nginx_vts_upstream_response_seconds{upstream="::nogroups",backend="10.152.218.149:80"} 0.000
nginx_vts_upstream_bytes_total{upstream="::nogroups",backend="10.160.21.205:8081",direction="in"} 3036924
nginx_vts_upstream_bytes_total{upstream="::nogroups",backend="10.160.21.205:8081",direction="out"} 33355357
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.160.21.205:8081",code="1xx"} 0
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.160.21.205:8081",code="2xx"} 3971
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.160.21.205:8081",code="3xx"} 0
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.160.21.205:8081",code="4xx"} 24
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.160.21.205:8081",code="5xx"} 11
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.160.21.205:8081",code="total"} 4006
nginx_vts_upstream_request_seconds_total{upstream="::keineGruppen",backend="10.160.21.205:8081"} 326.427
nginx_vts_upstream_request_seconds{upstream="::nogroups",backend="10.160.21.205:8081"} 0.000
nginx_vts_upstream_response_seconds_total{upstream="::keineGruppen",backend="10.160.21.205:8081"} 300.722
nginx_vts_upstream_response_seconds{upstream="::nogroups",backend="10.160.21.205:8081"} 0,000
nginx_vts_upstream_bytes_total{upstream="::nogroups",backend="10.160.21.205:8082",direction="in"} 55536408
nginx_vts_upstream_bytes_total{upstream="::keineGruppen",backend="10.160.21.205:8082",direction="out"} 9650089427
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.160.21.205:8082",code="1xx"} 0
nginx_vts_upstream_requests_total{upstream="::nogroups",backend="10.160.21.205:8082",code="2xx"} 347912
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.160.21.205:8082",code="3xx"} 31
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.160.21.205:8082",code="4xx"} 7
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.160.21.205:8082",code="5xx"} 33
nginx_vts_upstream_requests_total{upstream="::keineGruppen",backend="10.160.21.205:8082",code="total"} 347983
nginx_vts_upstream_request_seconds_total{upstream="::keineGruppen",backend="10.160.21.205:8082"} 2183.271
nginx_vts_upstream_request_seconds{upstream="::keineGruppen",backend="10.160.21.205:8082"} 0,001
nginx_vts_upstream_response_seconds_total{upstream="::keineGruppen",backend="10.160.21.205:8082"} 2180.893
nginx_vts_upstream_response_seconds{upstream="::keineGruppen",backend="10.160.21.205:8082"} 0,001

9. Zielausdrucksabfrage in der Prometheus-Benutzeroberfläche

1) Typische Überwachungsindikatoren aus CAdvisor

Indikatorname Typ Bedeutung
Durchschnittliche CPU-Last des Containers 10 s Messgerät Durchschnittliche CPU-Auslastung des Containers in den letzten 10 Sekunden
Gesamt-CPU-Nutzung des Containers in Sekunden Schalter Kumulative Nutzungszeit des Containers auf jedem CPU-Kern (in Sekunden)
Container-CPU-Systemsekunden insgesamt Schalter Kumulierte System-CPU-Nutzungszeit (Einheit: Sekunden)
Container-CPU-Benutzersekunden insgesamt Schalter Kumulierte CPU-Nutzungszeit des Benutzers (Einheit: Sekunden)
container_fs_usge_bytes Messgerät Die Menge der Dateisystemnutzung im Container (in Bytes)
Containernetzwerk_empfangene_Bytes_total Schalter Gesamtmenge der vom Containernetzwerk empfangenen Daten (Einheit: Bytes)
Containernetzwerk_übertragen_Gesamtbyte Schalter Gesamtmenge der vom Container-Netzwerk übertragenen Daten (Einheit: Bytes)

2) Containerbezogen

# Container-CPU-Auslastung Summe(irate(container_cpu_usage_seconds_total{image!=""}[1m])) ohne (CPU)

# Container-Speichernutzung (Einheit: Bytes)
container_memory_usage_bytes{image!=""}

# Container-Netzwerk-Empfangsrate (Einheit: Bytes/Sekunde)
Summe(Rate(Container_Netzwerk_Receive_Bytes_Total{Image!=""}[1m])) ohne (Schnittstelle)

# Container-Netzwerkübertragungsrate sum(rate(container_network_transmit_bytes_total{image!=""}[1m])) ohne (Schnittstelle)

# Containerdateisystem-Leserate Summe(Rate(container_fs_reads_bytes_total{image!=""}[1m])) ohne (Gerät)

# Schreibrate des Containerdateisystems (Einheit: Bytes/Sekunde)
Summe(Rate(Container_fs_writes_bytes_total{image!=""}[1m])) ohne (Gerät)

3) HTTP-bezogen

# Gesamtzahl der HTTP-Anfragen prometheus_http_requests_total

#HTTP-Anfrage Dauer Sekunden Bucket prometheus_http_request_duration_seconds_bucket

# Dauer der HTTP-Anfrage in Sekunden prometheus_http_request_duration_seconds_count

# Die Summe der Dauer der HTTP-Anfragen in Sekunden prometheus_http_request_duration_seconds_sum

# HTTP-Antwortgröße in Bytes prometheus_http_response_size_bytes_bucket

# HTTP-Antwortgröße Byteanzahl Anzahl prometheus_http_response_size_bytes_count

# Die Summe der HTTP-Antwortgröße in Bytes prometheus_http_response_size_bytes_sum

4) Nginx-bezogen

# Nginxvts-Filterbytes insgesamt nginx_vts_filter_bytes_total

# Nginx VTS-Filtercache insgesamt nginx_vts_filter_cache_total

# Nginx VTS-Filteranforderung in Sekunden nginx_vts_filter_request_seconds

# Nginx VTS-Filteranforderung insgesamt in Sekunden nginx_vts_filter_request_seconds_total

# Gesamtzahl der Nginx VTS-Filteranforderungen nginx_vts_filter_requests_total

# Nginx-Informationen nginx_vts_info

# Nginx VTS-Hauptverbindung nginx_vts_main_connections

# Nginx VTS Haupt-SHM-Nutzungsbytes nginx_vts_main_shm_usage_bytes

# Nginx VTS-Server Gesamtbytes nginx_vts_server_bytes_total

# Nginx VTS-Server-Cache insgesamt nginx_vts_server_cache_total

# Nginx_vts-Serveranforderung in Sekunden nginx_vts_server_request_seconds

# Nginx_vts-Serveranforderung insgesamt in Sekunden nginx_vts_server_request_seconds_total

# Gesamtzahl von Nginx_vts Service Requests nginx_vts_server_requests_total

# Nginx VTS Startzeit in Sekunden nginx_vts_start_time_seconds

10. Installieren Sie Blackbox_exporter

  • Blackbox sammelt Service -Statusinformationen, z. B. festlegen
  • Blackbox_exporter ist einer der von Prometheus offiziell bereitgestellten Exporteure, die die Überwachungsdatenerfassung für HTTP, DNS, TCP und ICMP liefern können
Funktion:
HTTP -Test Definition Anforderung Anfrage Header Information Beurteilung HTTP -Status / HTTP -Antworten Header / HTTP -Körperinhalt TCP -Test Business -Komponenten -Status -Status -Überwachung Anwendungsschicht Protokoll Definition und Überwachung des ICMP -Test -Host -Erkennungsmechanismus	
Post -Test -Schnittstelle Konnektivität	
SSL-Zertifikat Ablaufzeit# Download und Decompress [root@11 prometheus]# WGet https://github.com/prometheus/blackbox_exporter/releases/download/v0.14.0/blackbox_exporter-0.14.0.linux-amd64.tar.gzzzz.
[root@11 prometheus]# tar -xvf Blackbox_exporter-0.14.0.linux-amd64.tar.gz
[root@11 prometheus]# MV Blackbox_exporter-0.14.0.Linux-amd64/usr/local/Blackbox_exporter

# Überprüfen Sie, ob die Installation erfolgreich ist.
Blackbox_exporter, Version 0.14.0 (Branch: Head, Revision: Bba7ef76193948a33a5868a1ab38b864f7d968a)
  Benutzer erstellen: root@63d11aa5b6c6
  Baudatum: 20190315-13: 32: 31
  Go Version: Go1.11.5

# JUCID SYSTEMSMANAGEMENT [root@11 prometheus]# cat /usr/lib/systemd/system/blackbox_exporter.service
[Einheit]
Beschreibung = Blackbox_exporter
 
[Service]
Benutzer=root
Typ=einfach
Execstart =/usr/local/schwarzbox_exporter/schwarzbox_exporter ---config.file =/usr/local/blackbox_exporter/schwarzbox.yml
Neustart=bei Fehler
[root@11 prometheus]# 

# Starten [root@11 prometheus]# Systemctl Daemon-Reload
[root@11 prometheus]# systemctl enable -now Blackbox_exporter

11.Docker bereitet das Nginx-Modul-VTS-Modul bereit

Da das von YUM installierte Nginx das Nginx-Modul-VTS-Modul standardmäßig nicht hat, müssen Sie den entsprechenden Nginx-Quellcode herunterladen und neu kompilieren.

Docker baut Konsulcluster (unvollendet)

1. Starten Sie den ersten Konsuldienst: conul1

Docker Run --Name Consul1 -d -p 8500: 8500 -P 8300: 8300 -P 8301: 8301 -P 8302: 8302 -p 8600: 8600 - -RESTART = Always Consul: Last Agent -server -Bootstrap -EXPECT 2 -UI -BIND = 0.0.0.0.0.0.0.0.0.

# Erhalten Sie die IP -Adresse von Consul Server1 Docker Inspect -Format '{{.NetworkSettings.ipaddress}}' Consul1
172.17.0.2

# PS:
    8500 HTTP -Port, verwendet für die HTTP -Schnittstelle und die Web -Benutzeroberfläche
    8300 Server -RPC -Port, Konsulserver im selben Rechenzentrum kommunizieren über diesen Port 8301 SERF LAN -Port, Konsul -Clients im selben Rechenzentrum kommunizieren über diesen Port 8302 SREF WAN -Port, Konsulserver in verschiedenen Rechenzentren kommunizieren über diesen Port 8600 DNS -Port, der für Service -Discovery -BBOstrape verwendet wird.
    -UI: Führen Sie die Webkonsole aus -Hören Sie den Netzwerkport, 0.0.0.0, alle Netzwerkports.

2. Starten Sie den zweiten Konsuldienst: Konsul2 und treten Sie Consul1 (mit dem Join -Befehl) ein (mit dem Join -Befehl).

Docker Run -d --Name conul2 -d -p 8501: 8500 Konsul Agent -server -ui -bind = 0,0,0,0 -client = 0,0,0,0 -join 172.17.0.2

docker run -d -p 8501:8500 --restart=always -v /XiLife/consul/data/server3:/consul/data -v /XiLife/consul/conf/server2:/consul/config -e CONSUL_BIND_INTERFACE='eth0' --privileged=true --name=consu2 consul agent -server -ui -node=consul2 -client='0.0.0.0' -datacenter=xdp_dc -data-dir /consul/data -config-dir /consul/config -join=172.17.0.2

3. Starten Sie den dritten Konsuldienst: Konsul3 und tret Consul1 bei

Docker Run --Name Consul3 -d -p 8502: 8500 Konsul Agent -server -ui -bind = 0,0,0,0 -client = 0,0,0,0 -join 172.17.0.2

4.. Zeigen Sie den laufenden Container an (Konsul -Cluster -Status).

[root@K8S -M1 -Konsul]# Docker Exec -it -Konsul1 -Konsulmitglieder
Knotenadress Statustyp Build -Protokoll -DC -Segment
013A4A7E74D2 172.17.0.4:8301 Alive Server 1.10.0 2 DC1 <Alls>
3c118fa83d47 172.17.0.3:8301 Alive Server 1.10.0 2 DC1 <Alls>
4B5123C97C2B 172.17.0.5:8301 Alive Server 1.10.0 2 DC1 <Alls>
A7D272AD157A 172.17.0.2:8301 Alive Server 1.10.0 2 DC1 <Alls>

5. Service Registrierung und Entfernung

  • Als nächstes müssen wir den Dienst an Consul registrieren, der über die von Consul bereitgestellte Standard -API -Schnittstelle hinzugefügt werden kann
  • node-exporter Sie node-exporter einen Testdienst.
# 注冊241的node-exporter 服務信息curl -X PUT -d '{"id": "node-exporter","name": "node-exporter-172.23.0.241","address": "172.23.0.241","port": 9100,"tags": ["prometheus"],"checks": [{"http": "http://172.23.0.241:9100/metrics", "interval": "5s"}]}' http://172.23.0.241:8500/v1/agent/service/register

#Registrieren Sie die Node-Exporter-Serviceinformationen von 242. Ändern Sie alle oben genannten IP-Adressen auf 242 und halten Sie den Port unverändert.

Wenn Sie einen Dienst Deregister haben möchten, können Sie den folgenden API-Befehl zum Beispiel verwenden, um node-exporter -Dienst zu Deregister zu machen:

curl -x put http://172.23.0.241:8500/v1/agent/service/deregister/node-exporter

Anhang: Aktualisierung des CentOS6 -Kernels

rpm -uvh https://hkg.mirror.rackspace.com/elrepo/kernel/el6/x86_64/rpms/elrepo-release-6-12.el6.elrepo.noarch.rpm

YUM -Quellfehlerlösung: Die Spiegelquelle CD /etc/yum.repos.d kann nicht ermittelt werden
MV Centos-Base.Repo Centos-Base.Repo.Backup
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS6-Base.repo
lecker, alles sauber machen
wget -o /etc/yum.repos.d/centos-base.repo http://file.kangle.odata.cc/repo/centos-6.repo
wget -o /etc/yum.repos.d/epel.repo http://file.kangle.odata.cc/repo/epel-6.repo
yum makecache

Dies ist das Ende dieses Artikels über die Bereitstellung von Prometheus mit Docker.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung des Prozesses zum Erstellen von Prometheus + Grafana basierend auf Docker
  • Stellen Sie die Grafana+Prometheus-Konfiguration mit Docker bereit

<<:  Empfehlen Sie einige nützliche Lernmaterialien für Neulinge im Webdesign

>>:  Wie verstecke ich einen bestimmten Text in HTML?

Artikel empfehlen

Vue realisiert Web-Online-Chat-Funktion

In diesem Artikelbeispiel wird der spezifische Co...

Einfache Analyse von EffectList in React

Inhaltsverzeichnis EffectList-Sammlung Effektlist...

So starten Sie ein Vue.js-Projekt

Inhaltsverzeichnis 1. Node.js und Vue 2. Führen S...

Fügen Sie Linux eine Startmethode hinzu (Dienst/Skript)

Konfigurationsdatei, die beim Systemstart geladen...

So stellen Sie ElasticSearch in Docker bereit

1. Was ist ElasticSearch? Elasticsearch wird eben...

Verwendung des Linux-Befehls ln

1. Befehlseinführung Mit dem Befehl ln werden Lin...

Gogs+Jenkins+Docker automatisierte Bereitstellung von .NetCore-Schritten

Inhaltsverzeichnis Umgebungsbeschreibung Docker-I...

So gehen Sie mit verstümmelten Zeichen in der MySQL-Datenbank um

In MySQL können in der Datenbank fehlerhafte Zeic...

Detailliertes Tutorial zum PyCharm- und SSH-Remote-Access-Server-Docker

Hintergrund: Einige Experimente müssen auf dem Se...

Analyse des Problems der Hyper-V-Installation unter CentOS 8

CentOS 8 ist schon seit längerem auf dem Markt. A...

Grafisches Tutorial zur Installation und Konfiguration von MySQL (CentOS7)

1. Systemumgebung [root@localhost-Startseite]# ca...

Detaillierte Analyse von Absturzfällen bei MySQL-Instanzen

[Problembeschreibung] Unsere Produktionsumgebung ...