Metricbeat con Elasticsearch 9.x

Publicado el 11/08/2025

« Ver todas las conferencias Contáctenos
Metricbeat with Elasticsearch 9.x

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.

Descargar código desde github

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.