Instalar y configurar el servidor de monitoreo Graylog Ubuntu 20.04

Inicio de sesión

Graylog es una herramienta de software de administración de registros gratuita y de código abierto que se puede usar para monitorear el registro de los sistemas de red desde el servidor central. Utiliza Elasticsearch para almacenar datos de registros y proporcionar capacidades de búsqueda, y MongoDB para almacenar metainformación. Le ayuda a monitorear, buscar y analizar una gran cantidad de datos en un formato legible simple.

En este tutorial, le mostraremos cómo instalar Graylog en el servidor Ubuntu 20.04.

requisitos previos

  • Un servidor con Ubuntu 20.04. con un mínimo de 4 GB de RAM
  • Una contraseña de root está configurada en.

Empezando

Primero, deberá actualizar los paquetes de su sistema a la última versión. Puede actualizarlos todos con el siguiente comando:

apt-get update -y

Después de actualizar todos los paquetes, también deberá instalar algunas dependencias en su servidor. Puede instalarlos todos con el siguiente comando:

apt-get install apt-transport-https gnupg2 uuid-runtime pwgen curl dirmngr -y

Una vez que todas las dependencias requeridas estén instaladas, puede continuar con el siguiente paso.

Instalar Java

Graylog requiere que Java esté instalado en su servidor. Si no está instalado, puede instalarlo con el siguiente comando:

apt-get install openjdk-11-jre-headless -y

Una vez que Java está instalado, puede verificar la versión instalada de Java ejecutando el siguiente comando:

java -version

Deberías obtener el siguiente resultado:

openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar y configurar Elasticsearch

Graylog usa Elasticsearch para almacenar registros provenientes del recurso externo. Por lo tanto, deberá instalar Elasticsearch en su sistema.

De forma predeterminada, la última versión de Elasticsearch no está disponible en el repositorio predeterminado de Ubuntu. Por lo tanto, deberá agregar el repositorio de Elasticsearch en su sistema.

Primero, descargue y agregue la clave GPG de Elasticsearch con el siguiente comando:

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

A continuación, agregue el repositorio de Elasticsearch con el siguiente comando:

echo "deb https://artifacts.elastic.co/packages/oss-6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

A continuación, actualice el repositorio e instale Elasticsearch con el siguiente comando:

apt-get update -y
apt-get install elasticsearch-oss -y

Después de instalar Elasticsearch, deberá editar el archivo de configuración de Elasticsearch y definir el nombre del clúster. Puedes hacerlo con el siguiente comando:

nano /etc/elasticsearch/elasticsearch.yml

Defina el nombre de su clúster en graylog y agregue otra línea como se muestra a continuación:

cluster.name: graylog
action.auto_create_index: false

Guarde y cierre el archivo cuando haya terminado. Luego, inicie el servicio Elasticsearch y habilítelo para que comience en el arranque con el siguiente comando:

systemctl daemon-reload
systemctl start elasticsearch
systemctl enable elasticsearch

También puede verificar el estado del servicio de Elasticsearch con el siguiente comando:

systemctl status elasticsearch

Deberías obtener el siguiente resultado:

? elasticsearch.service - Elasticsearch
     Loaded: loaded (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 08:41:18 UTC; 9s ago
       Docs: http://www.elastic.co
   Main PID: 7085 (java)
      Tasks: 17 (limit: 2353)
     Memory: 1.1G
     CGroup: /system.slice/elasticsearch.service
             ??7085 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly ->

Sep 05 08:41:18 ubuntu2004 systemd[1]: Started Elasticsearch.

Ahora, verifique la respuesta de Elasticcsearch con el siguiente comando:

curl -X GET http://localhost:9200

Deberías obtener el siguiente resultado:

{
  "name" : "vzg8H4j",
  "cluster_name" : "graylog",
  "cluster_uuid" : "6R9SlXxNSUGe6aclcJa9VQ",
  "version" : {
    "number" : "6.8.12",
    "build_flavor" : "oss",
    "build_type" : "deb",
    "build_hash" : "7a15d2a",
    "build_date" : "2020-08-12T07:27:20.804867Z",
    "build_snapshot" : false,
    "lucene_version" : "7.7.3",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

Instalar el servidor MongoDB

Graylog utiliza MongoDB como base de datos. Por lo tanto, deberá instalar la base de datos MongoDB en su servidor. Puedes instalarlo con el siguiente comando:

apt-get install mongodb-server -y

Una vez que MongoDB esté instalado, inicie el servicio MongoDB y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start mongodb
systemctl enable mongodb

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar y configurar Graylog

De forma predeterminada, el paquete Graylog no está disponible en el repositorio predeterminado de Ubuntu. Por lo tanto, deberá instalar el repositorio graylog en su servidor.

Puede descargar el paquete del repositorio de Graylog con el siguiente comando:

wget https://packages.graylog2.org/repo/packages/graylog-3.3-repository_latest.deb

Una vez que se complete la descarga, instale el paquete descargado con el siguiente comando:

dpkg -i graylog-3.3-repository_latest.deb

A continuación, actualice el repositorio e instale el servidor Graylog con el siguiente comando:

apt-get update -y
apt-get install graylog-server -y

Después de instalar el servidor Graylog, deberá generar un secreto para proteger las contraseñas de los usuarios. Puedes generarlo con el siguiente comando:

pwgen -N 1 -s 96

Debería ver el siguiente resultado:

Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c

A continuación, también deberá generar una contraseña segura para el usuario administrador de Graylog. Necesitará esta contraseña para iniciar sesión en la interfaz web de Graylog. Puedes generarlo con el siguiente comando:

echo -n password | sha256sum

Debería ver el siguiente resultado:

5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8  -

Ahora, edite el archivo de configuración principal de Graylog y defina ambas contraseñas:

nano /etc/graylog/server/server.conf

Pegue ambas contraseñas que ha generado arriba como se muestra a continuación:

password_secret = Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c
root_password_sha2 = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8   

A continuación, también deberá definir una dirección de enlace para su servidor, como se muestra a continuación:

http_bind_address = 127.0.0.1:9000

Guarde y cierre el archivo cuando haya terminado, luego inicie el servicio Graylog y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:

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

A continuación, puede verificar el estado del servidor Graylog con el siguiente comando:

systemctl status graylog-server

Debería ver el siguiente resultado:

? graylog-server.service - Graylog server
     Loaded: loaded (/lib/systemd/system/graylog-server.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 08:50:16 UTC; 15min ago
       Docs: http://docs.graylog.org/
   Main PID: 8693 (graylog-server)
      Tasks: 156 (limit: 2353)
     Memory: 865.0M
     CGroup: /system.slice/graylog-server.service
             ??8693 /bin/sh /usr/share/graylog-server/bin/graylog-server
             ??8726 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX>

Sep 05 08:50:16 ubuntu2004 systemd[1]: Started Graylog server.

También puede verificar el registro del servidor Graylog con el siguiente comando:

tail -f /var/log/graylog-server/server.log

Una vez que el servidor Graylog se haya iniciado correctamente, debería obtener el siguiente resultado:

2020-09-05T08:51:36.473Z INFO  [ServerBootstrap] Services started, startup times in ms: {InputSetupService [RUNNING]=59, JobSchedulerService [RUNNING]=105, GracefulShutdownService [RUNNING]=106, OutputSetupService [RUNNING]=110, BufferSynchronizerService [RUNNING]=111, UrlWhitelistService [RUNNING]=153, JournalReader [RUNNING]=166, KafkaJournal [RUNNING]=222, MongoDBProcessingStatusRecorderService [RUNNING]=240, ConfigurationEtagService [RUNNING]=259, EtagService [RUNNING]=302, StreamCacheService [RUNNING]=306, LookupTableService [RUNNING]=376, PeriodicalsService [RUNNING]=655, JerseyService [RUNNING]=58701}
2020-09-05T08:51:36.477Z INFO  [ServerBootstrap] Graylog server up and running.

En este punto, el servidor Graylog se inicia y escucha en el puerto 9000.

Configurar Nginx como proxy inverso para Graylog

A continuación, deberá instalar y configurar Nginx como un proxy inverso para acceder al servidor Graylog.

Primero, instale el servidor Nginx con el siguiente comando:

apt-get install nginx -y

Después de instalar el servidor Nginx, cree un nuevo archivo de configuración de host virtual Nginx con el siguiente comando:

nano /etc/nginx/sites-available/graylog.conf

Agregue las siguientes líneas:

server {
    listen 80;
    server_name graylog.example.org;

    location / {
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Server $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Graylog-Server-URL http://$server_name/;
      proxy_pass       http://127.0.0.1:9000;
    }
}

Guarde y cierre el archivo cuando haya terminado. Luego, verifique el Nginx para cualquier error de sintaxis con el siguiente comando:

nginx -t

Deberías obtener el siguiente resultado:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

A continuación, habilite el archivo de configuración del host virtual de Nginx con el siguiente comando:

ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/

Finalmente, reinicie el servicio Nginx para aplicar los cambios:

systemctl restart nginx

A continuación, verifique el estado del Graylog con el siguiente comando:

systemctl status nginx

Deberías obtener el siguiente resultado:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 09:07:50 UTC; 20s ago
       Docs: man:nginx(8)
    Process: 9408 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 9419 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 9423 (nginx)
      Tasks: 3 (limit: 2353)
     Memory: 10.2M
     CGroup: /system.slice/nginx.service
             ??9423 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??9424 nginx: worker process
             ??9425 nginx: worker process

Sep 05 09:07:50 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server...
Sep 05 09:07:50 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.

Acceder a la interfaz web de Graylog

Ahora, abra su navegador web y escriba la URL http://graylog.example.com. Será redirigido a la página de inicio de sesión de Graylog como se muestra a continuación:

Inicio de sesión

Proporcione su nombre de usuario y contraseña de administrador y haga clic en el Acceso botón. Debería ver el panel de Graylog en la siguiente página:

Primeros pasos con Graylog

Ahora, haga clic en el Sistema >> Resumen. Debería ver el estado del servidor Graylog en la siguiente página:

tronco gris

Conclusión

¡Felicidades! Ha instalado y configurado con éxito el servidor Graylog con Nginx como proxy inverso en Ubuntu 20.04. Ahora puede explorar Graylog y crear una entrada para recibir registros de Rsyslog de fuentes externas. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

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