GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo monitorear archivos de registro con Graylog2 en Debian 9

Graylog es una herramienta de gestión de registros gratuita y de código abierto basada en Java, Elasticsearch y MongoDB que se puede utilizar para recopilar, indexar y analizar cualquier registro del servidor desde una ubicación centralizada. Puede monitorear fácilmente los inicios de sesión SSH y la actividad inusual para depurar aplicaciones y registros usando Graylog. Graylog proporciona un poderoso lenguaje de consulta, capacidades de alerta, una canalización de procesamiento para la transformación de datos y mucho más. Puede ampliar la funcionalidad de Graylog a través de una API REST y complementos.

Graylog se compone de tres componentes:

  1. Elasticsearch:almacena todos los mensajes entrantes y proporciona una función de búsqueda.
  2. MongoDB:se utiliza para la base de datos, almacena las configuraciones y la metainformación.
  3. Servidor Graylog:recibe y procesa mensajes de varias entradas y proporciona una interfaz web para análisis y monitoreo.

En este tutorial, explicaremos cómo instalar Graylog2 en el servidor Debian 9.

Requisito previo

  • Un servidor que ejecuta Debian 9.
  • Mínimo 4 GB de RAM.
  • Una dirección IP estática 192.168.0.187 configurada en su servidor.

1 Instalar paquetes necesarios

Antes de comenzar, deberá instalar Java 8 y otros paquetes necesarios en su sistema. No todos los paquetes requeridos están disponibles en el repositorio estándar de Debian 9, por lo que deberá agregar Debian Backports a la lista de fuentes de paquetes. Primero, inicie sesión con el usuario root y cree un archivo backport.list:

nano /etc/apt/sources.list.d/backport.list

Agregue la siguiente línea:

deb http://ftp.debian.org/debian stretch-backports principal

Guarde el archivo cuando haya terminado, luego actualice su sistema con el siguiente comando:

apt-get actualización -y
apt-get actualización -y

Una vez que su sistema esté actualizado, instale todos los paquetes con el siguiente comando:

apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen -y

Una vez que todos los paquetes necesarios estén instalados, puede proceder a instalar MongoDB.

2 Instalar MongoDB

Se requiere MongoDB para almacenar la configuración y la metainformación. MongoDB está disponible en el repositorio predeterminado de Debian 9, por lo que puede instalar MongoDB simplemente ejecutando el siguiente comando:

apt-get install mongodb-servidor -y

Una vez que MongoDB esté instalado, puede proceder a instalar Elasticsearch.

3 Instalar Elasticsearch

Elasticsearch actúa como un servidor de búsqueda que almacena todos los registros enviados por el servidor Graylog y muestra los mensajes siempre que lo solicite. Elasticsearch no está disponible en el repositorio predeterminado de Debian 9. Deberá agregar el repositorio de Elasticsearch a la fuente del paquete Debian.

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

wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | añadir clave apt -

A continuación, cree un archivo de repositorio de Elasticsearch con el siguiente comando:

nano /etc/apt/sources.list.d/elasticsearch.list

Agregue la siguiente línea:

deb https://packages.elastic.co/elasticsearch/2.x/debian estable principal

Guarde el archivo cuando termine, luego actualice el repositorio ejecutando el siguiente comando:

apt-get update -y

A continuación, instale Elasticsearch ejecutando el siguiente comando:

apt-get install elasticsearch -y

Una vez instalado Elasticsearch, deberá modificar el archivo de configuración principal de Elasticsearch:

nano /etc/elasticsearch/elasticsearch.yml

Realice los siguientes cambios:

cluster.name:graylognetwork.host:192.168.0.187discovery.zen.ping.timeout:10sdiscovery.zen.ping.multicast.enabled:falsediscovery.zen.ping.unicast.hosts:["192.168.0.187:9300" ]

Guarde y cierre el archivo cuando haya terminado, luego inicie el servicio Elasticsearch y habilítelo para que comience en el arranque:

systemctl iniciar búsqueda elástica
systemctl habilitar búsqueda elástica

Después de unos segundos, ejecute lo siguiente para probar que Elasticsearch funciona correctamente:

curl -XGET 'http://192.168.0.187:9200/_cluster/health?pretty=true'

Asegúrese de que la salida muestre el estado del clúster como "verde":

{ "cluster_name":"graylog", "status":"green", "timed_out":false, "number_of_nodes":1, "number_of_data_nodes":1, "active_primary_shards":1, "active_shards":1, "reubicando_fragmentos":0, "inicializando_fragmentos":0, "fragmentos no asignados":1, "fragmentos_retrasados_no asignados":0, "número_de_tareas_pendientes":0, "número_de_obtención_en_vuelo":0, "task_max_waiting_in_queue_millis":0, "active_shard_number_0". pre> 

Una vez que Elasticsearch esté instalado y funcione bien, puede continuar con el siguiente paso.

4 Instalar Graylog

Graylog no está disponible en el repositorio predeterminado de Debian 9, por lo que primero deberá descargar e instalar el repositorio de Graylog 2. Puede hacerlo ejecutando el siguiente comando:

wget https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.deb
dpkg -i graylog-2.2-repository_latest.deb

Una vez que el repositorio esté instalado, 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 Graylog, deberá establecer un secreto para proteger las contraseñas de los usuarios y también establecer una contraseña hash (sha256) para el usuario root.

Primero, genera password_secret con el siguiente comando:

pwgen -N 1 -s 96

Debería ver el siguiente resultado:

TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC

A continuación, genere una contraseña hash para el usuario root con el siguiente comando:

echo -n sucontraseñadeadministrador | sha256sum

Debería ver el siguiente resultado:

e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee

Nota:Recuerde ambas claves de contraseña, porque ambas claves deberán configurarse en server.conf.

A continuación, deberá modificar el archivo de configuración principal del servidor Graylog ubicado en el directorio /etc/graylog/server/:

nano /etc/graylog/server/server.conf

Realice los siguientes cambios:

 is_master =truenode_id_file =/ etc / graylog / servidor / nodo-id ######## pasado-su-contraseña secreta-######### aquí password_secret =TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyCroot_username =admin ## #####pasó-su-contraseña-hash-raíz-aquí##########root_password_sha2 =e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750eeroot_timezone =UTCplugin_dir =/usr/share/graylog-server/pluginrest_0.0.uri0 =http://listen_uri0.0 :9000 / api / rest_enable_cors =trueweb_listen_uri =http://0.0.0.0:9000/rotation_strategy =countelasticsearch_max_docs_per_index =20000000elasticsearch_max_number_of_indices =7retention_strategy =deleteelasticsearch_shards =4elasticsearch_replicas =1elasticsearch_index_prefix =graylogallow_leading_wildcard_searches =trueallow_highlighting =falseelasticsearch_cluster_name =graylogelasticsearch_discovery_zen_ping_unicast_hosts =192.168.0.187:9300elasticsearch_http_enabled =falseelasticsearch_network_host =0,0 . 00elasticsearch_discovery_initial_state_timeout =3selasticsearch_analyzer =standardoutput_batch_size =500output_flush_interval =1output_fault_count_threshold =5output_fault_penalty_seconds =30processbuffer_processors =5outputbuffer_processors =3processor_wait_strategy =blockingring_size =65536inputbuffer_ring_size =65536inputbuffer_processors =2inputbuffer_wait_strategy =blockingmessage_journal_enabled =truemessage_journal_dir =/ var / lib / graylog-server / journalasync_eventbus_processors =2lb_recognition_period_seconds =3alert_check_interval =60mongodb_uri =mongodb:/ /localhost/graylogmongodb_max_connections =1000mongodb_threads_allowed_to_block_multiplier =5content_packs_dir =/usr/share/graylog-server/contentpackscontent_packs_auto_load =grok-patterns.jsonproxied_requests_thread_pool_size =32

Guarde y cierre el archivo cuando haya terminado, luego inicie el servicio Graylog y habilítelo para que se inicie en el arranque:

systemctl iniciar el servidor graylog
systemctl habilitar el servidor graylog

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

5 Configurar cortafuegos

De manera predeterminada, la interfaz web de Graylog está escuchando en el puerto 9000, por lo que deberá permitir el puerto 9000 a través del firewall UFW. El cortafuegos UFW no está instalado en Debian 9. Por lo tanto, deberá instalarlo primero. Puede instalarlo ejecutando el siguiente comando:

apt-get install ufw -y

Una vez que UFW esté instalado, habilítelo ejecutando el siguiente comando;

habilitar ufw

Luego, permita el puerto 9000 a través del firewall UFW ejecutando el siguiente comando:

ufw permite 9000

Puede comprobar el estado del cortafuegos UFW en cualquier momento ejecutando el siguiente comando.

estado ufw

Una vez que el firewall esté configurado, puede continuar con el siguiente paso.

6 Acceder a la interfaz web de Graylog

La interfaz web de Graylog está escuchando en el puerto 9000. Ahora, abra su navegador web y escriba la URL http://192.168.0.187:9000 , debería ver la siguiente pantalla:

Inicie sesión con el nombre de usuario "admin " y la contraseña que configuró en root_password_sha2 en server.conf. Debería ver la siguiente pantalla:

A continuación, deberá agregar la entrada para recibir el mensaje de syslog mediante el UDP. Para agregar la entrada, haga clic en Sistema -> seleccione Entradas -> Syslog UDP -> haga clic en el botón Iniciar nueva entrada, debería ver la siguiente pantalla:

Complete todos los detalles, como Título, Puerto, Dirección de enlace y, finalmente, haga clic en el botón Guardar, debería ver la siguiente pantalla:

Ahora el servidor Graylog recibirá los registros del sistema mediante el puerto 8514 del cliente o servidor.

En el sistema Cliente, deberá configurar rsyslog para que envíe los mensajes de registro del sistema al servidor Graylog. Puede hacerlo editando el archivo rsyslog.conf:

nano /etc/rsyslog.conf

Agregue las siguientes líneas:

# proporciona recepción de syslog UDP$ModLoad imudp$UDPServerRun 8514$template GRAYLOGRFC5424,"%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msg%\n" *.* @192.168.0.187:8514;GRAYLOGRFC5424

Guarde el archivo y reinicie el servicio rsyslog para aplicar estos cambios:

systemctl reiniciar rsyslog

A continuación, en el servidor de Graylog, haga clic en "Fuentes de Graylog". Puede ver el registro ssh con intentos de inicio de sesión fallidos en la siguiente pantalla.

Conclusión

¡Felicidades! Ha instalado y configurado con éxito el servidor Graylog en Debian 9. Ahora puede ver fácilmente los registros y el análisis de los registros del sistema desde la ubicación central. También puede personalizar Graylog y enviar otro tipo de registros según sus necesidades. Puede obtener más información en la página de documentación de Graylog http://docs.graylog.org/en/2.2/pages/getting_started.html. Siéntete libre de comentarme si tienes alguna pregunta.


Debian
  1. Cómo instalar Elasticsearch en Debian Linux

  2. Cómo instalar Steam con Steam Play en Debian 10 Buster

  3. Cómo instalar Graylog2 en Ubuntu 14.04

  4. Cómo instalar Graylog2 en Ubuntu 15.04 / 14.10

  5. Cómo instalar WonderCMS con Nginx en Debian 11

Cómo instalar Debian 11 (Bullseye) con capturas de pantalla

Cómo instalar Itch con Debian 11

Cómo instalar Elasticsearch en Debian 11 Bullseye

Cómo instalar Graylog en Debian 9

Cómo instalar Elasticsearch en Debian 11

Cómo instalar phpMyAdmin con Nginx en Debian 11