Prometheus es un sistema de código abierto y una herramienta de monitoreo y alerta de servicios que se utiliza para registrar servicios en tiempo real y recopilar métricas en una base de datos de series temporales. Está escrito en Go y tiene la licencia de Apache 2 desarrollada originalmente por SoundCloud.
En este tutorial, le mostraremos cómo instalar Prometheus en el servidor Ubuntu 20.04, lo cual se puede hacer fácilmente si lo sigue paso a paso.
Requisitos:
- Para los propósitos de este tutorial, usaremos un VPS Ubuntu20.04.
- Acceso a la cuenta de usuario raíz (o un usuario con privilegios sudo)
Paso 1:Inicie sesión en el servidor y actualice los paquetes del sistema operativo del servidor
Primero, inicie sesión en su servidor Ubuntu 20.04 a través de SSH como usuario raíz:
ssh root@IP_ADDRESS -p PORT_NUMBER
No olvide reemplazar IP_Address y Número_de_puerto con la dirección IP real de su servidor y el número de puerto SSH. Además, debe reemplazar 'root' con el nombre de usuario de la cuenta de administrador si es necesario.
Una vez que esté dentro, ejecute los siguientes comandos para actualizar el índice del paquete y actualice todos los paquetes instalados a la última versión disponible
apt-get update apt-get upgrade
Paso 2. Creación de usuarios y directorio del sistema Prometheus
El servidor Prometheus requiere una cuenta de usuario de servicio para ejecutarse. Puede nombrar a su usuario como quiera, pero crearemos un usuario llamado prometheus
. Este usuario será un usuario del sistema (-r
) que no podrá obtener un shell (-s /bin/false
)
useradd --no-create-home -rs /bin/false prometheus
Además, necesitamos crear directorios para archivos de configuración y otros datos de Prometheus.
mkdir /etc/prometheus mkdir /var/lib/prometheus
Ahora tendremos que actualizar la propiedad del grupo y del usuario en los directorios recién creados.
chown prometheus:prometheus /etc/prometheus
chown prometheus:prometheus /var/lib/prometheus
Paso 3. Descargar el archivo binario de Prometheus
Prometheus se incluye de forma predeterminada en los repositorios de Ubuntu 20.04.
apt-cache policy prometheus
prometheus: Installed: (none) Candidate: 2.15.2+ds-2 Version table: 2.15.2+ds-2 500 500 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
Sin embargo, es posible que la versión de lanzamiento de Prometheus proporcionada por los repositorios predeterminados de Ubuntu no esté actualizada. Al momento de escribir este artículo, la última versión estable de Prometheus es la 2.30.3.
Pero antes de descargar, visite la página oficial de descargas de Prometheus y verifique si hay una nueva versión disponible.
Puedes descargarlo usando el siguiente comando:
wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz
Una vez descargado el tarball, verifique la suma de comprobación del tarball con el siguiente comando:
sha256sum prometheus-2.30.3.linux-amd64.tar.gz
Debería ver un resultado similar al siguiente:
1ccd386d05f73a98b69aa5e0ed31fffac95cd9dadf7df1540daf2f182c5287e2 prometheus-2.30.3.linux-amd64.tar.gz
Compare el valor hash del resultado anterior con el valor de la suma de comprobación en la página de descarga de Prometheus. Si coinciden, significa que la integridad del archivo está validada.
Ahora ha descargado con éxito el archivo Prometheus y ahora lo extraerá al /opt
directorio usando el comando tar:
tar xvzf prometheus-2.30.3.linux-amd64.tar.gz -C /opt
A continuación, debe copiar los archivos binarios a /usr/local/bin
directorio y arreglar los permisos. Esto se hace con los siguientes comandos:
mv /opt/prometheus-2.30.3.linux-amd64/prometheus /opt/prometheus-2.30.3.linux-amd64/promtool /usr/local/bin/ chown prometheus:prometheus /usr/local/bin/prometheus /usr/local/bin/promtool
Además, necesitamos copiar las consoles
y console_libraries
directorios al directorio de configuración de Prometheus, /etc/prometheus
mv /opt/prometheus-2.30.3.linux-amd64/consoles /opt/prometheus-2.30.3.linux-amd64/console_libraries /etc/prometheus/ chown -R prometheus:prometheus /etc/prometheus/consoles /etc/prometheus/console_libraries
Paso 4:Crear archivo de configuración de Prometheus
El archivo de configuración de Prometheus se ha preparado y está disponible en la carpeta de archivos extraídos, y solo necesita copiarlo en la configuración de Prometheus /etc/prometheus
directorio.
mv /opt/prometheus-2.30.3.linux-amd64/prometheus.yml /etc/prometheus/prometheus.yml chown prometheus:prometheus /etc/prometheus/prometheus.yml
El contenido de prometheus.yml
archivo:
# my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: "prometheus" # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ["localhost:9090"]
La configuración está configurada para raspar cada 15 segundos y Prometheus escucha en el puerto 9090
.
Paso 5:Crear archivo de servicio de Prometheus Systemd
Ahora necesitamos crear un archivo de servicio del sistema.
nano /etc/systemd/system/prometheus.service
En ese archivo, agregue el siguiente contenido:
[Unit] Description=Prometheus Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus Type=simple ExecStart=/usr/local/bin/prometheus \ --config.file /etc/prometheus/prometheus.yml \ --storage.tsdb.path /var/lib/prometheus/ \ --web.console.templates=/etc/prometheus/consoles \ --web.console.libraries=/etc/prometheus/console_libraries [Install] WantedBy=multi-user.target
Después de agregar el contenido, guarde y cierre el archivo.
Para usar el servicio recién creado, deberá volver a cargar los servicios del demonio. Use el siguiente comando para volver a cargar los servicios del demonio.
systemctl daemon-reload
Ahora puede iniciar y habilitar el servicio Prometheus usando los siguientes comandos:
systemctl start prometheus
systemctl enable prometheus
Para comprobar y verificar el estado de su servicio Prometheus, ejecute el siguiente comando:
systemctl status prometheus
Salida:
● prometheus.service - Prometheus Loaded: loaded (/etc/systemd/system/prometheus.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-10-23 19:15:21 UTC; 4s ago Main PID: 9884 (prometheus) Tasks: 1 (limit: 2245) Memory: 336.0K CGroup: /system.slice/prometheus.service └─9884 /usr/local/bin/prometheus --config.file /etc/prometheus/prometheus.yml --storage.tsdb.path /var/lib/prometheus/ --web.console.templates=/etc/prometheus/consoles --web.console.libraries=/etc/prometheus/console_libraries
La instalación y configuración de Prometheus está configurada. Puede ver el estado Activo:activo (en ejecución)
Ahora el servicio Prometheus está en funcionamiento y puede acceder a él desde cualquier navegador web.
http://Your_server_IP:9090
Para verificar el estado de su nodo, vaya a Estado> Objetivos .
¡Eso es todo! Se completó la instalación de Prometheus en Ubuntu 20.04.
Por supuesto, no necesita instalar Prometheus en Ubuntu 20.04 usted mismo si usa uno de nuestros Linux totalmente administrados. Alojamiento VPS servicios, en cuyo caso simplemente puede solicitar a nuestros administradores expertos de Linux que lo instalen por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.
PD Si le gustó esta publicación sobre cómo instalar Prometheus en Ubuntu 20.04, compártala con sus amigos en las redes sociales utilizando los accesos directos para compartir a continuación, o simplemente deje un comentario en la sección de comentarios. Gracias.