Graylog es una plataforma poderosa para la gestión simplificada de registros de datos estructurados o no estructurados. Además, es útil para depurar aplicaciones.
Graylog se basa ampliamente en Scala, MongoDB y Elasticsearch. Tiene un servidor principal para recibir datos de los clientes que pueden estar instalados en diferentes servidores. De manera similar, Graylog cuenta con una interfaz web para la visualización de datos. Facilita el trabajo sobre los registros que agrega el servidor principal.
Graylog se usa principalmente como un alijo para los registros de cualquier aplicación web en uso. Alternativamente, Graylog también es efectivo cuando se trabaja con cadenas sin procesar, como Syslog.
En este tutorial, le mostraremos cómo instalar el servidor de monitoreo Graylog en CentOS 8.
Requisitos
- Un nuevo CentOS 8 VPS en la plataforma en la nube Atlantic.Net
- Una contraseña de root configurada en su servidor
Paso 1:crear un servidor en la nube de Atlantic.Net
Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo CentOS 8 como sistema operativo con al menos 6 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.
Una vez que haya iniciado sesión en su servidor CentOS 8, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.
dnf update -y
Paso 2:instalar las dependencias requeridas
Antes de comenzar, deberá instalar Java y otras dependencias requeridas en su servidor.
Primero, instale el repositorio EPEL con el siguiente comando:
dnf install epel-release -y
Luego, instale Java usando el siguiente comando:
dnf install -y java-1.8.0-openjdk-headless -y
Una vez instalado Java, puede verificarlo con el siguiente comando:
java -version
Deberías obtener el siguiente resultado:
openjdk version "1.8.0_265" OpenJDK Runtime Environment (build 1.8.0_265-b01) OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)
A continuación, instale otros paquetes necesarios con el siguiente comando:
dnf install wget pwgen perl-Digest-SHA -y
Paso 3:instala Elasticsearch
Graylog usa Elasticsearch para almacenar mensajes de registro y su función de búsqueda. De forma predeterminada, la última versión de Elasticsearch no está disponible en el repositorio predeterminado de CentOS 8, por lo que deberá agregar el repositorio de Elasticsearch a su sistema.
Primero, importa la clave GPG con el siguiente comando:
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
A continuación, cree el repositorio de Elasticsearch con el siguiente comando:
nano /etc/yum.repos.d/elasticsearch.repo
Agregue las siguientes líneas:
[elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/oss-6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
Guarde y cierre el archivo, luego instale Elasticsearch con el siguiente comando:
dnf install elasticsearch-oss -y
Una vez instalado Elasticsearch, edite el archivo de configuración principal de Elasticsearch:
nano /etc/elasticsearch/elasticsearch.yml
Defina el nombre de su clúster y agregue otra línea como se muestra a continuación:
cluster.name: my-graylog action.auto_create_index: false
Guarde el archivo, luego vuelva a cargar el demonio systemd y habilite Elasticsearch para que se inicie en el reinicio del sistema con el siguiente comando:
systemctl daemon-reload systemctl enable elasticsearch
A continuación, reinicie el servicio de Elasticsearch con el siguiente comando:
systemctl restart elasticsearch
Ahora puede verificar la respuesta de Elasticsearch usando el siguiente comando:
curl -X GET http://localhost:9200
Si todo es correcto, debería obtener el siguiente resultado:
{ "name" : "7FL0524", "cluster_name" : "my-graylog", "cluster_uuid" : "C4OvK0Y_TjCiVzBiHbz0pA", "version" : { "number" : "6.8.12", "build_flavor" : "oss", "build_type" : "rpm", "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" }
Paso 4:instalar el servidor MongoDB
Graylog usa MongoDB para almacenar configuraciones y metainformación. De forma predeterminada, MongoDB no está disponible en el repositorio estándar de CentOS 8, por lo que deberá crear un repositorio para MongoDB.
Puedes crearlo con el siguiente comando:
nano /etc/yum.repos.d/mongodb-org-4.0.repo
Agregue las siguientes líneas:
[mongodb-org-4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
Guarde y cierre el archivo, luego actualice el repositorio con el siguiente comando:
dnf update -y
A continuación, instale el servidor MongoDB con el siguiente comando:
dnf install mongodb-org -y
Una vez que MongoDB esté instalado, inicie el servicio MongoDB y habilítelo para que se inicie al reiniciar el sistema:
systemctl start mongod systemctl enable mongod
Paso 5:instalar y configurar el servidor Graylog
Puede instalar el repositorio de Graylog usando el siguiente comando:
dnf install https://packages.graylog2.org/repo/packages/graylog-3.2-repository_latest.rpm -y
Una vez creado el repositorio, puede instalar el servidor Graylog con el siguiente comando:
dnf install graylog-server -y
Después de instalar el servidor Graylog, deberá generar una clave secreta para Graylog. Puede generarlo con el siguiente comando:
pwgen -N 1 -s 96
Salida:
un5R8H7vmoq1japNYvHD2pEkawKyBzZpWeFsfVEk4Ustl5sWPtcdMbgTV18mHyqBnBK0sk83fcEmceTtyNzxntWqWhNPYe9N
También deberá generar una contraseña segura para Graylog. Puede generarlo con el siguiente comando:
echo -n your-password | shasum -a 256
Deberías obtener el siguiente resultado:
616384da8ed2fb86db3462ec827bc433256324e323a2438f48ae32930e707065 -
Nota :Puede usar esta contraseña "su-contraseña" para iniciar sesión en la interfaz web de Graylog.
A continuación, edite el archivo de configuración principal de Graylog y defina su clave secreta, contraseña y otras configuraciones:
nano /etc/graylog/server/server.conf
Cambie las siguientes líneas:
password_secret = un5R8H7vmoq1japNYvHD2pEkawKyBzZpWeFsfVEk4Ustl5sWPtcdMbgTV18mHyqBnBK0sk83 fcEmceTtyNzxntWqWhNPYe9N root_username = admin root_password_sha2 = 616384da8ed2fb86db3462ec827bc433256324e323a2438f48ae32930e707065 root_timezone = UTC http_bind_address = your-server-ip:9000
Guarde y cierre el archivo, luego vuelva a cargar el demonio systemd con el siguiente comando:
systemctl daemon-reload
A continuación, inicie el servicio Graylog y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:
systemctl start graylog-server systemctl enable graylog-server
Puede consultar el registro del servidor Graylog para verificar si el servidor Graylog está iniciado o no:
tail -f /var/log/graylog-server/server.log
Si el servidor Graylog se inicia correctamente, debería obtener el siguiente resultado:
2020-10-02T11:46:15.649-04:00 INFO [InputSetupService] Triggering launching persisted inputs, node transitioned from Uninitialized [LB:DEAD] to Running [LB:ALIVE] 2020-10-02T11:46:15.654-04:00 INFO [ServerBootstrap] Graylog server up and running.
En este punto, el servidor Graylog se inicia y escucha en el puerto 9000.
Paso 6:acceder a la interfaz de Graylog
Ahora, puede acceder a la interfaz web de Graylog usando la URL http://your-server-ip:9000 . Debería ver la página de inicio de sesión de Graylog:
Proporcione su nombre de usuario y contraseña de administrador y haga clic en Firmar –en botón. Debería ver el panel de Graylog en la siguiente página:
Conclusión
¡Felicidades! Ha instalado y configurado con éxito el servidor Graylog en CentOS 8. Ahora puede configurar su servidor Graylog para recibir registros Rsyslog de servidores externos. Para obtener más información, puede visitar la documentación de Graylog. Comience hoy mismo con Graylog en VPS Hosting de Atlantic.Net.