CodeGym /Cursos /Docker SELF /Registro centralizado

Registro centralizado

Docker SELF
Nivel 22 , Lección 1
Disponible

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

  1. Elasticsearch — sistema distribuido de búsqueda y análisis, utilizado para almacenar y buscar logs.
  2. Logstash — herramienta para la recopilación, procesamiento y envío de logs hacia Elasticsearch.
  3. 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:

Terminal

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

Agrega el repositorio de Elasticsearch:

Terminal

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

Terminal

sudo apt-get install elasticsearch

3. Iniciar y habilitar el inicio automático de Elasticsearch

Terminal

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

En MacOS

1. Instalación con Homebrew

Terminal

brew update
brew install elasticsearch

2. Iniciar Elasticsearch

Terminal

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:

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:

Terminal

sudo apt-get install logstash

2. Configuración de Logstash

Crea un archivo de configuración logstash.conf:

Terminal

sudo nano /etc/logstash/conf.d/logstash.conf

Ejemplo de configuración para recoger logs de Docker:

plaintext

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:

Terminal

sudo systemctl start logstash
sudo systemctl enable logstash

En MacOS

1. Instalación de Logstash usando Homebrew

Terminal

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:

Terminal

nano /usr/local/etc/logstash/logstash.conf

Ejemplo de configuración:

plaintext

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:

Terminal

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:

PowerShell

notepad C:\logstash\config\logstash.conf

Ejemplo de configuración:

plaintext

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:

PowerShell

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:

Terminal

sudo apt-get install kibana

2. Iniciar y habilitar el inicio automático de Kibana

Inicia y habilita el inicio automático de Kibana:

Terminal

sudo systemctl start kibana
sudo systemctl enable kibana

Kibana estará disponible en http://localhost:5601.

En MacOS

1. Instalación de Kibana con Homebrew

Terminal

brew update
brew install kibana

2. Iniciar Kibana

Inicia Kibana usando Homebrew:

Terminal

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:

PowerShell

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:

Terminal

sudo apt-get install filebeat

2. Configuración de Filebeat

Configura Filebeat para recoger logs de Docker:

Terminal

sudo nano /etc/filebeat/filebeat.yml

Ejemplo de configuración:

Yaml

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:

Terminal

sudo systemctl start filebeat
sudo systemctl enable filebeat

En MacOS

1. Instalación de Filebeat con Homebrew

Terminal

brew update
brew install filebeat

2. Configuración de Filebeat

Configura Filebeat editando el archivo filebeat.yml:

Terminal

nano /usr/local/etc/filebeat/filebeat.yml

Ejemplo de configuración:

Yaml

filebeat.inputs:
- type: docker
  containers.ids:
    - '*'
  processors:
    - add_docker_metadata: ~

output.logstash:
  hosts: ["localhost:5044"]

3. Inicio de Filebeat

Inicia Filebeat usando Homebrew:

Terminal

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:

PowerShell

notepad C:\filebeat\filebeat.yml

Ejemplo de configuración:

Yaml

filebeat.inputs:
- type: docker
  containers.ids:
    - '*'
  processors:
    - add_docker_metadata: ~

output.logstash:
  hosts: ["localhost:5044"]

3. Inicio de Filebeat

Inicia Filebeat:

PowerShell

cd C:\filebeat
filebeat.exe -e -c filebeat.yml
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION