Descripción general de Prometheus y servicios de integración de implementación

1. Descripción general de Prometeo

Prometheus es una combinación de bases de datos de monitoreo, alarmas y series temporales de código abierto. Adecuado para monitorear contenedores Docker. Debido a que la popularidad de Kubernetes ha impulsado el desarrollo de Prometheus,
sitio web oficial: https://prometheus.io/

2. Datos de series temporales

1. ¿Qué son los datos de secuencia?

Datos de series de tiempo: los datos que registran cambios en el estado del sistema y del equipo en orden cronológico se denominan datos de series de tiempo.
Hay muchos escenarios de aplicación: como

  • La longitud, latitud, velocidad, dirección, distancia lateral, etc. que deben registrarse durante el funcionamiento del vehículo sin conductor.
  • Datos de trayectoria de conducción de cada vehículo en una zona determinada.
  • Datos de transacciones en tiempo real de la industria de valores tradicional
  • Datos de monitoreo de operación y mantenimiento en tiempo real, etc.

2. Características de los datos de series temporales

  • Buen rendimiento:
    las bases de datos relacionales tienen un rendimiento deficiente para procesar datos a gran escala. NoSQL puede manejar mejor datos a gran escala, pero aún no es tan bueno como las bases de datos de series temporales.
  • Bajo costo de almacenamiento y
    algoritmo de compresión eficiente, que ahorra espacio de almacenamiento y reduce eficazmente la E/S

3.Características principales de Prometeo

  • Modelo de datos multidimensional
  • lenguaje de consulta flexible
  • No depende del almacenamiento distribuido, los nodos de servidores individuales son autónomos
  • Utilice HTTP para extraer datos de series temporales a través del modelo Pull
  • Los modelos push también se pueden admitir a través de puertas de enlace intermedias.
  • Descubra objetos de servicio de destino mediante el descubrimiento de servicios o la configuración estática
  • Admite una variedad de iconos y pantallas de interfaz

4.Diagrama de arquitectura del principio de Prometheus

Pasos de implementación del servicio (según el entorno de Docker, implementar y monitorear contenedores locales y monitorear recursos de contenedores entre locales)

Requiere dos máquinas virtuales

La primera

root@ubuntu20:~# ventana acoplable extrae google/cadvisor

Ejecutar contenedor

root@ubuntu20:~# ejecución de ventana acoplable \

> --volume=/var/run:/var/run:ro \

> --volume=/sys:/sys:ro \

> --volume=/var/lib/docker/:/var/lib/docker:ro \

> --volume=/dev/disk/:/dev/disk:ro \

> --publicar=8080:8080 \

> --detach=verdadero \

> --nombre=cadvisor\

> --privilegiado \

> --dispositivo=/dev/kmsg \

> google/cadvisor

 Ver el estado del puerto

 Acceso al navegador

 Ven al segundo canal.

root@ubuntu20:~# docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --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 -- privilegiado --device=/dev/kmsg google/cadvisor

Descargar imagen

Operaciones que deben realizarse en ambos hosts

root@ubuntu20:~# docker pull prom/node-exporter

La primera:

Descargar imagen

root@ubuntu20:~# docker pull prom/Prometheus

root@ubuntu20:~# ventana acoplable extrae grafana/grafana

 root@ubuntu20:~# docker run -d -p 9100:9100 --volume /proc/:/host/proc --volume /sys:/host/sys --volume /:/roofs --name node-exporter prom /node-exporter --path.procfs /host/proc --path.sysfs /host/sys --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($$ |/)"

Ver el estado del puerto 

 Segunda estación:

realizar lo mismo

docker run -d -p 9100:9100 --volume /proc/:/host/proc --volume /sys:/host/sys --volume /:/roofs --name node-exporter prom/node-exporter -- path.procfs /host/proc --path.sysfs /host/sys --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($$|/)"

 

 Ver puerto

 La primera

raíz@ubuntu20:~# vim prometheus.yml

Añadir:

global:

  scrape_interval: 15s # De forma predeterminada, raspa los objetivos cada 15 segundos.

  # Adjunte estas etiquetas a cualquier serie temporal o alerta cuando se comunique con # sistemas externos (federación, almacenamiento remoto, Alertmanager).

  etiquetas_externas:

    monitor: 'codelab-monitor'

# Una configuración de raspado que contiene exactamente un punto final para raspar:

# Aquí está el propio Prometeo.

scrape_configs:

  # El nombre del trabajo se agrega como una etiqueta `job=<job_name>` a cualquier serie temporal extraída de esta configuración.

  - nombre_trabajo: 'prometeo'

    configuraciones_estáticas:

            - objetivos: ['192.168.0.143:9090','192.168.0.143:9100','192.168.0.143:8080','192.168.0.141:8080','192.168.0.141:9100']

correr

root@ubuntu20:~# docker run -d -p 9090:9090 --volume /root/prometheus.yml:/etc/prometheus/prometheus.yml --name prometheus prom/Prometheus

 Ver puerto

Acceso al navegador

http://192.168.0.143:9090/

 

 

 Construir con éxito

A continuación continuamos implementando la página gráfica (implementada en el primer servidor)

root@ubuntu20:~# docker run -d -p 3000:3000 -e "GF_SECURITY_ADMIN_PASSWORD=123456" grafana/grafana

 Verificar el estado del puerto

 

Cuenta predeterminada: administrador   

La contraseña es: 123456

 

Haga clic en el primer prometheus para configurarlo.

 

 

Guardar en la parte inferior

 Luego vaya al sitio web oficial de grafana para descargar el archivo json del dial de monitoreo

​​​​​​Paneles de control | Laboratorios Grafana

 

Paneles de búsqueda

 

 

 

Descargar archivo json a local

Regrese a Prometheus y busque importar, configurar y agregar el archivo json.

 

 

 

OK 

Supongo que te gusta

Origin blog.csdn.net/weixin_53053517/article/details/132407447
Recomendado
Clasificación