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”