GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo configurar la pila ELK en Debian 10 / Debian 9

ELK stack es una plataforma de análisis de datos con todas las funciones, consta de la herramienta de código abierto Elasticsearch, Logstash y Kibana. Le ayuda a almacenar y administrar registros de forma centralizada y le brinda la capacidad de analizar los problemas.

Este artículo lo ayuda a instalar la pila ELK en Debian 10 / Debian 9.

Instalar pila ELK

Elasticsearch:almacena los registros entrantes de Logstash y proporciona la capacidad de buscar registros/datos en tiempo real

Logstash:procesamiento (recopilar, enriquecer y enviarlo a Elasticsearch) de registros entrantes enviados por beats (reenviador).

Kibana:proporciona visualización de eventos y registros.

Beats:se instala en las máquinas cliente y envía registros a Logstash o Elasticsearch a través del protocolo beats.

Instalar Java

Elasticsearch requiere que OpenJDK u Oracle JDK estén disponibles en su máquina. Aquí, para esta demostración, estoy usando OpenJDK.

sudo apt update

sudo apt install -y openjdk-11-jre

Compruebe la versión de Java.

java -version

Salida:

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

Si desea utilizar OracleJDK, lea:

LEER:Cómo instalar Oracle Java en Debian 10 / Debian 9

Añadir repositorio elástico

Instale la compatibilidad con wget y HTTPS para apt.

sudo apt install -y wget apt-transport-https curl

Los paquetes ELK se pueden obtener del repositorio de Elastic.

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

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

Instalar y configurar Elasticsearch

Para empezar, ahora instalaremos el servidor Elasticsearch, un motor de búsqueda de código abierto basado en Lucene. Proporciona un motor de búsqueda de texto completo distribuido en tiempo real con capacidad para múltiples inquilinos con una interfaz web HTTP y documentos JSON sin esquema.

Elasticsearch almacena los datos enviados por Logstash y los muestra a través de Kibana a pedido del usuario.

Instale Elasticsearch usando el siguiente comando.

sudo apt update

sudo apt install -y elasticsearch-oss

Inicie el servicio Elasticsearch.

sudo systemctl start elasticsearch

sudo systemctl enable elasticsearch

Espere unos minutos y ejecute el siguiente comando para ver el estado de la interfaz REST de Elasticsearch.

curl -X GET http://localhost:9200

Salida:

{
  "name" : "debian10",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "6y4OcEnYS3qkN_AetQAYMQ",
  "version" : {
    "number" : "7.8.0",
    "build_flavor" : "oss",
    "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"
}

El resultado anterior confirma que Elasticsearch funciona correctamente.

Instalar y configurar Logstash

Logstash es un motor de recopilación de datos y análisis de registros de código abierto. Recopila registros, los analiza y los almacena en Elasticsearch para realizar búsquedas. Hay más de 160 complementos disponibles para Logstash, que brinda la capacidad de procesar diferentes tipos de eventos sin trabajo adicional.

sudo apt install -y logstash-oss

El archivo de configuración de Logstash consta de tres secciones, a saber, entrada, filtro y salida. Puede poner las tres secciones en un solo archivo, o un archivo separado para cada sección, terminar con .conf.

Aquí, usamos un solo archivo para colocar las secciones de entrada, filtro y salida. Cree un archivo de configuración en el directorio /etc/logstash/conf.d/.

sudo nano /etc/logstash/conf.d/beats-syslog.conf

En la sección de entrada, configuraremos Logstash para escuchar en el puerto 5044 los registros entrantes, desde beats (Forwarder) que se encuentran en las máquinas cliente.

input {
 beats {
   port => 5044
   ssl => false
  }
}

En la sección de filtros, usaremos Grok para analizar los registros antes de enviarlos a Elasticsearch para su almacenamiento.

El siguiente filtro grok buscará registros syslog etiquetados e intentará analizarlos para crear un índice estructurado.

filter {
if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGLINE}" }
    }

    date {
match => [ "timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
  }

}

Para ver más patrones de filtros GROK, echa un vistazo aquí.

En la sección de salida, definiremos dónde se almacenarán los registros, obviamente Elasticsearch en el caso de la pila ELK.

output {
 elasticsearch {
  hosts => localhost
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
       }
stdout {
    codec => rubydebug
       }
}

Ahora inicie y habilite el servicio Logstash.

sudo systemctl start logstash

sudo systemctl enable logstash

Si tiene algún problema, eche un vistazo al archivo de Logstash.

sudo cat /var/log/logstash/logstash-plain.log

Instalar y configurar Kibana

Kibana proporciona visualización de datos almacenados en Elasticsearch. Instale Kibana usando el siguiente comando.

sudo apt install -y kibana-oss

De forma predeterminada, Kibana escucha en el host local, lo que significa que no puede acceder a la interfaz web de Kibana desde otra máquina. Edite el archivo /etc/kibana/kibana.yml.

sudo nano /etc/kibana/kibana.yml

Realice cambios en la siguiente línea con la dirección IP de su servidor.

server.host: "192.168.0.10"

Inicie y habilite Kibana al iniciar la máquina.

sudo systemctl start kibana

sudo systemctl enable kibana

Instalar Filebeat

Filebeat es un software que se ejecuta en la máquina cliente. Envía registros al servidor Logstash para analizarlos o a Elasticsearch para almacenarlos, según la configuración.

Instale la compatibilidad con wget y HTTPS para apt.

sudo apt install -y wget apt-transport-https curl

Los paquetes ELK se pueden obtener del repositorio de Elastic.

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

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

Instale Filebeat usando el siguiente comando.

sudo apt update

sudo apt install -y filebeat-oss

El archivo de configuración principal de filebeat es /etc/filebeat/filebeat.yml.

sudo nano /etc/filebeat/filebeat.yml

Necesitamos editar este archivo para enviar registros al servidor de Logstash.

Las siguientes configuraciones envían syslog (/var/log/syslog) al servidor Logstash. Para esta demostración, he comentado /var/log/*.log para evitar enviar todos los registros al servidor de Logstash.

.  .  .

filebeat.inputs:

# Each - is an input. Most options can be set at the input level, so
# you can use different inputs for various configurations.
# Below are the input specific configurations.

- type: log

  # Change to true to enable this input configuration.
  enabled: true

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /var/log/syslog
    
.  .  .

En la sección Salidas, comente la sección salida.elasticsearch:ya que no vamos a almacenar registros en Elasticsearch.

Ahora, vaya a la línea output.logstash:y modifique las entradas para enviar registros a Logstash y mencione la ruta al archivo SSL copiado.

Nota: Reemplace "192.168.0.10" con la dirección IP del servidor de Logstash.

.   .   .

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

.   .   .

Reinicie el servicio Filebeat.

sudo systemctl restart filebeat

Acceder a Kibana

Puede acceder a la interfaz web de Kibana utilizando la siguiente URL.

http://tu-dirección-ip:5601/

O

http://nombre-de-su-servicio:5601

En su primer inicio de sesión, debe asignar el índice de filebeat. Haz clic en Explorar por mi cuenta para crear un patrón de índice.

Haga clic en el Menú (icono de hamburguesa)>> Gestión de pilas>>> Patrones de índice>> Crear patrón de índice .

Escriba lo siguiente en el cuadro Patrón de índice y haga clic en Siguiente paso.

filebeat-*

Seleccione @timestamp y luego haga clic en Crear patrón de índice.

@timestamp

Revise los campos en el índice y su tipo principal registrado por Elasticsearch.

Haga clic en Descubrir en la navegación de la izquierda para ver los registros entrantes de una máquina cliente.

Conclusión

Eso es todo. Espero que haya aprendido a instalar la pila ELK en Debian 10/Debian 9. Comparta sus comentarios en la sección de comentarios.


Debian
  1. Cómo instalar Elasticsearch en Debian Linux

  2. Cómo instalar Elasticsearch en Debian 9

  3. Cómo instalar Elasticsearch en Debian 10

  4. Cómo instalar ELK en Ubuntu 20.04

  5. Cómo instalar la pila ELK en RHEL 8

Cómo instalar la pila ELK en Debian 10

Cómo instalar Elasticsearch en Debian 11

Cómo instalar la pila LAMP en Debian 11

Cómo instalar ELK Stack en CentOS 7

Cómo instalar ELK Stack en CentOS 8

Cómo instalar la pila ELK en Debian 8