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

Iniciar sesión

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 previos

  • Un servidor con Ubuntu 20.04.
  • Una contrase√Īa de root est√° configurada en el servidor.

Instalar las 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)

A continuación, 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: Anuncio

Iniciar sesió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:

Estado de Kibana

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

Comenta 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 tablero de Kibana en la siguiente pantalla:

Panel de Kibana

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

Informe de datos de Filebeat

Ahora, Kibana ofrece muchas características. 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. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

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