Ubuntu

Cómo instalar ELK Stack en Ubuntu 18.04

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 incluyen Elasticsearch, Logstash y Kibana. Todos 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).

Instalar y configurar ELK Stack en Ubuntu

En este tutorial, usaremos filebeat para enviar datos de registro a Logstash. Los Beats son remitentes de datos livianos y, para empezar, deberíamos tener que instalar el agente en los servidores.

Paso 1) Instalación de Java 8

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

Inicie la Terminal y agregue el repositorio de 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

Presta 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 utilizando los siguientes comandos:

.sudo java -version

Comprobación de la versión de Java

sudo echo $ JAVA_HOME

Compruebe la página de inicio de Java

Paso 2) Instalar y configurar Elasticsearch

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

sudo wget -qO - https: // artefactos.elástico.co / GPG-KEY-elasticsearch | sudo apt-key add -

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

sudo apt-get install apt-transport-https

Agrega el repositorio:

echo "deb https: // artefactos.elástico.co / paquetes / 6.x / apt estable principal "| sudo tee -a / etc / apt / sources.lista.d / elástico-6.X.lista

Actualice la lista de repositorios e instale el paquete:

sudo apt-get update
sudo apt-get install elasticsearch

Modifiquemos "elasticsearch.yml "archivo:

sudo vim / etc / elasticsearch / elasticsearch.yml

Descomentar "red.host ”y“ http.Puerto". Se debe agregar la siguiente configuración:

la red.host: localhost http.puerto: 9200

A continuación, guarde y cierre el archivo.

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

sudo systemctl habilitar elasticsearch.Servicio
sudo systemctl start elasticsearch.Servicio

Verifique la instalación:

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

Ver ElasticSearch

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:

servidor.puerto: servidor 5601.host: búsqueda elástica "localhost".url: "http: // localhost: 9200"

Guardar y salir del archivo.

Habilítelo al arrancar e inicie el servicio Kibana:

sudo systemctl habilitar kibana.Servicio
sudo systemctl iniciar kibana.Servicio

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

En líneas similares, instalemos Nginx, configurémoslo e iniciemos el servicio. Utilice los siguientes comandos uno a la vez:

sudo apt-get install nginx apache2-utils

Configurar el host virtual:

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

Agregue la siguiente configuración al archivo:

 servidor escuchar 80; nombre_servidor elk.Fosslinux.com; auth_basic "Acceso restringido"; auth_basic_user_file / etc / nginx /.elkusersecret; ubicación / proxy_pass http: // localhost: 5601; proxy_http_version 1.1; actualización de proxy_set_header $ http_upgrade; proxy_set_header Conexión 'actualización'; 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

Autenticación ELK

Ingrese contraseña y repita. Verifique las configuraciones de Nginx:

sudo nginx -t

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

sudo systemctl habilitar nginx.Servicio
sudo systemctl reiniciar nginx.Servicio

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

Instale 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 file beat. 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 por el suyo.

172.31.31.158 servidor elk servidor elk

Cuando termine, 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 al nombre de su 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/

crear un archivo filebeat-input usando vim.

sudo vim filebeat-input.conf

Agregue 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.clave"  

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

sudo vim syslog-filter.conf

Agregue el siguiente contenido.

filter if [type] == "syslog" grok match => "message" => "% SYSLOGTIMESTAMP: syslog_timestamp% SYSLOGHOST: syslog_hostname% DATA: syslog_program (?: \ [% POSINT: syslog_pid \])?:% GREEDYDATA: syslog_message " add_field => [" recibido_en ","% @ timestamp "] add_field => [" recibido_from ","% host "] fecha 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

Agregue las siguientes líneas.

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

Habilitemos Logstash en el arranque e iniciemos el servicio:

sudo systemctl habilitar logstash.Servicio
sudo systemctl iniciar logstash.Servicio

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

Empiece por editar el Hospedadores archivo para agregar entradas de host elk. Asegúrese de reemplazar la IP y el nombre con los suyos.

sudo vim / etc / hosts
172.31.31.158 servidor de alces

Guardar y salir del archivo.

Descargue e instale la clave de firma pública:

sudo wget -qO - https: // artefactos.elástico.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: // artefactos.elástico.co / paquetes / 6.x / apt estable principal "| sudo tee -a / etc / apt / sources.lista.d / elástico-6.X.lista

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".

habilitado: verdadero

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

 rutas: - / var / log / *.Iniciar sesión

Descomente las siguientes líneas:

producción.logstash: # Los hosts de Logstash hosts: ["elk-server: 5443"] ssl.autoridades_certificadas: ["/ etc / filebeat / logstash-forwarder.crt "]

Comentario Elasticsearch:

#producción.elasticsearch: # Matriz de hosts a los que conectarse. # hosts: ["localhost: 9200"]

Guardar y salir del archivo.

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

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

SSL Crt

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

Crea un archivo de certificado

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

insertar salida copiada y guardar y salir.

Permitir filebeat en el inicio del sistema Iniciar filebeat Servicio.

sudo systemctl habilitar filebeat.Servicio
sudo systemctl iniciar filebeat.Servicio

Paso 7) Examinar el panel de Kibana

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

http: // alce.Fosslinux.com

Autenticación del navegador

Ingrese 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 mi propio".

Página de bienvenida de Kibana

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

Página de inicio de Kibana

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

Crear índice

Luego defina el patrón de índice "filebeat- *".

Definir índice

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

Elija TimeStamp

Se debe crear un patrón de índice.

Patrón de índice creado

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

Descubrir registros

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.

Comprobar archivos de registro

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

Cómo desarrollar un juego en Linux
Hace una década, no muchos usuarios de Linux predecían que su sistema operativo favorito algún día sería una plataforma de juegos popular para videoju...
Puertos de código abierto de motores de juegos comerciales
Las recreaciones gratuitas, de código abierto y de motores de juegos multiplataforma se pueden usar para jugar títulos de juegos antiguos y también al...
Los mejores juegos de línea de comandos para Linux
La línea de comandos no es solo su mayor aliado cuando usa Linux, también puede ser la fuente de entretenimiento porque puede usarla para jugar muchos...