7.1 Componentes de ELK Stack
ELK Stack, compuesto por Elasticsearch, Logstash y Kibana, es una herramienta poderosa para el registro centralizado y análisis de datos. Permite recopilar, almacenar, analizar y visualizar logs desde varias fuentes, incluyendo contenedores Docker. En esta lección, veremos en detalle cómo configurar ELK Stack para el registro centralizado de contenedores Docker.
Componentes de ELK Stack
- Elasticsearch — sistema distribuido de búsqueda y análisis, utilizado para almacenar y buscar logs.
- Logstash — herramienta para la recopilación, procesamiento y envío de logs hacia Elasticsearch.
- Kibana — interfaz web para la visualización y análisis de datos almacenados en Elasticsearch.
7.2 Instalación de Elasticsearch
En Linux
1. Agregar el repositorio de Elasticsearch
Descarga e instala la clave pública del repositorio:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Agrega el repositorio de Elasticsearch:
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > \
/etc/apt/sources.list.d/elastic-7.x.list'
sudo apt-get update
2. Instalación de Elasticsearch
sudo apt-get install elasticsearch
3. Iniciar y habilitar el inicio automático de Elasticsearch
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
En MacOS
1. Instalación con Homebrew
brew update
brew install elasticsearch
2. Iniciar Elasticsearch
elasticsearch
En Windows
1. Descargar el archivo de instalación
Descarga la última versión de Elasticsearch desde el sitio oficial: https://www.elastic.co/downloads/elasticsearch.
2. Instalación de Elasticsearch
Ejecuta el archivo de instalación descargado y sigue las instrucciones en pantalla.
3. Iniciar Elasticsearch
Después de la instalación, ve a la carpeta de Elasticsearch y ejecuta el servicio a través de PowerShell:
.\bin\elasticsearch.bat
Para habilitar el inicio automático de Elasticsearch, agrégalo a los servicios de Windows mediante services.msc
.
7.3 Instalación de Logstash
En Linux
1. Instalación de Logstash
Instala Logstash desde el repositorio de Elastic:
sudo apt-get install logstash
2. Configuración de Logstash
Crea un archivo de configuración logstash.conf:
sudo nano /etc/logstash/conf.d/logstash.conf
Ejemplo de configuración para recoger logs de Docker:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Inicio y habilitación de autoinicio de Logstash
Inicia y habilita el autoinicio de Logstash:
sudo systemctl start logstash
sudo systemctl enable logstash
En MacOS
1. Instalación de Logstash usando Homebrew
brew update
brew install logstash
2. Configuración de Logstash
Crea un archivo de configuración logstash.conf en la carpeta de configuración de Logstash:
nano /usr/local/etc/logstash/logstash.conf
Ejemplo de configuración:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Inicio de Logstash
Inicia Logstash usando Homebrew:
logstash -f /usr/local/etc/logstash/logstash.conf
En Windows
1. Descarga e instalación de Logstash
Descarga la última versión de Logstash desde el sitio oficial: https://www.elastic.co/downloads/logstash.
Descomprime el archivo de Logstash en una ubicación conveniente (por ejemplo, C:\logstash
).
2. Configuración de Logstash
Crea un archivo de configuración logstash.conf en la carpeta de configuración de Logstash:
notepad C:\logstash\config\logstash.conf
Ejemplo de configuración:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Inicio de Logstash
Inicia Logstash con la configuración:
cd C:\logstash
bin\logstash.bat -f config\logstash.conf
7.4 Instalación de Kibana
En Linux
1. Instalación de Kibana
Instala Kibana:
sudo apt-get install kibana
2. Iniciar y habilitar el inicio automático de Kibana
Inicia y habilita el inicio automático de Kibana:
sudo systemctl start kibana
sudo systemctl enable kibana
Kibana estará disponible en http://localhost:5601.
En MacOS
1. Instalación de Kibana con Homebrew
brew update
brew install kibana
2. Iniciar Kibana
Inicia Kibana usando Homebrew:
brew services start kibana
Kibana estará disponible en http://localhost:5601.
En Windows
1. Descargar e instalar Kibana
Descarga la última versión de Kibana desde el sitio oficial: https://www.elastic.co/downloads/kibana.
Descomprime el archivo de Kibana en un lugar conveniente (por ejemplo, C:\kibana
).
2. Iniciar Kibana
Inicia Kibana:
cd C:\kibana\bin
kibana.bat
Kibana estará disponible en http://localhost:5601.
8.5 Configuración de Filebeat para recoger logs de Docker
En Linux
1. Instalación de Filebeat
Instala Filebeat desde el repositorio Elastic:
sudo apt-get install filebeat
2. Configuración de Filebeat
Configura Filebeat para recoger logs de Docker:
sudo nano /etc/filebeat/filebeat.yml
Ejemplo de configuración:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Inicio y habilitación de inicio automático de Filebeat
Inicia y habilita el inicio automático de Filebeat:
sudo systemctl start filebeat
sudo systemctl enable filebeat
En MacOS
1. Instalación de Filebeat con Homebrew
brew update
brew install filebeat
2. Configuración de Filebeat
Configura Filebeat editando el archivo filebeat.yml
:
nano /usr/local/etc/filebeat/filebeat.yml
Ejemplo de configuración:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Inicio de Filebeat
Inicia Filebeat usando Homebrew:
brew services start filebeat
En Windows
1. Descarga e instalación de Filebeat
Descarga la última versión de Filebeat desde el sitio oficial: https://www.elastic.co/downloads/beats/filebeat.
Descomprime el archivo de Filebeat en un lugar conveniente (por ejemplo, C:\filebeat
).
2. Configuración de Filebeat
Edita el archivo filebeat.yml
:
notepad C:\filebeat\filebeat.yml
Ejemplo de configuración:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Inicio de Filebeat
Inicia Filebeat:
cd C:\filebeat
filebeat.exe -e -c filebeat.yml
GO TO FULL VERSION