GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar el software Logstash Logfile Analytics en Ubuntu 20.04

ELK es una combinación de tres productos de código abierto, ElasticSearch, Logstash y Kibana. Es una de las plataformas de gestión de registros más populares del mundo. Elasticsearch es un motor de búsqueda y análisis. Logstash es una canalización de procesamiento de registros que transporta registros de múltiples fuentes simultáneamente, los transforma y luego los envía a un "alijo" como Elasticsearch. Kibana se usa para visualizar sus datos que Logstash ha indexado en el índice de Elasticsearch

En este tutorial explicaremos cómo instalar Logstash en Ubuntu 20.04.

Requisitos

  • Un servidor con Ubuntu 20.04.
  • Se configura una contraseña raíz en el servidor.

Instalar dependencias requeridas

Para instalar Elasticsearch, deberá instalar Java en su sistema. Puede instalar Java JDK con el siguiente comando:

apt-get install openjdk-11-jdk -y

Una vez instalado, verifique la versión instalada de Java con el siguiente comando:

java -version

Debería ver el siguiente resultado:

openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Luego, instale otras dependencias requeridas ejecutando el siguiente comando:

apt-get install nginx curl gnupg2 wget -y

Una vez que todas las dependencias estén instaladas, puede continuar con el siguiente paso.

Instalar y configurar Elasticsearch

Antes de comenzar, deberá instalar Elasticsearch en su sistema. Almacena registros y eventos de Logstash y ofrece la posibilidad de buscar los registros en tiempo real.

Primero, agregue el repositorio de Elastic a su sistema con el siguiente comando:

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
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, actualice el repositorio e instale Elasticsearch con el siguiente comando:

apt-get update -y
apt-get install elasticsearch -y

Una vez instalado, edite el archivo de configuración predeterminado de Elasticsearch:

nano /etc/elasticsearch/elasticsearch.yml

Descomente y cambie su valor como se muestra a continuación:

network.host: localhost  

Guarde y cierre el archivo, luego inicie el servicio Elasticsearch y habilítelo para que comience en el arranque con el siguiente comando:

systemctl start elasticsearch
systemctl enable elasticsearch

En este punto, Elasticsearch está instalado y escuchando en el puerto 9200. Ahora puede probar si Elasticsearch funciona o no ejecutando el siguiente comando:

curl -X GET "localhost:9200"

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

{
  "name" : "ubuntu2004",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AVRzLjAbQTK-ayYQc0GaMA",
  "version" : {
    "number" : "7.8.0",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
    "build_date" : "2020-06-14T19:35:50.234439Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar y configurar Kibana

A continuación, deberá instalar Kibana en su sistema. Kibana le permite analizar los datos almacenados en Elasticsearch. Puede instalarlo simplemente ejecutando el siguiente comando:

apt-get install kibana -y

Una vez que se haya instalado Kibana, inicie el servicio de Kibana y habilítelo para que se inicie en el arranque con el siguiente comando:

systemctl start kibana
systemctl enable kibana

A continuación, deberá crear un usuario administrativo para que Kibana acceda a la interfaz web de Kibana. Ejecute el siguiente comando para crear el usuario y la contraseña administrativos de Kibana y guárdelos en el archivo htpasswd.users.

echo "admin:`openssl passwd -apr1`" | tee -a /etc/nginx/htpasswd.users

Se le pedirá que proporcione una contraseña como se muestra en el siguiente resultado:

Password: 
Verifying - Password: 
admin:$apr1$8d05.YO1$E0Q8QjfNxxxPtD.unmDs7/

A continuación, cree un archivo de configuración de host virtual de Nginx para servir a Kibana:

nano /etc/nginx/sites-available/kibana

Agregue las siguientes líneas:

server {
    listen 80;

    server_name kibana.example.com;

    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/htpasswd.users;

    location / {
        proxy_pass http://localhost:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Guarde y cierre el archivo, luego habilite el archivo de host virtual Nginx con el siguiente comando:

ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/

A continuación, reinicie el servicio Nginx para aplicar los cambios:

systemctl restart nginx

Luego, abra su navegador web y verifique el estado de Kibana usando la URL http://kibana.example.com/status. Se le pedirá que proporcione el nombre de usuario y la contraseña como se muestra a continuación:

Proporcione su nombre de usuario y contraseña de Kibana y haga clic en el botón Iniciar sesión. Debería ver la siguiente pantalla:

En este punto, el tablero de Kibana está instalado en su sistema. Ahora puede continuar con el siguiente paso.

Instalar y configurar Logstash

Logstash se utiliza para el procesamiento de registros enviados por latidos. Puede instalarlo ejecutando el siguiente comando:

apt-get install logstash -y

Una vez que se haya instalado Logstash, cree un nuevo archivo de configuración de ritmo con el siguiente comando:

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

Agregue las siguientes líneas:

input {
  beats {
    port => 5044
  }
}

Guarde y cierre el archivo, luego cree un archivo de configuración de Elasticsearch con el siguiente comando:

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

Agregue las siguientes líneas:

output {
  if [@metadata][pipeline] {
    elasticsearch {
    hosts => ["localhost:9200"]
    manage_template => false
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    pipeline => "%{[@metadata][pipeline]}"
    }
  } else {
    elasticsearch {
    hosts => ["localhost:9200"]
    manage_template => false
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    }
  }
}

Guarde y cierre el archivo, luego verifique su configuración de Logstash con este comando:

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

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

Config Validation Result: OK. Exiting Logstash

A continuación, inicie el servicio Logstash y habilítelo para que se inicie en el arranque con el siguiente comando:

systemctl start logstash
systemctl enable logstash

En este punto, Logstash está instalado en su sistema. Ahora puede continuar con el siguiente paso.

Instalar y configurar Filebeat

La pila ELK usa Filebeat para recopilar datos de varias fuentes y transportarlos a Logstash.

Puede instalar Filebeat con el siguiente comando:

apt-get install filebeat -y

Una vez instalado, deberá configurar Filebeat para conectarse a Logstash. Puedes configurarlo con el siguiente comando:

nano /etc/filebeat/filebeat.yml

Comente las siguientes líneas:

#output.elasticsearch:
  # Array of hosts to connect to.
#  hosts: ["localhost:9200"]

Luego, descomente las siguientes líneas:

output.logstash:
  # The Logstash hosts
  hosts: ["localhost:5044"]

Guarde y cierre el archivo, luego habilite el módulo del sistema con el siguiente comando:

filebeat modules enable system

De forma predeterminada, Filebeat está configurado para usar rutas predeterminadas para los registros de autorización y syslog.

Puede cargar la canalización de ingesta para el módulo del sistema con el siguiente comando:

filebeat setup --pipelines --modules system

A continuación, cargue la plantilla con el siguiente comando:

filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

Debería ver el siguiente resultado:

Index setup finished.

De forma predeterminada, Filebeat incluye paneles de muestra de Kibana que le permiten visualizar los datos de Filebeat en Kibana. Por lo tanto, debe deshabilitar la salida de Logstash y habilitar la salida de Elasticsearch. Puedes hacerlo con el siguiente comando:

filebeat setup -E output.logstash.enabled=false -E output.elasticsearch.hosts=['localhost:9200'] -E setup.kibana.host=localhost:5601

Debería ver el siguiente resultado:

Overwriting ILM policy is disabled. Set `setup.ilm.overwrite:true` for enabling.

Index setup finished.
Loading dashboards (Kibana must be running and reachable)
Loaded dashboards
Setting up ML using setup --machine-learning is going to be removed in 8.0.0. Please use the ML app instead.
See more: https://www.elastic.co/guide/en/elastic-stack-overview/current/xpack-ml.html
Loaded machine learning job configurations
Loaded Ingest pipelines

Ahora, inicie el servicio Filebeat y habilítelo para que se inicie en el arranque con el siguiente comando:

systemctl start filebeat
systemctl enable filebeat

Acceder al panel de control de Kibana

En este punto, todos los componentes de ELK están instalados y configurados. Ahora, abra su navegador web y escriba la URL http://kibana.example.com. Debería ver el panel de control de Kibana en la siguiente pantalla:

En el panel izquierdo, haga clic en Descubrir y seleccione el patrón de índice filebeat-* predefinido para ver los datos de Filebeat en la siguiente pantalla:

Ahora, Kibana ofrece muchas funciones. Siéntase libre de explorarlos como desee.

Conclusión

¡Felicidades! Ha instalado y configurado correctamente Logstash en el servidor Ubuntu 20.04. Ahora puede recopilar y analizar registros del sistema desde una ubicación central. Siéntase libre de preguntarme si tiene alguna pregunta.


Ubuntu
  1. Cómo instalar Logstash en Ubuntu 18.04

  2. Cómo instalar Graylog2 en Ubuntu 14.04

  3. Cómo instalar Elasticsearch, Logstash y Kibana 4 en Ubuntu 14.04 / 15.04

  4. Cómo instalar Graylog2 en Ubuntu 15.04 / 14.10

  5. Cómo instalar y configurar Elasticsearch en Ubuntu 20.04

Cómo instalar Graylog 3.0 en Ubuntu 18.04 / Ubuntu 16.04

Cómo instalar Elasticsearch, Logstash y Kibana (ELK Stack) en Ubuntu 18.04/Ubuntu 16.04

Cómo instalar Thunderbird en Ubuntu 20.04

Cómo instalar software a través de Flatpak en Ubuntu

Cómo instalar el software Flarum Forum en Ubuntu 22.04 | 20.04

Cómo instalar Graylog en Ubuntu 18.04 LTS