Instale la herramienta de monitoreo Sensu en Ubuntu 22.04|20.04|18.04
Bienvenido a nuestra guía sobre Cómo instalar la herramienta de monitoreo Sensu en Ubuntu 22.04/20.04/18.04. Sensu es una herramienta de monitoreo de pila completa de código abierto adecuada para cualquier tipo de entorno operativo dinámico. Es un marco simple, escalable y maleable que le ayuda a componer el sistema de seguimiento que necesita.
Sensu es capaz de monitorear entornos basados en contenedores y en la nube pública, privada e híbrida. Está escrito en Ruby y utiliza RabbitMQ para poner en cola eventos y solicitudes de verificación. Los datos que necesitan almacenamiento persistente, como la información del cliente, se almacenan en Redis. Sensu viene con una gran cantidad de complementos para monitorear servicios comunes.
Cómo funciona Sensu
Sensu utiliza un modelo cliente-servidor en el que todos los sistemas a monitorear ejecutan un software cliente sensu. Esta aplicación cliente es responsable de ejecutar comprobaciones locales, gestionar la suscripción y el registro del cliente y cumplir con las comprobaciones solicitadas por Sensu Server. El agente informa los resultados de una verificación y el servidor tomará medidas en función de los resultados, por ejemplo, enviando un mensaje de notificación al usuario si el servicio no funciona.
Instale la herramienta de monitoreo Sensu en Ubuntu 22.04/20.04/18.04
En esta sección, le mostraré los pasos para instalar la herramienta de monitoreo Sensu en Ubuntu 20.04/18.04 LTS. Supongo que ya tiene un servidor Ubuntu en ejecución, puede ser una máquina virtual local, en la nube o un servidor dedicado.
Paso 1: configurar el nombre de host del servidor, ntp y actualizar
Comience siempre sus instalaciones actualizando el paquete del sistema a la última versión.
sudo apt update && sudo apt -y full-upgrade
[ -f /var/run/reboot-required ] && sudo reboot -f
Espere a que aparezca el servidor y luego configure el nombre de host:
sudo hostnamectl set-hostname sensu.example.com
Configurar NTP y zona horaria
Es bueno tener NTP configurado tanto en el servidor Sensu como en los agentes para que la marca de tiempo sea correcta en todos los datos.
Establecer zona horaria correcta:
sudo timedatectl set-timezone Africa/Nairobi
Instalar el paquete ntp:
sudo apt -y install ntp
Mostrar estado ntp:
$ sudo ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
0.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 +0.000 0.000
1.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 +0.000 0.000
2.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 +0.000 0.000
3.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 +0.000 0.000
ntp.ubuntu.com .POOL. 16 p - 64 0 0.000 +0.000 0.000
*time.netzwerge. 31.209.85.242 2 u 1 64 1 9.574 +14.850 0.056
mail.kpprs.de 192.53.103.104 2 u 1 64 1 2.907 -1.920 0.016
sismox.com 187.182.182.166 3 u 2 64 1 0.675 -1.970 0.000
mail.klausen.dk 193.79.237.14 2 u 1 64 1 0.553 -2.043 0.005
2a01:4f8:c2c:3d 213.239.239.165 3 u 2 64 1 0.578 -1.960 0.002
node-1.infogral 17.253.14.123 2 u 1 64 1 0.529 -1.829 0.000
h2993508.strato 208.90.67.116 3 u 2 64 1 13.500 -2.122 0.009
alpha.rueckgr.a 205.46.178.169 2 u 1 64 1 2.897 -2.795 0.088
formularfetisch 185.248.188.98 2 u 2 64 1 2.850 -2.026 0.000
2620:2d:4000:1: 86.23.195.30 2 u 2 64 1 22.770 +2.248 0.000
ns1.idfnet.net 131.188.3.220 2 u 1 64 1 12.705 -0.005 0.000
Paso 2: Instale los paquetes backend de Sensu
El paquete backend Sensu está disponible para Ubuntu/Debian, RHEL/CentOS y Docker. Ejecute los comandos proporcionados para configurar el repositorio requerido que contiene los paquetes.
$ curl -s https://packagecloud.io/install/repositories/sensu/stable/script.deb.sh | sudo bash
Detected operating system as Ubuntu/jammy.
Checking for curl...
Detected curl...
Checking for gpg...
Detected gpg...
Detected apt version as 2.4.9
Running apt-get update... done.
Installing apt-transport-https... done.
Installing /etc/apt/sources.list.d/sensu_stable.list...done.
Importing packagecloud gpg key... Packagecloud gpg key imported to /etc/apt/keyrings/sensu_stable-archive-keyring.gpg
done.
Running apt-get update... done.
The repository is setup! You can now install packages.
Una vez que el repositorio esté agregado y funcional, podemos instalar el paquete backend:
sudo apt update
sudo apt install sensu-go-backend
Paso 3: Configurar Sensu e iniciar los servicios
Hay dos métodos que se pueden utilizar para configurar el backend de Sensu. Uno es usar las banderas sensu-backend start o el archivo /etc/sensu/backend.yml.
Descargue la plantilla de configuración de los documentos:
sudo curl -L https://docs.sensu.io/sensu-go/latest/files/backend.yml -o /etc/sensu/backend.yml
Luego inicie sensu-backend usando un administrador de servicios systemd
sudo systemctl start sensu-backend && sudo systemctl enable sensu-backend
Verifique el estado del servicio backend:
$ systemctl status sensu-backend
● sensu-backend.service - The Sensu Backend service.
Loaded: loaded (/lib/systemd/system/sensu-backend.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-08-16 12:45:55 EAT; 23s ago
Main PID: 6281 (sensu-backend)
Tasks: 7 (limit: 4523)
Memory: 29.1M
CPU: 466ms
CGroup: /system.slice/sensu-backend.service
└─6281 /usr/sbin/sensu-backend start -c /etc/sensu/backend.yml
Aug 16 12:46:15 jammy sensu-backend[6281]: {"cache_version":"v2","component":"cache","level":"debug","msg":"rebuilding the cache for resource type *v3.EntityConfig","time":"2023-08-16T12:46:15+03:0>
Aug 16 12:46:15 jammy sensu-backend[6281]: {"component":"etcd","level":"debug","caller":"v3rpc/interceptor.go:182","msg":"request stats","start time":"2023-08-16T12:46:15+03:00","time spent":"121.9>
Aug 16 12:46:15 jammy sensu-backend[6281]: {"component":"etcd","level":"debug","caller":"v3rpc/interceptor.go:182","msg":"request stats","start time":"2023-08-16T12:46:15+03:00","time spent":"242.3>
Aug 16 12:46:15 jammy sensu-backend[6281]: {"component":"tessend","level":"debug","metric_name":"check_count","metric_value":0,"msg":"collected a metric for tessen","time":"2023-08-16T12:46:15+03:0>
Aug 16 12:46:15 jammy sensu-backend[6281]: {"backend_id":"9d66f68d-9b30-4ead-81ce-4eb17adc65a6","component":"metricsd","level":"debug","msg":"metricsd heartbeat","name":"entity_metrics","time":"202>
Aug 16 12:46:15 jammy sensu-backend[6281]: {"component":"etcd","level":"debug","caller":"v3rpc/interceptor.go:182","msg":"request stats","start time":"2023-08-16T12:46:15+03:00","time spent":"313.0>
Aug 16 12:46:16 jammy sensu-backend[6281]: {"backend_id":"9d66f68d-9b30-4ead-81ce-4eb17adc65a6","component":"metricsd","level":"debug","msg":"metricsd heartbeat","name":"event_metrics","time":"2023>
Aug 16 12:46:16 jammy sensu-backend[6281]: {"component":"etcd","level":"debug","caller":"v3rpc/interceptor.go:182","msg":"request stats","start time":"2023-08-16T12:46:16+03:00","time spent":"262.3>
Aug 16 12:46:17 jammy sensu-backend[6281]: {"backend_id":"9d66f68d-9b30-4ead-81ce-4eb17adc65a6","component":"metricsd","level":"debug","msg":"metricsd heartbeat","name":"cluster_metrics","time":"20>
Aug 16 12:46:17 jammy sensu-backend[6281]: {"component":"etcd","level":"debug","caller":"v3rpc/interceptor.go:182","msg":"request stats","start time":"2023-08-16T12:46:17+03:00","time spent":"211.0>
Para obtener detalles sobre cómo inicializar el backend de Sensu, lea la referencia del backend.
Paso 4: Inicialice Sensu configurando el nombre de usuario y la contraseña
Con el backend en ejecución, necesitamos ejecutar sensu-backend init
para configurar el nombre de usuario y la contraseña del administrador de Sensu.
Para ello se necesitan variables de entorno con una cadena de nombre de usuario y contraseña.
sudo su -
export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=admin
export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=StrongAdminPassw0rd
Con el nombre de usuario y la contraseña proporcionados, inicialice Sensu:
# sensu-backend init
{"component":"cmd","level":"info","msg":"attempting to connect to etcd server: http://localhost:2379","time":"2023-08-16T12:47:36+03:00"}
{"component":"backend.seeds","level":"info","msg":"seeding etcd store with initial data","time":"2023-08-16T12:47:36+03:00"}
{"component":"store","level":"warning","msg":"migrating etcd database to a new version","time":"2023-08-16T12:47:36+03:00"}
{"component":"store","database_version":1,"level":"info","msg":"successfully upgraded database","time":"2023-08-16T12:47:36+03:00"}
{"component":"store","database_version":2,"level":"info","msg":"successfully upgraded database","time":"2023-08-16T12:47:36+03:00"}
{"component":"store","level":"warning","msg":"migrating enterprise etcd database to a new version","time":"2023-08-16T12:47:36+03:00"}
{"component":"store","database_version":1,"level":"info","msg":"successfully upgraded database","time":"2023-08-16T12:47:36+03:00"}
{"component":"store","database_version":2,"level":"info","msg":"successfully upgraded database","time":"2023-08-16T12:47:36+03:00"}
Verifique que el backend esté en funcionamiento utilizando la API Sensu /health
para verificar el estado del backend. Debería recibir una respuesta que incluya “Saludable”: verdadero.
# curl http://127.0.0.1:8080/health
{"Alarms":null,"ClusterHealth":[{"MemberID":13195394291058371180,"MemberIDHex":"b71f75320dc06a6c","Name":"default","Err":"","Healthy":true}],"Header":{"cluster_id":2037210783374497686,"member_id":13195394291058371180,"raft_term":2}}
Paso 5: acceda a la interfaz de usuario web de Sensu
El servicio de interfaz de usuario web está escuchando en el puerto 3000
# ss -tunelp | grep 3000
tcp LISTEN 0 4096 *:3000 *:* users:(("sensu-backend",pid=6281,fd=20)) uid:998 ino:61297 sk:13 cgroup:/system.slice/sensu-backend.service v6only:0 <->
La interfaz de usuario web proporciona una vista unificada de sus eventos de observabilidad y herramientas fáciles de usar para reducir la fatiga de las alertas. Abra la interfaz de usuario web visitando http://serverIP:3000.
Inicie sesión con el nombre de usuario y la contraseña establecidos en el Paso 4. Para nosotros, el nombre de usuario era admin y la contraseña es StrongAdminPassw0rd
Paso 6: Instalar sensuctl
Sensuctl es una utilidad de línea de comandos que le permite administrar recursos dentro de Sensu. Llama a la API HTTP de Sensu para crear, leer, actualizar y eliminar recursos, eventos y entidades. Esta herramienta se puede instalar en Linux, Windows y macOS.
apt install sensu-go-cli
Ejecute sensuctl configure
e inicie sesión con sus credenciales de usuario, espacio de nombres y URL backend de Sensu.
# Syntax
sensuctl configure -n \
--username 'YOUR_USERNAME' \
--password 'YOUR_PASSWORD' \
--namespace default \
--url 'http://127.0.0.1:8080'
# Example
sensuctl configure -n \
--username 'admin' \
--password 'StrongAdminPassw0rd' \
--namespace default \
--url 'http://127.0.0.1:8080'
Para ver su perfil ejecute los siguientes comandos:
# sensuctl config view
=== Active Configuration
API URL: http://127.0.0.1:8080
Namespace: default
Format: tabular
Timeout: 15s
Username: admin
JWT Expiration Timestamp: 1665750798
Más guías:
- Instalar y configurar Nagios en Ubuntu
- Instalar Zabbix 5 en Ubuntu
- Instalar LibreNMS en Ubuntu
- Instalar Grafana en Debian
- Instalar Prometheus en Ubuntu