Monitoreo de contenedores Docker

Introducción: dirección oficial del sitio web: haga clic aquí para desarrollar en función del lenguaje go. Habrá una introducción detallada más adelante, aquí principalmente para el monitoreo de Docker

 Introducción de componentes:

Introducción de componentes Función
Servidor Prometheus Se utiliza principalmente para capturar datos y almacenar datos de series de tiempo, y también proporciona consultas y gestión de configuración de reglas de alerta.
bibliotecas cliente Se utiliza para conectarse al servidor Prometheus y puede consultar e informar datos.
empujar puerta de enlace Nodo de agregación para datos de monitoreo por lotes y a corto plazo, utilizado principalmente para informes de datos comerciales, etc.
exportadores Se usa para informar datos, como node_exporter para informar datos de la máquina, exportador de MongDB para informar información de MongDB, etc.
gerente de envejecimiento Utilizado para la gestión de notificaciones de alarma.

Monitor docker

Nuestro nodo de monitoreo usa docker para iniciar la duplicación, y Prometheus usa la instalación binaria.

Dirección de planificación:

Nombre de host dirección ip Papel Componentes
docker01 10.0.0.11 Cliente asesor de node_exporter
docker02 10.0.0.12 Cliente asesor de node_exporter
docker03 10.0.0.13 Servidor Prometeo grafana

Cliente:

Dirección del componente Node_exporter: https://github.com/prometheus/node_exporter

Dirección del componente de cadvisor: https://github.com/google/cadvisor

# pull mirror 
docker pull google / cadvisor: último <--- monitor container 
docker pull prom / node-exporter <--- monitor hardware 
# start node - exportador e iniciar cadvisor 
docker run -d -p 9100 : 9100    -v " / : / host: ro, rslave " --name    = node_exporter quay.io/prometheus/node-exporter --path.rootfs / host 

docker run --volume = /: / rootfs: ro --volume = / var / run: / var / RUN: RW = --volume / SYS: / SYS: RO --volume = / var / lib / acoplable /: / var / lib / acoplable: RO --publish = 8080 : 8080 --detach = true - -name = cadvisor google / cadvisor: último

Servidor:

Dirección de descarga: https://prometheus.io/download/

# Instale Prometheus
 wget https: // github.com/prometheus/prometheus/releases/download/v2.17.1/prometheus-2.17.1.linux-amd64.tar.gz 
tar xf prometheus- 2.17 . 1. .linux-amd64. Tar .gz 

[root @ docker03 prometheus - 2.17 . 1 .linux -amd64] # ls 
console_libraries consoles AVISO DE LICENCIA prometheus prometheus.yml promtool tsdb 

# Contenido del archivo de configuración 
cat prometheus.yml 
# my global config 
global: 
  # Recopile datos cada 15 s 
  scrape_interval: 15s # Establece el intervalo de raspado en cada 15 segundos. El valor predeterminado es cada1 minuto 
  # 每 15s 做 一次 告警 测试 Evaluation_interval 
  : 15s # Evalúa las reglas cada 15 segundos. El valor predeterminado es cada 1 minuto. 
  # scrape_timeout se establece en el valor predeterminado global (10 s). 

# Alertas de configuración de Alertmanager 
: 
  alertmanagers:
   - static_configs:
     - objetivos: 
      # - alertmanager: 9093 

# Cargue las reglas una vez y evalúelas periódicamente de acuerdo con el ' evaluación_intervalo ' global . 
archivos_reglas: 
  # - " first_rules.yml " 
  # - "second_rules.yml " 

# A rascado de configuración que contiene exactamente un punto final para raspar: 
# Aquí ' s Prometheus sí mismo. 
scrape_configs: 
  # El nombre de trabajo se añade como una etiqueta` trabajo = <job_name> . `para cualquier timeseries raspadas de esta config 
    #静态的指定一个监控目标
   - jOB_NAME: ' Prometheus ' 
    static_configs:
     - objetivos: [ ' localhost: 9090 ' ]
   - jOB_NAME: ' nodo-exportador ' 
    static_configs:
     - objetivos: [ ' 10.0.0.11:9100 ' , ' 10.0.0.12 :9100 ']
   - job_name: ' Nodo-Exportador ' 
    static_configs:
     - Objetivos: [ ' 10.0.0.11:8080 ' , ' 10.0.0.12:8080 ' ] 
    
    
### para iniciar el contenedor 
. . / Prometeo --config Archivo = " prometheus.yml " 
### Inicie sesión en Prometheus: ip: 9090

Página:

grafana 出 图

Debido a que el dibujo de Prometeo es demasiado feo, aquí usamos directamente grafana para dibujar, aquí usamos la descarga de la fuente Tsinghua: haga clic aquí Si desea descargar la dirección en el sitio web oficial: haga clic aquí

Descargar paquete rpm #
 wget HTTPS: // mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/grafana-6.7.2-1.x86_64.rpm 
yum  install grafana- 6.7 . 2 - 1 .x86_64.rpm - y 

# start grafana 
systemctl start grafana - server.service 
systemctl enable grafana - server.service 
# access 
login ip: puerto 3000

Página:

Modelo de colocación

Dirección de descarga de la plantilla: haga clic aquí Aquí descargamos la versión china del exportador de nodos

Haga clic en la imagen para elegir agregar una plantilla, luego haga clic en la fuente de datos a monitorear y finalmente la imagen muestra:

Supongo que te gusta

Origin www.cnblogs.com/Mercury-linux/p/12731029.html
Recomendado
Clasificación