GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar ELK Stack en Ubuntu 18.04

ELK Stack es la plataforma de gestión de registros más popular del mundo. Es una colección de productos de código abierto que incluye Elasticsearch, Logstash y Kibana. Estos 3 productos son desarrollados, administrados y mantenidos por Elastic.

ELK Stack es una plataforma poderosa y de código abierto que puede administrar una gran cantidad de datos registrados. El registro de entradas generalmente proviene de una interfaz web gráfica (GUI).

  • Elasticsearch es un motor de análisis y búsqueda basado en JSON destinado a la escalabilidad horizontal y una administración más sencilla.
  • Logstash es una interfaz de procesamiento de datos del lado del servidor que tiene la capacidad de recopilar datos de varias fuentes al mismo tiempo. Luego lo transforma y luego envía los datos a su alijo deseado. Es una aplicación de código abierto.
  • Kibana se usa para visualizar sus datos y navegar por el Elastic Stack. También es una herramienta de código abierto.

Instalar y configurar ELK Stack en Ubuntu

En este tutorial, vamos a utilizar filebeat para enviar datos de registro a Logstash. Los Beats son cargadores de datos ligeros y, para empezar, deberíamos instalar el agente en los servidores.

Paso 1) Instalación de Java 8

ElasticSearch admite Java 8 y 9, pero el problema es que Logstash solo es compatible con Java 8. Java 9 aún no es compatible. Por lo tanto, vamos a instalar Oracle Java 8.

Inicie la Terminal y agregue el repositorio Oracle Java 8, seguido de una actualización del sistema y la instalación real.

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt install oracle-java8-set-default

Atención a la Terminal. Deberá aceptar las ventanas del acuerdo de licencia y seleccionar "sí" para continuar. Una vez completada la instalación, puede verificar la versión de Java usando los siguientes comandos:

.sudo java -version
sudo echo $JAVA_HOME

Paso 2) Instalación y configuración de Elasticsearch

Comencemos con wget comando para descargar Elasticsearch seguido de la clave de firma pública:

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

En segundo lugar, instale el paquete apt-transport-https (las distribuciones basadas en Debian lo necesitan).

sudo apt-get install apt-transport-https

Agrega el repositorio:

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

Actualice la lista de repositorios e instale el paquete:

sudo apt-get update
sudo apt-get install elasticsearch

Modifiquemos el archivo “elasticsearch.yml”:

sudo vim /etc/elasticsearch/elasticsearch.yml

Descomente "network.host" y "http.port". Se debe agregar la siguiente configuración:

network.host: localhost
http.port: 9200

A continuación, guarde y cierre el archivo.

Para asegurarse de que ElasticSearch funcione sin problemas, actívelo en el arranque e inicie ElasticSearch.

sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

Comprobar instalación:

sudo curl -XGET 'localhost:9200/?pretty'

Paso 3) Instalación de Kibana

Comencemos a instalar Kibana ahora y modifiquemos la configuración de Kibana:

sudo apt-get install kibana
sudo vim /etc/kibana/kibana.yml

Descomente las siguientes líneas:

server.port: 5601
server.host: "localhost"
elasticsearch.url: "http://localhost:9200"

Guarde y salga del archivo.

Habilítelo en el arranque e inicie el servicio Kibana:

sudo systemctl enable kibana.service
sudo systemctl start kibana.service

Paso 4) Configuración de Nginx como proxy inverso para Kibana

De manera similar, instalemos Nginx, configuremos e iniciemos el servicio. Use los siguientes comandos uno a la vez:

sudo apt-get install nginx apache2-utils

Configurar servidor virtual:

sudo vim /etc/nginx/sites-available/elk

Agregue la siguiente configuración al archivo:

 server {
    listen 80;
 
    server_name elk.fosslinux.com;
 
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.elkusersecret;
 
    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;
    }
}

Cree un archivo de usuario y contraseña para la autenticación del navegador web:

sudo htpasswd -c /etc/nginx/.elkusersecret elkusr

Introduzca la contraseña y repita. Compruebe las configuraciones de Nginx:

sudo nginx -t

Habilite Nginx en el arranque del sistema y reinicie el servicio:

sudo systemctl enable nginx.service
sudo systemctl restart nginx.service

Paso 5) Instalación y configuración de Logstash

Instalar Logstash:

sudo apt-get install logstash

Aquí vamos a generar una clave de certificado SSL para asegurar la transferencia de registros desde el cliente de archivos. Modifique el archivo "hosts" antes de crear el certificado SSL.

sudo vim /etc/hosts

Agregue la siguiente línea al archivo. Asegúrese de cambiar la IP y el nombre del servidor a los suyos.

172.31.31.158 elk-server elk-server

Cuando haya terminado, guarde y salga del archivo.

Ahora cambie el directorio a Logstash.

sudo cd /etc/logstash/

Cree una carpeta para SSL:

sudo mkdir ssl

Generar certificado SSL. Cambie elk-server a su nombre de servidor en el siguiente comando.

sudo openssl req -subj '/CN=elk-server/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout ssl/logstash-forwarder.key -out ssl/logstash-forwarder.crt

Cree los siguientes archivos dentro de “/etc/logstash/conf.d”.

sudo cd /etc/logstash/conf.d/

crea un archivo de entrada filebeat usando vim.

sudo vim filebeat-input.conf

Añádele las siguientes líneas.

input {
  beats {
    port => 5443
    type => syslog
    ssl => true
    ssl_certificate => "/etc/logstash/ssl/logstash-forwarder.crt"
    ssl_key => "/etc/logstash/ssl/logstash-forwarder.key"
  }
}

Guarde y cierre el archivo y cree un nuevo archivo de configuración.

sudo vim syslog-filter.conf

Añádele los siguientes contenidos.

filter {
  if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
      add_field => [ "received_at", "%{@timestamp}" ]
      add_field => [ "received_from", "%{host}" ]
    }
    date {
      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}

Guardar y salir del archivo. Crear búsqueda elástica archivo de salida.

sudo vim output-elasticsearch.conf

Añádele las siguientes líneas.

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

Habilitemos Logstash en el arranque e iniciemos el servicio:

sudo systemctl enable logstash.service
sudo systemctl start logstash.service

Paso 6) Instalación y configuración de Filebeat en los servidores del cliente

Comience con la edición de los hosts archivo para agregar entradas de host elk. Asegúrate de reemplazar la IP y el nombre con los tuyos.

sudo vim /etc/hosts
172.31.31.158 elk-server

Guarde y salga del archivo.

Descargue e instale la clave de firma pública:

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

Instale "apt-transport-https" y agregue el repositorio.

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

Actualice el repositorio e instale Filebeat.

sudo apt-get update
sudo apt-get install filebeat

Modificar configuraciones de Filebeat.

sudo vim /etc/filebeat/filebeat.yml

Busque la siguiente línea y modifique el valor a "verdadero".

enabled: true

Aquí no estamos modificando la ruta del registro y Filebeat reenviará todos los registros dentro de la carpeta "var/log"

  paths:
    - /var/log/*.log

Descomente las siguientes líneas:

output.logstash:
  # The Logstash hosts
  hosts: ["elk-server:5443"]
  ssl.certificate_authorities: ["/etc/filebeat/logstash-forwarder.crt"]

Comente Elasticsearch:

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

Guarde y salga del archivo.

Ahora vaya al servidor ELK y obtenga el contenido de "logstash-forwarder.crt"

sudo cat /etc/logstash/ssl/logstash-forwarder.crt

copie la salida y luego vaya a Elk cliente-servidor.

Crear un archivo de certificado

sudo vim /etc/filebeat/logstash-forwarder.crt

inserte la salida copiada y guarde y salga.

Habilitar filebeat en el arranque del sistema Iniciar filebeat servicio.

sudo systemctl enable filebeat.service
sudo systemctl start filebeat.service

Paso 7) Exploración del panel de control de Kibana

Inicie su navegador web favorito e ingrese el nombre de dominio seguido del nombre de usuario y la contraseña.

http://elk.fosslinux.com

Introduzca el nombre de usuario y la contraseña creados. Debería ver la página de bienvenida de Kibana. Haga clic en el botón "Explorar mis propios".

Debería ser dirigido a la página de inicio de Kibana.

Haga clic en "Descubrir" en el lado izquierdo. Haga clic en "Crear patrón de índice".

A continuación, defina el patrón de índice "filebeat-*".

Haga clic en Siguiente y elija @timestamp' y haga clic en 'Crear patrón de índice'.

Debería crearse un patrón de índice.

Haga clic en el menú "Descubrir" para ver los registros del servidor.

Los registros se mostrarán según la marca de tiempo. Haga clic en cualquier marca de tiempo para expandirla y ver el contenido del archivo de registro y sus detalles.

Si llegó aquí, implica que ha instalado y configurado con éxito la pila ELK con filebeat. ¿Tienes algún problema? No dude en hacérnoslo saber en los comentarios a continuación.


Ubuntu
  1. Cómo instalar Elasticsearch en Ubuntu 18.04

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

  3. Instalación de la pila ELK en Ubuntu 14.04

  4. Cómo instalar Zammad Community en ubuntu 20.04

  5. Cómo instalar ELK Stack en Ubuntu 16.04

Cómo instalar ELK Stack en CentOS 8

Cómo instalar Elasticsearch en Ubuntu 18.04 LTS

Cómo instalar ELK Stack en Ubuntu 20.04 LTS

Cómo instalar Elasticsearch en Ubuntu 20.04 LTS

Cómo instalar la pila ELK en Debian 8

Cómo instalar ELK Stack en Ubuntu 20.04