GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Graylog 3.0 en Ubuntu 18.04 / Ubuntu 16.04

Graylog es una herramienta de administración de registros de código abierto que lo ayuda a recopilar, indexar y analizar los registros de cualquier máquina de forma centralizada. Esta guía se centra en la instalación de Graylog en Ubuntu 18.04/Ubuntu 16.04.

Componentes

MongoDB – Actúa como una base de datos, almacena las configuraciones y la metainformación.

Búsqueda elástica – Almacena los mensajes de registro y ofrece una función de búsqueda. Se recomienda asignar más memoria y usar discos SAS o SAN para los nodos de Elasticsearch. Aquí, donde ocurre toda tu búsqueda.

Servidor Graylog – Analizador de registro. Recopila los registros de varias entradas y proporciona salida a una interfaz web integrada para administrar los registros.

Requisitos

Como sabes, Elasticsearch es una aplicación basada en Java. Instale OpenJDK u Oracle JDK en su máquina para continuar.

Aquí, optaré por OpenJDK 8.

sudo apt update
sudo apt install -y apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen curl dirmngr

Verifique la versión de Java.

java -version

Salida:

openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

Instalar Elasticsearch

Elasticsearch es uno de los componentes principales que requiere que Graylog se ejecute, actúa como un servidor de búsqueda, ofrece una búsqueda distribuida en tiempo real y análisis con la interfaz web RESTful.

Elasticsearch almacena todos los registros enviados por el servidor Graylog y muestra los mensajes cada vez que el usuario lo solicita a través de la interfaz web integrada.

Descargue e instale la clave de firma GPG.

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

Configure el repositorio de Elasticsearch ejecutando el siguiente comando.

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

Actualice el caché del repositorio e instale el paquete Elasticsearch.

sudo apt update
sudo apt install -y elasticsearch

Haga que el servicio Elasticsearch se inicie automáticamente al iniciar el sistema.

sudo systemctl enable elasticsearch

Lo único importante es establecer un nombre de clúster como graylog . Edite el archivo de configuración de Elasticsearch y actualícelo según corresponda.

sudo nano /etc/elasticsearch/elasticsearch.yml

Establezca el nombre del clúster que se muestra a continuación.

cluster.name: graylog

Inicie el servicio Elasticsearch para leer las nuevas configuraciones.

sudo systemctl restart elasticsearch

Espere al menos un minuto para permitir que Elasticsearch se reinicie por completo. Elastisearch ahora debería estar escuchando en 9200 para el procesamiento de la solicitud HTTP. Utilice un CURL para comprobar la respuesta.

curl -X GET http://localhost:9200

Salida:

Asegúrese de que el nombre del clúster se muestre como graylog .

{
  "name" : "bgVbYrc",
  "cluster_name" : "graylog",
  "cluster_uuid" : "-wECQlwnSZWftd_XdWSz-g",
  "version" : {
    "number" : "6.6.1",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "1fd8f69",
    "build_date" : "2019-02-13T17:10:04.160291Z",
    "build_snapshot" : false,
    "lucene_version" : "7.6.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

Opcional: Pruebe el estado del clúster de Elasticsearch.

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

Salida:

Asegúrese de que la salida produzca 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" : 0,
  "active_shards" : 0,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}

Instalar MongoDB

Descargue e instale la última versión de MongoDB desde el sitio web oficial. Importa la clave pública en la terminal para comenzar.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Agregue el repositorio mongodb creando el /etc/apt/sources.list.d/mongodb-org.list archivo usando el siguiente comando.

### Ubuntu 18.04 ###

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

### Ubuntu 16.04 ###

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Instale MongoDB usando el siguiente comando.

sudo apt update
sudo apt install -y mongodb-org

Inicie MongoDB y habilítelo al iniciar el sistema.

sudo systemctl start mongod
sudo systemctl enable mongod

Instalar Graylog

Graylog Server acepta y procesa los mensajes de registro y luego los muestra para las solicitudes que provienen de la interfaz web de graylog.

Descargue e instale el repositorio graylog 3.x.

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

Actualice la memoria caché del repositorio.

sudo apt update

Instale el servidor Graylog usando el siguiente comando.

sudo apt install -y graylog-server

Configurar Graylog

Debe establecer un secreto para proteger las contraseñas de los usuarios. Usa el comando pwgen para lo mismo.

pwgen -N 1 -s 96

Salida:

fGoTI07CooB6xNy5sdPVSKSuq6QSu2QyWf6G9z3haolgwbERTQ9ZbfbF6hxRYbJMMAlEZX7CXHxJLBkNyfM0420u8aFuZy9M

Edite el servidor.conf archivo para comenzar la configuración de graylog.

sudo nano /etc/graylog/server/server.conf

Coloque el secreto como a continuación.

password_secret = fGoTI07CooB6xNy5sdPVSKSuq6QSu2QyWf6G9z3haolgwbERTQ9ZbfbF6hxRYbJMMAlEZX7CXHxJLBkNyfM0420u8aFuZy9M

Lo siguiente es establecer una contraseña hash (sha256) para el usuario root (que no debe confundirse con el usuario del sistema, el usuario root de graylog es admin).

Necesitará esta contraseña para iniciar sesión en la interfaz web de Graylog. La contraseña del administrador no se puede cambiar mediante la interfaz web. Por lo tanto, debe editar esta variable para configurarla.

Reemplace su contraseña con la elección de los tuyos.

echo -n yourpassword | sha256sum

Salida:

e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Edite el servidor.conf archivo de nuevo.

sudo nano /etc/graylog/server/server.conf

Coloque la contraseña hash.

root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Puede configurar el usuario administrador de la dirección de correo electrónico.

root_email = "[email protected]"

Establezca la zona horaria del usuario raíz (administrador).

root_timezone = UTC

Establezca solo un nodo maestro definiendo la siguiente variable. Si agrega un segundo nodo Graylog, establezca esto en falso para convertir el segundo nodo en esclavo, ya que el nodo maestro realiza algunas tareas periódicas que los nodos esclavos no realizarán.

is_master = true

Establecer el número de mensajes de registro para mantener por índice; se recomienda tener varios índices más pequeños en lugar de más grandes.

elasticsearch_max_docs_per_index = 20000000

El siguiente parámetro define tener un número total de índices si se alcanza este número, se eliminará el índice antiguo.

elasticsearch_max_number_of_indices = 20

La configuración de fragmentos se basa en la cantidad de nodos en el clúster de Elasticsearch en particular. Si solo tiene un nodo, configúrelo como 1.

elasticsearch_shards = 1

Esta configuración define el número de réplicas para sus índices. Si solo tiene un nodo en el clúster de Elasticsearch, configúrelo como 0.

elasticsearch_replicas = 0

Configurar la interfaz web de Graylog

A partir de la versión 2.x, el servidor Graylog sirve directamente la interfaz web. Configure la interfaz web de Graylog editando server.conf archivo.

sudo nano /etc/graylog/server/server.conf

Actualice la siguiente entrada con la dirección IP de su sistema desde la cual accederá a la interfaz web de Graylog.

http_bind_address = your-server-ip:9000

Reinicie el servicio Graylog.

sudo systemctl restart graylog-server

Haga que el servidor Graylog se inicie automáticamente al iniciar el sistema.

sudo systemctl enable graylog-server

Puede consultar los registros de inicio del servidor y le será útil para solucionar problemas de Graylog en caso de que surja un problema.

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

En el inicio exitoso de graylog-server, debería recibir el siguiente mensaje en el archivo de registro.

2019-02-22T10:07:49.398+05:30 INFO  [ServerBootstrap] Graylog server up and running.

Acceder a Graylog

La interfaz web ahora estará escuchando en el puerto 9000, dirija su navegador a

http://ip.add.re.ss:9000

Inicie sesión con el nombre de usuario admin y la contraseña que configuró en root_password_sha2 en servidor.conf .

Una vez que haya iniciado sesión, verá la página de inicio.

Haga clic en Sistema>> Resumen para conocer el estado del servidor Graylog.

Crear entradas de Graylog

La entrada de Graylog debe configurarse para recibir los registros de fuentes externas, es decir, syslog o cualquier sistema de registro.

Para este ejemplo, configuraremos una entrada para recibir registros de syslog en el número de puerto UDP 1514. Porque si comienza a probar una entrada en uno de los puertos privilegiados, cualquier número de puerto TCP/UDP por debajo de 1024, verá el permiso denegado. error en los registros de Graylog.

Entonces, crearemos una entrada para comenzar en el puerto 1514.

Haga clic en Sistema>> Entradas>> seleccione UDP de Syslog y luego haga clic en Iniciar nueva entrada.

Complete con los valores y luego haga clic en Guardar.

Nodo: Seleccione su nodo Graylog

Título: Nombra tu entrada

Dirección de enlace: 0.0.0.0 (Dejar el predeterminado)

Puerto: 1514

Configurar Rsyslog

Una vez que haya creado las entradas, configure Rsyslog o reenvíe los registros del sistema a su servidor Graylog.

Edite el archivo de configuración de Rsyslog.

sudo nano /etc/rsyslog.conf

La configuración típica de Rsyslog se verá a continuación para enviar registros en UDP 1514.

*.info;mail.none;authpriv.none;cron.none @192.168.1.10:1514

Reinicie el servicio Rsyslog para enviar registros.

systemctl restart rsyslog

Ver registros usando Graylog

Espere unos minutos. Debería comenzar a recibir mensajes de registro de la máquina cliente cuando se genera el evento.

La siguiente captura de pantalla muestra los registros recibidos por Graylog (consola de Graylog>> Buscar h ).

Conclusión

Ha instalado correctamente Graylog 3.0 en Ubuntu 18.04/Ubuntu 16.04 y ha configurado Graylog para recibir registros de Rsyslog de fuentes externas. Como lectura adicional, puede intentar configurar Nginx o Apache como un proxy inverso y configurar HTTPS para la interfaz web de Graylog.


Ubuntu
  1. Cómo instalar Elasticsearch en Ubuntu 18.04

  2. Cómo instalar Graylog2 en Ubuntu 14.04

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

  4. Cómo instalar Elasticsearch en Ubuntu 20.04

  5. Cómo instalar el servidor Graylog en Ubuntu 16.04

Cómo instalar Graylog en Debian 9

Cómo instalar Graylog en Ubuntu 16.04 LTS

Cómo instalar Graylog en Ubuntu 18.04 LTS

Cómo instalar Graylog en Ubuntu 20.04 LTS

Cómo instalar Go en Ubuntu 20.04

Cómo instalar Go en Ubuntu 22.04