GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Logstash en Ubuntu 18.04

Logstash es una herramienta gratuita y de código abierto, y la plataforma de análisis de registros más popular del mundo para recopilar, analizar y almacenar registros para uso futuro. Logstash viene con un amplio conjunto de complementos y un lenguaje de plantilla muy expresivo que facilita la transformación de flujos de datos. Logstash es parte de la pila ELK, pero también puede usarlo de forma independiente. Logstash tiene la capacidad de extraer datos de cualquier fuente mediante complementos de entrada, aplicar una amplia variedad de transformaciones de datos y enviar los datos a una gran cantidad de destinos mediante complementos de salida.

En este tutorial, le mostraremos cómo instalar y configurar Logstash en el servidor Ubuntu 18.04.

Requisitos

  • Un servidor con Ubuntu 18.04.
  • Se ha configurado una contraseña raíz en su servidor.

Cómo empezar

Antes de comenzar, actualice su sistema con la última versión. Puede hacerlo ejecutando el siguiente comando:

apt-get update -y
apt-get upgrade -y

Una vez que su sistema esté actualizado, reinícielo para aplicar los cambios.

Instalar Java

Antes de instalar Java, asegúrese de tener instalado Java 8 o Java 11. Puede instalar Java 8 con el siguiente comando:

apt-get install openjdk-8-jdk -y

Después de instalar Java, verifique la versión de Java usando el siguiente comando:

java -version

Debería ver el siguiente resultado:

openjdk version "1.8.0_162"
OpenJDK Runtime Environment (build 1.8.0_162-8u162-b12-1-b12)
OpenJDK 64-Bit Server VM (build 25.162-b12, mixed mode)

Instalar Logstash

Antes de instalar Logstash, deberá instalar Elasticsearch en su servidor. De forma predeterminada, Elasticsearch no está disponible en el servidor Ubuntu 18.04. Por lo tanto, deberá agregar el repositorio para Elasticsearch.

Primero, instale el paquete requerido con el siguiente comando:

apt-get install apt-transport-https -y

A continuación, descargue y agregue la clave GPG de Elasticsearch con el siguiente comando:

wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | apt-key add -

A continuación, agregue el repositorio con el siguiente comando:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list

A continuación, instale Elasticsearch y Logstash con el siguiente comando:

apt-get install elasticsearch logstash -y

Una vez que ambos paquetes estén instalados, inicie Logstash y Elasticsearch, y habilítelos para que se inicien después de reiniciar el sistema con el siguiente comando:

systemctl start logstash
systemctl enable logstash
systemctl start elasticsearch
systemctl enable elasticsearch

También puede verificar el estado de Logstash con el siguiente comando:

systemctl status logstash

Debería ver el siguiente resultado:

? logstash.service - logstash
   Loaded: loaded (/etc/systemd/system/logstash.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-11-20 10:13:22 UTC; 5s ago
 Main PID: 3790 (java)
    Tasks: 13 (limit: 1110)
   CGroup: /system.slice/logstash.service
           ??3790 /usr/bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly 

Nov 20 10:13:22 ubuntu systemd[1]: Started logstash.

De manera predeterminada, Elasticsearch escucha en el puerto 9200. Puede verificarlo con el siguiente comando:

netstat -ant | grep 9200

Debería ver el siguiente resultado:

tcp6       0      0 127.0.0.1:9200          :::*                    LISTEN     
tcp6       0      0 ::1:9200                :::*                    LISTEN  

Configurar Logstash

La configuración de Logstash es una de las partes más desafiantes de cualquier administrador de sistemas. La configuración de Logstash consta de tres secciones de configuración principales, Entradas de Logstash, Filtros de Logstash y Salidas de Logstash. Cada sección es responsable de diferentes funciones y utiliza diferentes complementos de Logstash.

Configurar entrada de Logstash

Primero, deberá crear un archivo de configuración de entrada beats-input.conf para recibir datos de Beats en el puerto TCP 5044:

nano /etc/logstash/conf.d/beats-input.conf

Agregue las siguientes líneas:

input {
  beats {
    port => 5044
  }
}

Guarde y cierre el archivo cuando haya terminado.

Configurar filtros de Logstash

A continuación, deberá configurar un complemento de filtro para procesar los eventos recibidos de los latidos. Aquí, configuraremos beats para recopilar eventos de autenticación SSH de los sistemas Ubuntu. Para ello, cree un nuevo archivo de configuración de filtro ssh-auth-filter.conf:

nano /etc/logstash/conf.d/ssh-auth-filter.conf

Agregue las siguientes líneas:

filter {
  grok {
    match => { "message" => "%{SYSLOGTIMESTAMP:timestamp}\s+%{IPORHOST:dst_host}\s+%{WORD:syslog_program}\[\d+\]:\s+(?\w+\s+password)\s+for\s+%{USER:auth_user}\s+from\s+%{SYSLOGHOST:src_host}.*" }
    add_field => { "activity" => "SSH Logins" }
    add_tag => "linux_auth"
    }
}

Guarde y cierre el archivo cuando haya terminado.

Configurar salida de Logstash

A continuación, deberá configurar complementos de salida para permitir que Logstash envíe datos de eventos a destinos específicos.

Aquí, crearemos un archivo de configuración de salida de Logstash que envía datos a Elasticsearch ejecutándose en un host local.

nano /etc/logstash/conf.d/elasticsearch-output.conf

Agregue las siguientes líneas:

output {
   elasticsearch {
     hosts => ["localhost:9200"]
     manage_template => false
     index => "ssh_auth-%{+YYYY.MM}"
 }
  stdout { codec => rubydebug }
}

Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio Logstash para aplicar los cambios:

systemctl restart logstash

Probar Logstash

Logstash ahora está instalado y configurado. Es hora de probar si funciona o no.

Puede verificar la configuración de Logstash con el siguiente comando:

sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t

Si todo está bien, debería ver el siguiente resultado:

Sending Logstash logs to /var/log/logstash which is now configured via log4j2.properties
[2019-11-26T06:27:48,104][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.queue", :path=>"/var/lib/logstash/queue"}
[2019-11-26T06:27:48,119][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.dead_letter_queue", :path=>"/var/lib/logstash/dead_letter_queue"}
[2019-11-26T06:27:50,331][INFO ][org.reflections.Reflections] Reflections took 47 ms to scan 1 urls, producing 20 keys and 40 values 
Configuration OK
[2019-11-26T06:27:51,899][INFO ][logstash.runner          ] Using config.test_and_exit mode. Config Validation Result: OK. Exiting Logstash

¡Felicidades! ha instalado y configurado correctamente Logstash en el servidor Ubuntu 18.04.


Ubuntu
  1. Cómo instalar R en Ubuntu 20.04

  2. Cómo instalar XWiki en Ubuntu 20.04

  3. Cómo instalar phpBB en Ubuntu 20.04

  4. Cómo instalar MongoDB en Ubuntu 20.04

  5. Cómo instalar R en Ubuntu 18.04

Cómo instalar Go en Ubuntu 20.04

Cómo instalar Go en Ubuntu 22.04

Cómo instalar Jenkins en Ubuntu 18.04

Cómo instalar Ruby en Ubuntu 18.04

Cómo instalar Kanboard en Ubuntu 20.04

Cómo instalar OpenMAINT en Ubuntu 20.04