Instalación Graylog2 en GNU/Linux Debian

Graylog2 es un sistema Open Source (GPLv3) que nos permite centralizar los logs de sistemas afines para facilitar el análisis en tiempo real de nuestros sistemas.

Instalación:

Añadimos los repositorios

echo «deb http://ftp.debian.org/debian jessie-backports main» > /etc/apt/sources.list.d/backports.list
apt-get update && sudo apt-get upgrade

Instalamos el software necesario:

apt-get install -t jessie-backports   apt-transport-https openjdk-7-jre-headless uuid-runtime pwgen

Instalamos la BBDD

apt-get install mongodb-server

 

Añadir repositorios de Elasticsearch

wget -qO – https://packages.elastic.co/GPG-KEY-elasticsearch |  apt-key add –
echo «deb https://packages.elastic.co/elasticsearch/2.x/debian stable main» |  tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list

Actualizamos los  repositorios e instalamos Elasticsearch

apt-get update &&  apt-get install elasticsearch

 

Accedemos al archivo de configuración /etc/elasticsearch/elasticsearch.yml y buscamos la linea donde pone: cluster.name, lo descomentamos y configuramos un nombre.

cluster.name: graylog

Iniciamos el servicio

systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl restart elasticsearch.service

A continuación procederemos a la instalación de graylog.

wget https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.deb
dpkg -i graylog-2.2-repository_latest.deb
apt-get update && sudo apt-get install graylog-server

 

Para que graylog inicie debemos configurar una contraseña en /etc/graylog/server/server.conf, para ello debemos que añadir nuestra contraseña en: password_secret y root_password_sha2

Dejándolo de la siguiente forma:

Generamos nuestro código secreto para password_secret

pwgen -N 1 -s 96
yo6iGdv0uCQ9Nw92GXTKJNViEpi6IGKi2O0obRtWJyDHKIWnyxlcdiRfOYZogokA3dT9BE57ZZyUEKQmJEoKTXGg5VGzjrHL

Generamos el hash para root_password_sha2

echo -n TUPASSWORD | sha256sum
e1fda59fe47ff5f479b724f9f054829701eb062bd0b104e92f50d2de2e872925  –

Configuramos la contraseña:

cat /etc/graylog/server/server.conf | grep -i password_secret
password_secret = 0wDp5a5Yj6dqawrZAzq7uxKB5XJ19AS9ZaLLTAbcA6FCEKEVmV3HTcES2Znjwy1mDWGc7CFDTMXvCpYtVBsO8rxsxJxXhdM6
cat /etc/graylog/server/server.conf | grep -i root_password_sha2
root_password_sha2 = e1fda59fe47ff5f479b724f9f054829701eb062bd0b104e92f50d2de2e872925

Ahora vamos a configurar graylog, para ello accedemos al fichero /etc/graylog/server/server.conf

Dado que en nuestro ejemplo solo tenemos un Elasticsearch vamos a modificar  elasticsearch_shards y le asignamos el valor 1

elasticsearch_shards = 1

Nos dirigimos a la linea elasticsearch_cluster_name  y le asignamos el nombre que le hayamos otorgado al servidor

elasticsearch_cluster_name = graylog

Configuramos la interfaz de red, para ello debemos modificar en el fichero de configuración las siguientes entradas:

rest_listen_uri = http://192.168.1.177:12900/
rest_transport_uri = http://192.168.1.177:12900/
web_listen_uri = http://192.168.1.177:9000/

Iniciamos graylog

systemctl daemon-reload
systemctl enable graylog-server.service
systemctl start graylog-server.service

Mediante nuestro navegador web podemos acceder para empezar a trabajar con graylog:

 

Configuramos el envío de logs mediante RSYSLOG

Descargamos e instalamos:

si no tenemos instalado rsyslog en nuestra distribución linux la intalamos:

Debian y derivados:

apt-get intall rsyslog

Redhat y derivados

yum install rsyslog

Suse Enterprise

zypper install rsyslog

Creamos un fichero de configuración para graylog, en el tenemos que configurar la IP del servidor graylog y el puerto donde vamos a configurar para que escuche.

cat /etc/rsyslog.d/90-graylog2.conf
$template GRAYLOGRFC5424,»%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msg%\n»
*.* @192.168.1.177:12500;GRAYLOGRFC5424

Reiniciamos el servicio de rsyslog

service rsyslog restart

Mediante nuestro navegador web nos vamos a la consola de graylog > System > Inputs

En inputs seleccionamos SYSLOG UDP y presionamos en Launch new input

Se nos abrirá un asistente de configuración, en el solo debemos añadirle un titulo y el puerto el cual hemos configurado anteriormente en RSYSLOG , que en nuestro caso es: 12500

Una vez ya configurado vamos crear un stream para poder caracterizar los eventos. Esto nos permite poder añadir un TAG el cual nos permitirá buscar mas rápidamente.

Para ello nos vamos a Stream > Create Stream

 

Una vez creado, debemos crear reglas, presionamos en Manager Rules

Seleccionamos el servidor que queremos agregarle el Streams > Load Message > Add Stream rule

 

 

Nos abre el asistente de configuración:

Una vez configurado damos a iniciar, Damos doble click sobre la regla creada y damos en: Add

Instalación NXLOG en Windows

Accedemos a la pagina web de NXLOG y descargamos el software http://nxlog.co/products/nxlog-community-edition/download

Una vez instalado debemos C:\Program Files (x86)\nxlog\conf\nxlog.conf, en este fichero de configuración solo debemos modificar  el host y el puerto

<Output out>
Module      om_udp
Host        192.168.1.177
Port        12201
OutputType  GELF
</Output>

Guardamos el documento y reiniciamos el servicio.

Nuevamente nos dirigimos a nuestro navegador web System > Inputs > seleccionamos GELF UDP > Launch new input

Un saludo.

:wq!

2 comentarios en “Instalación Graylog2 en GNU/Linux Debian”

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *