La pila ELK consta de un conjunto de aplicaciones para recuperar y administrar archivos de registro. En la industria del desarrollo de software, los archivos de registro juegan un papel vital para identificar el problema y solucionarlo. ELK stack es una colección de diferentes herramientas de aplicaciones de código abierto como Elasticsearch , Kibana, y Logstash . ELK se puede utilizar para recopilar, buscar y visualizar los registros generados desde cualquier fuente en cualquier patrón mediante una consulta. En este artículo, aprenderemos cómo instalar y configurar la pila ELK en Ubuntu y Debian.
Requisitos previos:
- Servidor Ubuntu 20.04 o Debian 10 actualizado
- Cuenta con privilegios de raíz
- Conexión a Internet adecuada
Instalar Java
La instalación de la pila ELK requiere un entorno Java. Ejecute el siguiente comando para instalar Java en Ubuntu/Debian
$ sudo apt install openjdk-8-jdk
Verifique la instalación comprobando la versión de Java
$ java -version
Salida:
Instalar y configurar Elasticsearch
Una vez que Java está instalado, ahora es el momento de instalar y configurar Elasticsearch. Dado que los paquetes de Elasticsearch no están disponibles de forma predeterminada en Ubuntu/Debian, debemos agregar el repositorio apt de elasticsearch. Ejecute el siguiente comando para agregar la clave del repositorio GPG.
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Ahora crea el archivo del repositorio usando el comando.
$ echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Una vez que se crea el archivo del repositorio, se puede instalar elasticsearch usando el comando.
$ sudo apt update
$ sudo apt install elasticsearch
El archivo de configuración predeterminado de elasticsearch se encuentra en /etc/elasticsearch/elasticsearch.yml . Use cualquier editor de texto y descomente las líneas:
network.host: localhost
http.port: 9200
Inicie y habilite elasticsearch
$ sudo systemctl start elasticsearch
$ sudo systemctl enable elasticsearch
Ejecute el siguiente comando para ver el estado y los detalles de Elasticsearch
$ curl -X GET "localhost:9200"
Salida:
Instalar y configurar Logstash
El paquete Logstash está disponible de forma predeterminada en los sistemas Ubuntu/Debian. Ejecute el siguiente comando para instalar.
$ sudo apt install logstash
Iniciar y habilitar el servicio
$ sudo systemctl start logstash
$ sudo systemctl enable logstash
Verifique el servicio usando el comando
$ systemctl status logstash
El directorio de configuración predeterminado de logstash es /etc/logstash/conf.d/ . Una vez completada la instalación INPUT , FILTRO y SALIDA las canalizaciones se pueden configurar en función de los casos de uso requeridos.
Instalar y configurar Kibana
Kibana es una herramienta GUI basada en la web que se utiliza para analizar y analizar los registros recopilados. Kibana está disponible en el repositorio predeterminado de Ubuntu/Debian. Ejecute el siguiente comando para instalar el paquete.
$ sudo apt install kibana
Para configurar kibana, vaya al directorio de configuración predeterminado y descomente las siguientes líneas
$ sudo vim /etc/kibana/kibana.yml
server.port: 5601 server.host: "localhost" elasticsearch.hosts: ["http://localhost:9200"]
Iniciar y habilitar el servicio
$ sudo systemctl start kibana
$ sudo systemctl enable kibana
Permitir el puerto kibana en el cortafuegos
$ sudo ufw allow 5601/tcp
Ahora acceda al tablero de Kibana usando la url http://localhost:5601
Instalar y configurar filebeat
Filebeat se usa para enviar registros a elasticsearch y logstash para analizar. Filebeat está disponible por defecto en el repositorio de Ubuntu/Debian. Ejecute el siguiente comando para instalar.
$ sudo apt install filebeat -y
Para configurar Filebeat, vaya al directorio de configuración predeterminado y comente lo siguiente.
$ sudo vim /etc/filebeat/filebeat.yml
# output.elasticsearch: # Array of hosts to connect to . # hosts: ["localhost:9200"]
Descomente la siguiente línea y guarde el archivo
output.logstash: hosts: [“localhost:5044”]
En el siguiente paso, habilite el módulo del sistema filebeat
$ sudo filebeat modules enable system
Ahora ejecute el siguiente comando para cargar la plantilla de índice
$ sudo filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
Inicie y habilite el servicio Filebeat
$ sudo systemctl start filebeat
$ sudo systemctl enable filebeat
Comprobar el estado
$ sudo systemctl status filebeat
Conclusión
En este artículo, he cubierto cómo instalar y configurar la pila ELK en Debian/Ubuntu de la manera correcta. Además, hemos aprendido a usar diferentes componentes como Kibana, Logstash y Kibana para analizar y visualizar los registros de cualquier fuente.