El sistema de monitoreo Prometheus + Grafana coopera con Cadvisor para monitorear los contenedores Docker

Prometheus usa ca 0000- para monitorear los contenedores de la ventana acoplable

1. Descripción general de Cadvisor

Por lo general, las empresas tienen muchos hosts de la ventana acoplable, por lo que debe monitorear la ventana acoplable. El monitoreo de la ventana acoplable puede usar las estadísticas de la ventana acoplable con comandos de shell para obtener el valor de la supervisión, pero no se puede pasar a prometheus para su recopilación. La ventana acoplable de monitoreo de Zabbix es más problemática, por lo que existe la categoría de Google

Cadvisor no solo puede recopilar toda la información del contenedor en ejecución en una máquina, sino que también proporciona la interfaz http de la interfaz de consulta básica, que es conveniente para que prometheus capture datos.

Cadvisor puede realizar monitoreo en tiempo real y recopilación de datos de rendimiento en los recursos y contenedores en máquinas de nodo, incluido el uso de CPU, el uso de memoria, el rendimiento de la red y el uso del sistema de archivos. Sin embargo, ca went tiene una falla y solo puede mostrar los datos de monitoreo actuales en tiempo real ., Los datos cronológicos no se conservan, por lo que ca 0000- debe estar conectado a prometheus, y los datos cronológicos se almacenan en la base de datos tsdb incorporada de prometheus.

Cadvisor usa cgroups de Linux para obtener el uso de recursos del contenedor, integrado en k8s, y la configuración estándar oficial

Cadvisor debe instalarse en cada host de la ventana acoplable

Docker monitorea principalmente la memoria del contenedor, la CPU, el disco y la tarjeta de red

Comandos para monitorear el rendimiento del contenedor usando las estadísticas de Docker

[root @ 192_168_81_220 docker] # docker stats --no-stream dangerous_moser
NOMBRE DE ID DE CONTENEDOR CPU% MEM USAGE / LIMIT MEM% NET I / O BLOCK I / O PIDS
e265e173ac98 nervioso_moser 0.00% 5.605MiB / 972.6MiB 0.58% 2.42kB / 0B 27,3 MB / 22,5 kB 2

Finalmente, coopere con grafana para mostrar el efecto de monitorear los contenedores de la ventana acoplable.
Puede ver claramente la CPU, el uso de memoria de cada contenedor y la cantidad de contenedores que se ejecutan en cada host en la figura.
Inserte la descripción de la imagen aquí

2. Preparación ambiental

IP Nombre de la CPU Servicio
192.168.81.210 servidor prometheus prometeo 、 grafana
192.168.81.220 192_168_81_220 docker 、 ca went
192.168.81.230 192_168_81_230 docker 、 ca went

3. Implementar Docker en el servidor de Docker.

Los servidores 192.168.81.220/92.168.81.230 necesitan ser operados

1.获取镜像源
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
 
sed -i 's#download.docker.com#mirrors.tuna.tsinghua.edu.cn/docker-ce#' /etc/yum.repos.d/docker-ce.repo 

yum makecache fast

2.安装docker
yum -y install docker-ce
systemctl start docker
systemctl enable docker

3.配置镜像加速器
 tee /etc/docker/daemon.json <<-'EOF'
{
   "registry-mirrors": ["https://zggyaen3.mirror.aliyuncs.com"]
}
EOF


4.启动docker
systemctl restart docker

5.简单运行一个容器
docker run -d nginx:latest

Monitoreo de instalación de Docker

4.1. Instalar ca went

Todas las operaciones en el host de la ventana acoplable, los servidores 192.168.81.220/92.168.81.230 deben funcionar

docker run \
  --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=8080:8080 \
  --detach=true \
  --name=cadvisor \
  google/cadvisor:latest
  
注释:   --volume=/:/rootfs:ro 		#将/目录挂载到容器的/rootfs,权限为读
	    --volume=/var/run:/var/run:rw 	#将/var/run挂载到容器的/var/run目录,权限为读写
	    其他的volume都是这个意思,ro为读,rw为读写
	    --volume=/var/lib/docker/:/var/lib/docker:ro			#这个是将宿主机的docker目录挂载到容器,因为cadvisor需要监控所有容器,因此需要挂载
	    --publish=8080:8080 		#开放公共端口

El efecto final es que ambas máquinas han iniciado la duplicación de nginx y ca 0000-

Inserte la descripción de la imagen aquí

4.2. Visite ca went para ver los datos de seguimiento

Visite http: // host ip: 8080j

Inserte la descripción de la imagen aquí

4.3. Ver la información de seguimiento de un contenedor determinado

Haga clic en la página de inicio / ventana acoplable y, después de saltar, podrá ver la lista de contenedores debajo de los subcontenedores. Los ID de contenedor que se muestran a continuación son todos los ID de contenedor. Puede usar docker ps para ver el contenedor específico

Inserte la descripción de la imagen aquí

Después de abrir, puede ver un indicador de monitoreo de contenedor específico

Inserte la descripción de la imagen aquí

También puedes ver la imagen

Inserte la descripción de la imagen aquí

4.4.página de índice de seguimiento de ca went

Simplemente visite http: // host ip: 8080 / metrics
Inserte la descripción de la imagen aquí

5.prometheus agregar monitorización de ca went

5.1.instalación de Prometheus

二进制安装详细看上一篇文章
docker安装
[root@prometheus-server ~]# docker run -d -p9090:9090  -v /data/prom/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus:latest 

5.1. Modificar el archivo de configuración de prometheus

1.修改配置文件增加docker监控cadvisor
[root@prometheus-server ~]# vim /etc/prometheus/prometheus.yml 
  - job_name: "docker"
    static_configs:
    - targets: ['192.168.81.220:8080','192.168.81.230:8080']
2.刷新配置
[root@prometheus-server ~]# curl -X POST http://127.0.0.1:9090/-/reload

El host de supervisión de Docker está activo

Inserte la descripción de la imagen aquí

Verifique los elementos de monitoreo, el comienzo del contenedor está monitoreando

Inserte la descripción de la imagen aquí

6.prometheus + grafana realiza la monitorización y visualización gráfica de contenedores docker

6.1. Una grafana vestida

[root@prometheus-server ~]# rpm -ivh grafana-6.3.2-1.x86_64.rpm 
[root@prometheus-server ~]# systemctl start grafana-server
[root@prometheus-server ~]# systemctl enable grafana-server

Visite http: // dirección del servidor: 3000

Inserte la descripción de la imagen aquí

6.1. Agregar fuente de datos prometheus

Haga clic en Agregar fuente de datos

Inserte la descripción de la imagen aquí

Elige prometeo

Inserte la descripción de la imagen aquí

Complete la dirección de prometheus

Inserte la descripción de la imagen aquí

6.2. Importar plantilla gráfica de supervisión de Docker

6.2.1. Haga clic en el signo +: importar

Inserte la descripción de la imagen aquí

6.2.2. Complete la identificación de la plantilla de monitoreo

Complete el número de identificación de la plantilla de monitoreo aquí, la plantilla de monitoreo de Docker No. 193 es mejor

Inserte la descripción de la imagen aquí

6.2.3. Seleccionar fuente prometheus

Después de completar el número de identificación, la plantilla correspondiente se encontrará automáticamente

Seleccione la fuente de prometheus correspondiente y haga clic en importar

Inserte la descripción de la imagen aquí

6.3. Ver gráficos

Elija el monitoreo de Docker

Inserte la descripción de la imagen aquí

El problema de esta plantilla es que no puede ver los contenedores en un host específico, sino que enumera todos los contenedores del host de la ventana acoplable aquí.
Inserte la descripción de la imagen aquí

7. Puede elegir la importación de la plantilla del host de la ventana acoplable.

Finalmente encontré una plantilla de monitoreo de Docker que puede seleccionar el host en grafana.

Enlace de descarga https://grafana.com/api/dashboards/8321/revisions/3/download

Después de importar este valor nominal
Inserte la descripción de la imagen aquí

8. El efecto final

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_44953658/article/details/111629225
Recomendado
Clasificación