Filebeat con Elasticsearch 9.x

Publicado el 10/08/2025

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

Introducción

Vamos a configurar Filebeat 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 Filebeat

En la máquina Ubuntu que ejecutará filebeat, 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 filebeat;

Paso 2: Habilitar módulos de registro

Ir a la /etc/filebeat/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: filebeat_setup Cluster privileges: monitor manage_ilm Indices: filebeat-* Privileges: manage

Paso 4: Crear un usuario de Filebeat

En Kibana, vaya a Gestión de pila > Usuarios > Crear usuario. Luego, completa estos campos:

Username: filebeat_user Full name: filebeat_user Email address: anything@anything.com Password: anything Roles: filebeat_setup kibana_admin ingest_admin

Presione guardar.

Paso 5: Configurar Filebeat

Edite estos campos para el /etc/filebeat.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: "filebeat_user" password: "<your filebeat_user password>" ssl.certificate_authorities: ["/path/to/http_ca.crt"] setup.ilm.check_exists: false

El archivo filebeat.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/filebeat/bin/filebeat test config -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat /usr/share/filebeat/bin/filebeat test output -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat

Confirme que recibe mensajes de éxito.

Paso 6 - Configurar Filebeat

Ahora ejecute este comando para configurar los flujos de datos y las vistas de filebeat en Elasticsearch y Kibana:

/usr/share/filebeat/bin/filebeat setup -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat

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: filebeat_publisher Cluster privileges: monitor read_ilm read_pipeline Indices: filebeat-* Privileges: create_doc auto_configure

Paso 8: Cambiar la función de Filebeat

Eliminar los roles anteriores para filebeat_user y establece solo esto:

Roles: filebeat_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": "filebeat_user", "password": "anything", "api_key": { "name": "filebeat_user" } }

Esto debería producir un resultado como el siguiente:

{ "id": "J3oInZgBRvUg0VanE8wj", "name": "filebeat_user", "api_key": "6Wwht52HgB-M8reGwXUM6g", "encoded": "SjNvSW5aZ0JSdlVnMFZhbkU4d2o6Nld3aHQ1MkhnQi1NOHJlR3dYVU02Zw==" }

Editar el /etc/filebeat/filebeat.yml comentando el filebeat_user nombre de usuario y contraseña y habilitar el api_key Así:

output.elasticsearch: ...etc... api_key: "${ES_API_KEY}" #username: "filebeat_user" #password: "" ...etc...

Usaremos el almacén de claves de Filebeat 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/filebeat/bin/filebeat keystore add ES_API_KEY -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat

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 Filebeat

systemctl enable filebeat; systemctl start filebeat;

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 Filebeat.

Nota final

Cada vez que habilite un nuevo módulo en modules.d, tienes que correr systemctl restart filebeat. systemctl restart filebeat puede desencadenar acciones en segundo plano similares a configuración lo que significa el usuario en su filebeat.yml Debería tener el configuración privilegios mencionados en el Paso 3. Si no desea ejecutar manualmente systemctl restart filebeat Después de los cambios en el modules.d directorio, puede hacer que filebeat cargue automáticamente los módulos recién habilitados configurando esta propiedad en true: filebeat.config.modules.reload.enabled: true. Nuevamente, asegúrese de que el usuario en filebeat.yml tiene el configuración privilegios.