GNU/Linux >> Tutoriales Linux >  >> Linux

Monitoree el servidor Linux usando Prometheus y Grafana

Resumen

Monitoree el servidor Linux usando Prometheus y Grafana. Vamos a cubrir el proceso sobre cómo monitorear un servidor Linux con Prometheus y Grafana usando Docker. La configuración completa se instalará y configurará en Debian 10 Buster y Docker, pero esto también se puede hacer y funcionará en el servidor Ubuntu o en cualquier otra distribución de Linux que ejecute Docker. Con esta configuración, podremos rastrear y monitorear los recursos en nuestro servidor (máquina host):uso de CPU, uso de RAM, SWAP, red, espacio en disco, etc.

Pequeño aviso – Nos gustaría mencionar otra solución de monitoreo en el mundo de TI, para brindarle opciones que se adapten a sus necesidades, que tiene características de nivel empresarial y aún es de código abierto (si lo necesita) y esa es Zabbix. Cubrimos el proceso de instalación y configuración en esta publicación.

Requisitos

Esta configuración requiere tener Docker instalado y ejecutándose en su máquina. Puede consultar este enlace para instalar Docker en Debian o consultar la documentación oficial de Docker.

Otra forma de instalar Docker es mediante el script oficial de instalación automática de Docker que está alojado en Docker.

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Cómo monitorear un servidor Linux usando Prometheus, Grafana y Docker

Instalar exportador de nodos

1. Después de instalar y ejecutar Docker, el primer paso de la configuración es instalar la herramienta Node Exporter. Node Exporter es la parte del monitor de Prometheus y su propósito es recopilar todos los datos de su máquina para que Prometheus pueda recuperarlos. Node Exporter también viene en un contenedor Docker, por lo que la configuración será sencilla.

docker run -d --net="host" --pid="host" -v "/:/host:ro,rslave" quay.io/prometheus/node-exporter:latest --path.rootfs=/host

Puede verificar fácilmente si el exportador de nodos se está ejecutando correctamente. En el navegador, abra la URL del exportador de nodos:http://dirección-ip-de-su-servidor:9100 y si ve una métrica de directorio con datos llenándose, significa que está funcionando.

Otra forma de probarlo es con el comando:

curl localhost:9100/metrics

o

curl http://your-server-ip-address:9100/metrics

Cree una configuración YAML de Prometheus

2. Ahora necesitamos crear un archivo de configuración YAML de Promethes. Cree este archivo donde desee colocarlo en el servidor, pero por el bien de la publicación, colóquelo en el directorio de inicio.

Puedes hacer este paso así:

sudo touch ~/prometheus/prometheus.yml
sudo nano ~/prometheus/prometheus.yml

o simplemente de inmediato

sudo nano ~/prometheus/prometheus.yml

y luego pegue la configuración y guarde el archivo y salga.

global:
scrape_interval: 5s
external_labels:
monitor: 'node'
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['192.168.100.252:9090']
- job_name: 'node-exporter'
static_configs:
- targets: ['192.168.100.252:9100']

En la variable de objetivos, escriba la dirección IP de su servidor.

Implementar el contenedor Docker de Prometheus

3. El siguiente paso es instalar Prometheus, también con Docker. Ejecute el siguiente comando y tenga cuidado con la ruta al archivo prometheus.yml:

docker run -d --name prometheus -p 9090:9090 -v ~/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

Vamos a desglosar el comando para explicarlo con más detalles:

  • docker run -d –name prometheus -p 9090:9090 – esta parte del comando debería ser comprensible para muchos – ejecute una imagen de Docker, asígnele el nombre prometheus y exponga el puerto de contenedor 9090 al mismo puerto en el servidor host.
  • -v ~/prometheus/prometheus/yml:/etc/prometheus/prometheus/yml:esta es la parte más importante del comando al instalar prometheus. En esta parte del comando, le estamos diciendo a Prometheus que use el archivo prometheus.yml que creamos en el paso anterior y donde se encuentra en el servidor host (directorio de inicio en este ejemplo) para configurarse con los parámetros que tenemos. set y colocar el mismo archivo de configuración en el directorio /etc del contenedor Prometheus Docker.
  • prom/prometheus:esta es una variable para Docker cuya imagen de Docker se descarga e instala desde Docker.

También puede verificar si Prometheus se está ejecutando a través del navegador web abriendo también la dirección IP de su servidor con el puerto 9090. Debería obtener un resultado como el de las siguientes imágenes:

Implementar contenedor Grafana Docker

4. Ahora podemos instalar Grafana. También usaremos Grafana con el contenedor Docker.

docker run -d --name=grafana -p 3456:3000 grafana/grafana

Acceda a Grafana en su navegador web. Le pedirá que inicie sesión de inmediato. El nombre de usuario y la contraseña predeterminados son admin. Es un inicio de sesión temporal. Tan pronto como inicie sesión, Grafana le pedirá que cambie la contraseña de inmediato.

Cree una fuente de datos y un tablero

Después del inicio de sesión, debemos crear un panel de control y crear una nueva fuente de datos que utilizará Grafana. Entonces, primero crearemos la fuente de datos. Justo en la página de inicio de Grafana, haga clic en la opción Agregar su primera fuente de datos.

Elija que la opción de fuente de datos sea Prometheus:será la primera opción disponible de inmediato.

Nombre la fuente de datos como desee. En el campo de entrada de URL, escriba la dirección IP de su servidor con el puerto Prometheus 9090 y HTTP. Como en la imagen de abajo.

Guarde y pruebe la fuente de datos, si todo está bien, aparecerá un mensaje indicando que la fuente de datos está funcionando.

Ahora para configurar nuestro panel de control del monitor del servidor. Puede crear un nuevo tablero desde cero de la forma que desee (lleva tiempo), pero también puede consultar el sitio de Grafana y ver los tableros ya creados por la comunidad de Grafana. En este ejemplo, haremos exactamente eso, importar un tablero existente. Hay muchos paneles de Grafana para la supervisión del servidor que utilizan Prometheus y Node Exporter. El que vamos a usar para este ejemplo es este.

Entonces, una vez que vaya a la opción de importar tablero, solo tenemos que escribir la ID del tablero del sitio de Grafana; en este ejemplo, es 1860. Asigne un nombre al tablero y también a la parte importante:seleccione Prometheus como fuente de datos para esto. panel. Luego simplemente haga clic en el botón de importación y eso es todo, el resultado final que se muestra a continuación en el tablero.

Al final de la configuración, deberíamos poder monitorear el servidor Linux usando Prometheus y Grafana, todos ejecutándose en Docker.

Resumen

Este fue el proceso de cómo configurar el monitoreo del servidor y cómo monitorear el servidor Linux usando Prometheus y Grafana y Docker. Esta puede ser una configuración de monitoreo realmente poderosa, ya que puede monitorear contenedores Docker, múltiples servidores host y también configurar notificaciones por correo electrónico de Prometheus.

Muchas gracias por su tiempo y espero que haya encontrado útil la publicación...


Linux
  1. Comunicación entre procesos en Linux:sockets y señales

  2. Estado del sistema y del servidor

  3. ¿Qué es Docker (y los contenedores de Linux?)

  4. Instalación y configuración de Grafana en Linux

  5. Usando kbhit() y getch() en Linux

Monitoree y administre servidores Linux usando Cockpit a través del navegador web

Cómo monitorear cambios de archivos usando fswatch en Linux

Cómo monitorear el servidor Linux y las métricas desde el navegador usando Scout Realtime

30 herramientas y servicios interesantes para monitorear sus servidores Linux

Uso de Ajenti en la gestión de servidores Linux

Cómo configurar el servidor y el cliente VPN de Linux usando OpenVPN