GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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

Introducción

La pila ELK es un conjunto de aplicaciones para recuperar y administrar archivos de registro.

Es una colección de tres herramientas de código abierto, Elasticsearch , Kibana y Logstash . La pila se puede actualizar aún más con Beats , un complemento ligero para agregar datos de diferentes flujos de datos.

En este tutorial, aprenda a instalar la pila de software ELK en Ubuntu 18.04/20.04.

Requisitos previos

  • Un sistema Linux con Ubuntu 20.04 o 18.04
  • Acceso a una ventana de terminal/línea de comando (Buscar > Terminal )
  • Una cuenta de usuario con sudo o raíz privilegios
  • Java versión 8 u 11 (requerido para Logstash)

Paso 1:Instalar dependencias

Instalar Java

La pila ELK requiere la instalación de Java 8. Algunos componentes son compatibles con Java 9, pero no con Logstash.

Si ya tiene instalado Java 8, salte a Instalar Nginx.

1. Si no tiene instalado Java 8, instálelo abriendo una ventana de terminal e ingresando lo siguiente:

sudo apt-get install openjdk-8-jdk

2. Si se le solicita, escriba y y pulsa Intro para que termine el proceso.

Instalar Nginx

Nginx funciona como servidor web y servidor proxy. Se utiliza para configurar el acceso controlado por contraseña al panel de control de Kibana.

1. Instale Nginx ingresando lo siguiente:

sudo apt-get install nginx

2. Si se le solicita, escriba y y pulsa Intro para que termine el proceso.

Paso 2:Agregar repositorio elástico

Los repositorios elásticos permiten el acceso a todo el software de código abierto en la pila de ELK. Para agregarlos, comience importando la clave GPG.

1. Ingrese lo siguiente en una ventana de terminal para importar la clave PGP para Elastic:

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

2. El sistema debería responder con OK , como se ve en la imagen de abajo.


3. A continuación, instale el apt-transport-https paquete:

sudo apt-get install apt-transport-https

4. Agregue el repositorio de Elastic a la lista de repositorios de su sistema:

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

Paso 3:Instalar Elasticsearch

1. Antes de instalar Elasticsearch, actualice los repositorios ingresando:

sudo apt-get update

2. Instale Elasticsearch con el siguiente comando:

sudo apt-get install elasticsearch

Configurar Elasticsearch

1. Elasticsearch usa un archivo de configuración para controlar cómo se comporta. Abra el archivo de configuración para editarlo en un editor de texto de su elección. Usaremos nano:

sudo nano /etc/elasticsearch/elasticsearch.yml

2. Debería ver un archivo de configuración con varias entradas y descripciones diferentes. Desplácese hacia abajo para encontrar las siguientes entradas:

#network.host: 192.168.0.1
#http.port: 9200

3. Descomente las líneas eliminando el hash (# ) firmar al principio de ambas líneas y reemplaza 192.168.0.1 con localhost .

Debería decir:

network.host: localhost
http.port: 9200

4. Justo debajo, busque el Discovery sección. Estamos agregando una línea más, ya que estamos configurando un clúster de un solo nodo:

discovery.type: single-node

Para obtener más detalles, consulte la imagen a continuación.

5. De forma predeterminada, tamaño de almacenamiento dinámico de JVM se establece en 1 GB. Recomendamos establecerlo en no más de la mitad del tamaño de su memoria total. Abra el siguiente archivo para editarlo:

sudo nano /etc/elasticsearch/jvm.options

6. Encuentra las líneas que comienzan con -Xms y -Xmx . En el siguiente ejemplo, el máximo (-Xmx ) y mínimo (-Xms ) el tamaño está establecido en 512 MB.

Iniciar Elasticsearch

1. Inicie el servicio Elasticsearch ejecutando un systemctl comando:

sudo systemctl start elasticsearch.service

El sistema puede tardar un tiempo en iniciar el servicio. No habrá salida si tiene éxito.

2. Habilite Elasticsearch para que se inicie en el arranque:

sudo systemctl enable elasticsearch.service

Prueba Elasticsearch

Usa el curl comando para probar su configuración. Introduzca lo siguiente:

curl -X GET "localhost:9200"

Debe aparecer el nombre de su sistema y elasticsearch para el nombre del clúster. Esto indica que Elasticsearch es funcional y está escuchando en puerto 9200 .

Paso 4:Instalar Kibana

Se recomienda instalar Kibana a continuación. Kibana es una interfaz gráfica de usuario para analizar e interpretar los archivos de registro recopilados.

1. Ejecute el siguiente comando para instalar Kibana:

sudo apt-get install kibana

2. Permita que el proceso termine. Una vez terminado, es hora de configurar Kibana.

Configurar Kibana

1. A continuación, abre kibana.yml archivo de configuración para editar:

sudo nano /etc/kibana/kibana.yml

2. Elimina el # firma al principio de las siguientes líneas para activarlas:

#server.port: 5601
#server.host: "your-hostname"
#elasticsearch.hosts: ["http://localhost:9200"]

Las líneas mencionadas anteriormente deben tener el siguiente aspecto:

server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]

3. Guarde el archivo (Ctrl+o ) y salir (Ctrl+ x ).

Iniciar y habilitar Kibana

1. Inicie el servicio Kibana:

sudo systemctl start kibana

No hay salida si el servicio se inicia correctamente.

2. A continuación, configure Kibana para que se inicie en el arranque:

sudo systemctl enable kibana

Permitir tráfico en el puerto 5601

Si el firewall UFW está habilitado en su sistema Ubuntu, debe permitir el tráfico en el puerto 5601 para acceder al panel de control de Kibana.

En una ventana de terminal, ejecute el siguiente comando:

sudo ufw allow 5601/tcp

Debería mostrarse el siguiente resultado:

Prueba Kibana

Para acceder a Kibana, abra un navegador web y busque la siguiente dirección:

http://localhost:5601

Se carga el panel de control de Kibana.

Si recibe un mensaje “El servidor Kibana aún no está listo” error, verifique si los servicios de Elasticsearch y Kibana están activos.

Paso 5:Instalar Logstash

Logstash es una herramienta que recopila datos de diferentes fuentes. Kibana analiza los datos que recopila y los almacena en Elasticsearch.

Instale Logstash ejecutando el siguiente comando:

sudo apt-get install logstash

Iniciar y habilitar Logstash

1. Inicie el servicio Logstash:

sudo systemctl start logstash

2. Habilite el servicio Logstash:

sudo systemctl enable logstash

3. Para verificar el estado del servicio, ejecute el siguiente comando:

sudo systemctl status logstash

Configurar Logstash

Logstash es una parte altamente personalizable de la pila ELK. Una vez instalado, configure su INPUT , FILTROS y SALIDA canalizaciones según su propio caso de uso individual.

Todos los archivos de configuración personalizados de Logstash se almacenan en /etc/logstash/conf.d/ .

Paso 6:Instalar Filebeat

Filebeat es un complemento ligero que se utiliza para recopilar y enviar archivos de registro. Es el módulo Beats más utilizado. Una de las principales ventajas de Filebeat es que ralentiza su ritmo si el servicio Logstash está sobrecargado de datos.

Instale Filebeat ejecutando el siguiente comando:

sudo apt-get install filebeat

Deje que se complete la instalación.

Configurar Filebeat

Filebeat, de forma predeterminada, envía datos a Elasticsearch. Filebeat también se puede configurar para enviar datos de eventos a Logstash.

1. Para configurar esto, edite el filebeat.yml archivo de configuración:

sudo nano /etc/filebeat/filebeat.yml

2. Debajo de Elasticsearch osalida sección, comente las siguientes líneas:

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

3. Debajo de la salida de Logstash sección, elimine el signo de almohadilla (# ) en las dos líneas siguientes:

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

Debería verse así:

output.logstash
     hosts: ["localhost:5044"]

Para obtener más detalles, consulte la imagen a continuación.

4. A continuación, habilite el sistema Filebeat módulo, que examinará los registros del sistema local:

sudo filebeat modules enable system

El resultado debe leer Enabled system .

5. A continuación, cargue la plantilla de índice:

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

El sistema hará algo de trabajo, escaneará su sistema y se conectará a su panel de Kibana.

Iniciar y habilitar Filebeat

Inicie y habilite el servicio Filebeat:

sudo systemctl start filebeat
sudo systemctl enable filebeat

Verificar la recepción de datos de Elasticsearch

Finalmente, verifique si Filebeat está enviando archivos de registro a Logstash para su procesamiento. Una vez procesados, los datos se envían a Elasticsearch.

curl -XGET http://localhost:9200/_cat/indices?v

Ubuntu
  1. Cómo instalar Elasticsearch, Logstash y Kibana (ELK Stack) en CentOS 8

  2. Cómo instalar Elastic Stack (Elasticsearch, Logstash y Kibana) en CentOS 8

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

  4. Cómo instalar ELK Stack en Ubuntu 16.04

  5. Instale Elasticsearch, Logstash y Kibana en Ubuntu 20.04

Cómo instalar ELK Stack en CentOS 8

Cómo instalar ELK Stack en Ubuntu 18.04 LTS

Cómo instalar ELK Stack en Ubuntu 20.04 LTS

Cómo instalar Elasticsearch Logstash Kibana (Elastic Stack) en Ubuntu 18.04

Cómo instalar la pila ELK en Debian 8

Cómo instalar ELK Stack en Ubuntu 20.04