Filebeat con Elasticsearch 8.x - Parte 1: Instalación y protección

Publicado el 4 de enero de 2023

« Ver todas las conferencias Contáctenos
Filebeat with Elasticsearch 8.x - Part 1: Install & Secure

Introducción

Código en Github: Elasticsearch y Beats

Vamos a configurar Filebeat con Elasticsearch y Kibana. Si aún no tiene Elasticsearch y Kibana configurados, entonces siga estas instrucciones.

Este vídeo asume que estás usando Certificados firmados públicamente. Si estas usando Certificados autofirmados, Vaya aquí Por determinar.

Requisitos

A Running instance of Elasticsearch and Kibana.

Una instancia de otro servidor Ubuntu 20.04 que ejecuta cualquier tipo de servicio.

Pasos

Paso 1 - Descargar Filebeat [01:10]

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/8.x/apt stable main' | sudo tee /etc/apt/sources.list.d/elastic-8.x.list; apt-get install -y apt-transport-https; apt-get install -y filebeat;

Paso 2: Configurar Filebeat [02:20]

Edite estos campos para el /etc/filebeat.yml

filebeat.inputs: ...etc... - type: filestream ...etc... enabled: true ...etc... filebeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled: true # 10s reload for demonstration purposes reload.period: 10s setup.kibana: host: "https://<kibana-domain>:<kibana-port>" output.elasticsearch: hosts: ["<elasticsearch-domain>:<elasticsearch-port>"] protocol: "https" username: "elastic" password: "<your elastic password>"

El archivo filebeat.yml completo se puede encontrar aquí.

IMPORTANTE: Usamos el superusuario elástico para la configuración inicial. Reduciremos 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 3 - Configurar Filebeat [11:12]

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 4: Crear un usuario de publicación [12:58]

Crear rol

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

Crear usuario

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

Username: filebeat-publisher Full name: filebeat-publisher Email address: anything@anything.com Password: anything Roles: filebeat-publisher editor

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-publisher", "password": "anything", "api_key": { "name": "filebeat-publisher" } }

Esto debería producir un resultado como el siguiente:

Filebeat user token Token de usuario de Filebeat

Error tipográfico: el nombre metric Debería mostrarse filebeat-publisher en cambio

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

output.elasticsearch: ...etc... api_key: "${ES_API_KEY}" #username: "elastic" #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 5 - Ejecutar Filebeat [19:00]

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.

Paso 6: Habilitar otros módulos de registro [22:30]

En este punto, no hay muchos registros interesantes que revisar. Podemos volver al servidor de Filebeat y acceder a.../etc/filebeat/modules.d directorio y renombre el relevante *.yml.disabled a *.yml archivo para indicar a Filebeat que envíe datos a Elasticsearch. 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.