Skip to content

Graylog «dockerized» template (MongoDB + ElasticSearch + Graylog + Nginx ). It's said that it's not ready for production, but ya tú sabeh...

Notifications You must be signed in to change notification settings

fcavero/graylog-dev-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

graylog-dev-template

Plantilla para desplegar instancias de Graylog totalmente dockerificado a su manera, esto es, usando los siguientes contenedores:

Ojo cuidao, que la gente de Graylog no quiere que usemos esto en entornos productivos, y, probablemente, tengan razón.

Variables de entorno a considerar en el contenedoer de Graylog

Se encuentran en el fichero .env.dist, y es necesario hacer dos cosas dos:

  • Crear a partir de él un fichero .env, y
  • Editarlo y establecer las variables convenientemente.

GRAYLOG_PASSWORD_SECRET y GRAYLOG_ROOT_PASSWORD_SHA2

El primero es la clave del usuario admin, y el segundo un hash de dicha clave. Para crear este hash de la clave que vayamos a poner, podemos usar estos comandos:

❯ echo -n 'los-impuestos-son-un-robo' | sha256sum | awk '{ print $1 }'
9526855fe0040d7ba98971039accf0c68349f5932653e2cba94ee6c7f27a93fe

GRAYLOG_HTTP_BIND_ADDRESS, GRAYLOG_HTTP_EXTERNAL_URI y GRAYLOG_HTTP_PUBLISH_URI

Las configuraciones por defecto funcionan en local, por lo que deben ser adecuadas al servidor donde se realiza el despliegue. En el siguiente enlace se detallan sus características → https://docs.graylog.org/en/4.0/pages/configuration/server.conf.html#web-rest-api-options

Otras variables de entorno

En ./graylog/config se encuentra un fichero graylog.conf completo; todas sus variables pueden importarse fácil e indoloramente en el apartado environment del fichero docker-compose.yml, anteponiendo el prefijo «GRAYLOG_» al nombre de la variable del fichero, todo en mayúsculas, y asociándola con el valor deseado.

Por ejemplo, la hora del nodo está definida por defecto a UTC; en una instalación normal editaríamos la variable root_timezone del fichero graylog.conf, pero nosotros lo cambiaremos así:

GRAYLOG_ROOT_TIMEZONE: "Europe/Madrid"

Cómo utilizar esta plantilla

  1. Clonar el repositorio
  2. Adecuarlo a los requerimientos del nuevo despliegue.
  3. Desplegar el entorno, a través del makefile.

Uso detallado del Makefile

make help o make

Muestra, sucintamente, toda las funcionalidades:

❯ make
usage: make [target]

targets:
help              Show this help message
run               Start the containers
stop              Stop the containers
terminate         Stop the containers (with --remove-orphans option set)
restart           Restart the containers
build             Rebuilds the custom Nginx container
ssh               SSH into the graylog container
ssh-root          SSH into the graylog container as root
logs-mongodb      Tails the MongoDB container log
logs-elastic      Tails the Elastic container log
logs-graylog      Tails the Graylog cointainer log

make run

Crea, si no existe, una red de Docker compartida por todos los contenedores, y, posteriormente, arranca los contenedores en el orden establecido.

make stop

Detiene los contenedores.

make terminate

Detiene los contenedores y los elimina posteriormente.

make restart

Detiene y vuelve a arrancar los contenedores.

make build

(Re)Construye el contenedor de Nginx, si se precisa, pues el resto de contenedores vienen directos de sendas imágenes.

make ssh

Abre una sesión SSH en el contenedor del Graylog.

make ssh-root

Abre una sesión SSH en el contenedor del Graylog con el usuario root.

make logs-mongodb

Muestra en modo de seguimiento los logs del contenedor de MongoDB.

make logs-elastic

Muestra en modo de seguimiento los logs del contenedor de MongoDB.

make logs-graylog

Muestra en modo de seguimiento los logs del contenedor de MongoDB.

About

Graylog «dockerized» template (MongoDB + ElasticSearch + Graylog + Nginx ). It's said that it's not ready for production, but ya tú sabeh...

Topics

Resources

Stars

Watchers

Forks

Languages