Graylog: Collector Sidecar

Como hemos hablado anteriormente, Graylog es un colector de logs muy interesante. Es una mezcla entre ELK y Splunk. No llega a ser tan potente como Splunk pero es mas gestionable que ELK.
En este post, voy a explicar como instalar un agente y enviar todos los logs al Graylog central. Graylog tiene un agente llamado collector-sidecar que es muy fácil de configurar y además se gestiona de un modo centralizado una vez que se despliega.

Cliente

Instalación del cliente

En este post vamos a utilizar la versión 0.1.4 para entornos debian x64 que es la mas actual. Si se quiere descargar otra, se puede hacer desde aquí.

wget https://github.com/Graylog2/collector-sidecar/releases/download/0.1.4/collector-sidecar_0.1.4-1_amd64.deb

Instalar el paquete

dpkg -i collector-sidecar_0.1.4-1_amd64.deb

Crear el servicio de arranque

graylog-collector-sidecar -service install

Configuración del cliente

Editar el archivo de configuración

vim /etc/graylog/collector-sidecar/collector_sidecar.yml
server_url: http://graylog.ichasco.com:9000/api/
update_interval: 10
tls_skip_verify: false
send_status: true
list_log_files: /var/log 
node_id: agente
collector_id: file:/etc/graylog/collector-sidecar/collector-id
cache_path: /var/cache/graylog/collector-sidecar
log_path: /var/log/graylog/collector-sidecar
log_rotation_time: 86400
log_max_age: 604800
tags:
 - linux
backends:
 - name: filebeat
 enabled: true
 binary_path: /usr/bin/filebeat
 configuration_path: /etc/graylog/collector-sidecar/generated/filebeat.yml

Iniciar el proceso de graylog

systemctl start collector-sidecar

Servidor

Para empezar, hay que generar un Input nuevo. Para ello vamos a “System –> Inputs”

Ahora vamos a crearlo. Tiene que ser del formato Beats.

Una vez añadido el input, hay que configurar el colector. Para ello “System –> Collector”

Ahora, vamos a gestionar las configuraciones

 

Y creamos la configuración para el nuevo colector

 

Una vez creado, solo queda el configurarlo. Para configurar el cliente, hay 2 partes principales. El input establece que logs se quieren recoger, si se quiere excluir o incluir algo de estos o si se quieren crear campos fijos y el output se encarga de configurar donde y como tiene que enviar el agente los logs.

Output

Input

Por último añadir el tag que hemos puesto en la configuración del agente y darle a update tag.

Y ya estaría funcionando. Ahora se puede comprobar en Overview que el agente está arrancado

Ahora se podría, tanto tratar los mensajes del agente como un input normal para poder crear streams o dashboard. O también se podría ver el estado del agente y los logs de la carpeta de logs definida en el agente. Si hubiese cambios en alguno de estos, se marcarían en azul.

 

Con esto, ya estaría el agente desplegado y recolectando logs.

6 comments

    1. Buenas Esteban,

      no se si seguirás teniendo problemas o dudas con el cliente en Windows (he dejado este mes un poco el blog de lado y no me he podido meter). Sigues necesitando ayuda? si es así, podrías describirme que problema tienes?

      Un saludo

  1. Buenos días
    Tengo un cacao con esta movida que lo flipo.
    Vamos a ver, yo tengo un servidor que se llama graylog-server, una base de datos que es mongodb y tengo elasticsearch, con todo eso funcionando ¿que tengo que hacer para que me lleguen inputs al servidor graylog de las maquinas a monitorear?
    Me imagino que lo que hay en el manual que has publicado pero ¿filebeat hace lo mismo?
    ¿logstash es lo mismo que collector-sidecar? osea el collector recolecta y el sidecar envía y los dos son el agente, ¿es eso?
    Hay otro agente que se llama metricbeat que hace lo mismo que collector y el primero se lo manda a logstash y el segundo se lo manda a sidecar, y todo eso va a elasticsearch y/o al servidor, ¿es así?

    saludos.

    1. Buenas, el post este tiene ya algún tiempo. Han salido varias versiones nuevas de Graylog.
      En cuanto a tu pregunta. Sin saber ahora muy bien si Graylog ha sacado algún nuevo componente, filebeat y el collector-sidecar es lo mismo. Son agentes que envían logs ya sea a graylog, a un logstash (con este servicio puedes recibir logs y tratarlos. Graylog es un logstash y un elasticsearch todo en uno) o a elasticsearch directamente.
      En cuanto a metricbeat, es para recolectar las metricas y enviarselas a elasticsearch. Esto es para poder usar las funciones de APM de elastic.
      El flujo en Graylog es (o era):
      collector-sidecar –> Graylog –> Y ya puedes ver los logs
      En el stack de elastic:
      filebeat –> logstash –> opensearch –> kibana.

      No se si esto te ayudará mucho xD

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *