
Introducción
Vamos a configurar Ritmo métrico con Elasticsearch y Kibana 9.x. Si aún no tiene Elasticsearch y Kibana configurados, entonces siga estas instrucciones.
Basado en esto documentación
Requisitos
A Running instance of Elasticsearch and Kibana.
Una instancia de otro servidor Ubuntu 24.04 que ejecuta cualquier tipo de servicio.
Pasos
Paso 1: Instalar Metricbeat
En la máquina Ubuntu que ejecutará metricbeat, ejecute estos comandos para descargar las dependencias:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/9.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-9.x.list
apt-get update;
apt-get install -y apt-transport-https;
apt-get install -y metricbeat;
Paso 2 - Habilitar módulos
Ir a la /etc/metricbeat/modules.d
directorio. Seleccione los tipos de registros para los que desea habilitar el registro cambiando el nombre del directorio correspondiente.*.yml.disabled
a *.yml
. Para algunos de estos servicios, es posible que deba agregar el enabled: true
opción a la *.yml
archivo, así como el tipo de conexión y los detalles de configuración apropiados.
Paso 3: Crear un rol de configuración
Referencia para el rol de configuración
En Kibana, vaya a Gestión de pilas > Roles > Crear rol. Luego, completa estos campos:
Role name: metricbeat_setup
Cluster privileges: monitor manage_ilm
Indices: metricbeat-*
Privileges: manage
Paso 4: Crear un usuario de Metricbeat
En Kibana, vaya a Gestión de pila > Usuarios > Crear usuario. Luego, completa estos campos:
Username: metricbeat_user
Full name: metricbeat_user
Email address: anything@anything.com
Password: anything
Roles: metricbeat_setup kibana_admin ingest_admin
Presione guardar.
Paso 5: Configurar Metricbeat
Edite estos campos para el /etc/metricbeat.yml
setup.kibana:
host: "https://<kibana-domain>:<kibana-port>"
ssl.certificate_authorities: ["/path/to/http_ca.crt"]
output.elasticsearch:
hosts: ["<elasticsearch-domain-or-ip>:<elasticsearch-port>"]
protocol: "https"
username: "metricbeat_user"
password: "<your metricbeat_user password>"
ssl.certificate_authorities: ["/path/to/http_ca.crt"]
setup.ilm.check_exists: false
El archivo metricbeat.yml completo se puede encontrar aquí.
IMPORTANTE: Usamos el usuario de configuración para la configuración inicial. Cambiaremos los privilegios más adelante.
Luego prueba tu configuración con estos comandos:
/usr/share/metricbeat/bin/metricbeat test config -c /etc/metricbeat/metricbeat.yml --path.data /var/lib/metricbeat --path.home /usr/share/metricbeat
/usr/share/metricbeat/bin/metricbeat test output -c /etc/metricbeat/metricbeat.yml --path.data /var/lib/metricbeat --path.home /usr/share/metricbeat
Confirme que recibe mensajes de éxito.
Paso 6 - Configurar Metricbeat
Ahora ejecute este comando para configurar los flujos de datos y las vistas de Metricbeat en Elasticsearch y Kibana:
/usr/share/metricbeat/bin/metricbeat setup -c /etc/metricbeat/metricbeat.yml --path.data /var/lib/metricbeat --path.home /usr/share/metricbeat
Una vez finalizado el comando, ve a Kibana Menú y visitar Panel para ver muchos paneles prediseñados.
Paso 7: Crear un rol de publicación
Referencia para el rol de publicación
En Kibana, vaya a Gestión de pilas > Roles > Crear rol. Luego, completa estos campos:
Role name: metricbeat_publisher
Cluster privileges: monitor read_ilm
Indices: metricbeat-*
Privileges: create_doc auto_configure
Paso 8: Cambiar el rol de Metricbeat
Eliminar los roles anteriores para metricbeat_user
y establece solo esto:
Roles: metricbeat_publisher
Presione guardar.
Crear una clave API para el usuario
En Kibana, vaya a Herramientas de desarrollo > Consola. Luego ejecute este comando:
POST /_security/api_key/grant
{
"grant_type": "password",
"username": "metricbeat_user",
"password": "anything",
"api_key": {
"name": "metricbeat_user"
}
}
Esto debería producir un resultado como el siguiente:
{
"id": "J3oInZgBRvUg0VanE8wj",
"name": "metricbeat_user",
"api_key": "6Wwht52HgB-M8reGwXUM6g",
"encoded": "SjNvSW5aZ0JSdlVnMFZhbkU4d2o6Nld3aHQ1MkhnQi1NOHJlR3dYVU02Zw=="
}
Editar el /etc/metricbeat/metricbeat.yml
comentando el metricbeat_user
nombre de usuario y contraseña y habilitar el api_key
Así:
output.elasticsearch:
...etc...
api_key: "${ES_API_KEY}"
#username: "metricbeat_user"
#password: ""
...etc...
Usaremos el almacén de claves de Metricbeat para cargar secretos en tiempo de ejecución. Ahora ejecute este comando para configurar...ES_API_KEY
variable del almacén de claves:
/usr/share/metricbeat/bin/metricbeat keystore add ES_API_KEY -c /etc/metricbeat/metricbeat.yml --path.data /var/lib/metricbeat --path.home /usr/share/metricbeat
Prensa ingresar y cuando se le solicite, péguelo <id>:<api_key>
donde el <id>
y el <api_key>
son los valores de la respuesta del token de usuario que recibió anteriormente.
Paso 9 - Ejecutar Metricbeat
systemctl enable metricbeat;
systemctl start metricbeat;
En un momento, deberías comenzar a ver resultados en Kibana en cualquiera de los dos.Descubrir, Observabilidad, Gestión de pilas > Gestión de índices > Flujo de datos, Panel de control >Seleccionar un panel de control de Metricbeat.
Nota final
Cada vez que habilite un nuevo módulo en modules.d
, tienes que correr systemctl restart metricbeat
. systemctl restart metricbeat
puede desencadenar acciones en segundo plano similares a configuración lo que significa el usuario en su metricbeat.yml
Debería tener el configuración privilegios mencionados en el Paso 3. Si no desea ejecutar manualmente systemctl restart metricbeat
Después de los cambios en el modules.d
directorio, puede hacer que Metricbeat cargue automáticamente los módulos recién habilitados configurando esta propiedad en true
: metricbeat.config.modules.reload.enabled: true
. Nuevamente, asegúrese de que el usuario en metricbeat.yml
tiene el configuración privilegios.