GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar Graylog2 en CentOS 7 / RHEL 7

Graylog (anteriormente conocido como Graylog2) es una plataforma de administración de registros de código abierto que lo ayuda a recopilar, indexar y analizar los registros de cualquier máquina en una ubicación centralizada. Esta guía lo ayuda a instalar Graylog2 en CentOS 7/RHEL 7, y también se enfoca en la instalación de otros cuatro componentes que hacen de Graylog2 una poderosa herramienta completa de administración de registros.

Este tutorial es para una versión obsoleta de Graylog2. Una nueva versión está disponible aquí:Cómo instalar Graylog en CentOS 7 / RHEL 7.

Podemos instalar Graylog de dos formas,

1. Usando el paquete fuente.

2. Mediante el uso de paquetes binarios oficiales (Recomendado).

En este tutorial, mostraré la instalación de graylog usando paquetes binarios.

Componentes:

1. MongoDB:almacena las configuraciones y la metainformación.

2. Elasticsearch:almacena los mensajes de registro y ofrece una función de búsqueda; los nodos deben tener mucha memoria, ya que aquí se realizan todas las operaciones de E/S.

3. GrayLog:analizador de registros, recopila los registros de varias entradas.

4. Interfaz web GrayLog =le proporciona el portal basado en web para administrar los registros.

Requisitos previos:

1. Dado que Elasticsearch se basa en Java, necesitaríamos instalar openJDK u Oracle JDK. Se recomienda instalar Oracle JDK.

Para usar openJDK, instálelo usando el siguiente comando.

# yum install java

Verifique la versión de Java usando el siguiente comando.

# java -version

java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)

2. Configure el repositorio EPEL en CentOS 7 / RHEL 7.

Instalar Elasticsearch:

Elasticsearch es un servidor de búsqueda de código abierto que ofrece análisis y búsqueda distribuidos en tiempo real con una interfaz web RESTful. Elasticsearch almacena todos los registros enviados por el servidor Graylog y muestra los mensajes cuando la interfaz web de graylog solicita el llenado completo de la solicitud del usuario a través de la interfaz web.

Este tema cubre los ajustes de configuración que se requieren para Graylog, también puede consultar Instalar Elasticsearch en CentOS 7/Ubuntu 14.10/Linux Mint 17.1 para obtener instrucciones detalladas.

Instalemos Elasticsearch, puedes descargarlo del sitio web oficial.

Importa la clave GPG.

# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

Agregue el repositorio de Elasticsearch.

# vi /etc/yum.repos.d/elasticsearch.repo

[elasticsearch-1.7]
name=Elasticsearch repository for 1.7.x packages
baseurl=http://packages.elastic.co/elasticsearch/1.7/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

Instale la última versión usando el comando yum

# yum -y install elasticsearch

Configure Elasticseach para que se inicie durante el inicio del sistema.

# systemctl daemon-reload
# systemctl enable elasticsearch.service

Lo único importante es establecer un nombre de clúster como "graylog2 “, que está siendo utilizado por graylog. Ahora edite el archivo de configuración de Elasticsearch.

# vi /etc/elasticsearch/elasticsearch.yml

cluster.name: graylog2

Deshabilite los scripts dinámicos para evitar la ejecución remota, eso se puede hacer agregando la siguiente línea al final del archivo anterior.

script.disable_dynamic: true

Una vez hecho esto, estamos listos para irnos. Antes de eso, reinicie los servicios de Elasticsearch para cargar la configuración modificada.

# systemctl restart elasticsearch.service

Espere al menos un minuto para permitir que Elasticsearch se reinicie por completo; de lo contrario, la prueba fallará. Elastisearch debería escuchar ahora en 9200 para procesar la solicitud HTTP, podemos usar CURL para obtener la respuesta. Asegúrese de que regrese con el nombre del clúster como "graylog2

# curl -X GET http://localhost:9200

{
  "status" : 200,
  "name" : "Silver Fox",
  "cluster_name" : "graylog2",
  "version" : {
    "number" : "1.7.2",
    "build_hash" : "e43676b1385b8125d647f593f7202acbd816e8ec",
    "build_timestamp" : "2015-09-14T09:49:53Z",
    "build_snapshot" : false,
    "lucene_version" : "4.10.4"
  },
  "tagline" : "You Know, for Search"
}

Opcional: Use el siguiente comando para verificar el estado del clúster de Elasticsearch, debe obtener un estado de clúster como "verde" para que graylog funcione.

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

{
  "cluster_name" : "graylog2",
  "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
}

Instalar MongoDB:

MongoDB está disponible en formato RPM y se puede descargar desde el sitio web oficial. Agregue la siguiente información de repositorio en el sistema para instalar MongoDB usando yum.

# vi /etc/yum.repos.d/mongodb-org-3.0.repo

[mongodb-org-3.0]
name=MongoDB Repository
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1

Instale MongoDB usando el siguiente comando.

# yum -y install mongodb-org

Si usa SELinux, debe instalar el siguiente paquete para configurar ciertos elementos de la política de SELinux.

# yum -y install policycoreutils-python

Ejecute el siguiente comando para configurar SELinux para permitir que se inicie MongoDB.

# semanage port -a -t mongod_port_t -p tcp 27017

O, si no desea utilizar SELinux en el sistema, considere desactivar SELinux.

Inicie el servicio MongoDB y permita que se inicie automáticamente durante el inicio del sistema.

# service mongod start

# chkconfig mongod on

Los pasos anteriores son suficientes para configurar graylog2, puede encontrar la configuración detallada aquí.

Instalar Graylog2:

Graylog-server acepta y procesa los mensajes de registro, también genera RESTAPI para las solicitudes que provienen de graylog-web-interface. Descarga la última versión de graylog desde graylog.org.

Use el siguiente comando para instalar el repositorio graylog2.

# rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-1.2-repository-el7_latest.rpm

Instale el último servidor graylog.

# yum -y install graylog-server

Edite el archivo server.conf.

# vi /etc/graylog/server/server.conf

Configure las siguientes variables en el archivo anterior.

Establezca un secreto para proteger las contraseñas de los usuarios, use el siguiente comando para generar un secreto, use al menos 64 caracteres.

# pwgen -N 1 -s 96

5uxJaeL4vgP9uKQ1VFdbS5hpAXMXLq0KDvRgARmlI7oxKWQbH9tElSSKTzxmj4PUGlHIpOkoMMwjICYZubUGc9we5tY1FjLB

Si obtiene un "pwgen:comando no encontrado “, use el siguiente comando para instalar pwgen.

Nota:No olvide configurar el repositorio EPEL en CentOS 7 / RHEL 7.

# yum -y install pwgen

Coloca el secreto.

password_secret = 5uxJaeL4vgP9uKQ1VFdbS5hpAXMXLq0KDvRgARmlI7oxKWQbH9tElSSKTzxmj4PUGlHIpOkoMMwjICYZubUGc9we5tY1FjLB

Lo siguiente es establecer una contraseña hash para el usuario root (que no debe confundirse con el usuario del sistema, el usuario root de graylog es admin). Utilizará esta contraseña para iniciar sesión en la interfaz web, la contraseña del administrador no se puede cambiar mediante la interfaz web, debe editar esta variable para establecerla.

Reemplace “su contraseña ” con la elección de los suyos.

# echo -n yourpassword | sha256sum

e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Coloque la contraseña hash.

root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Puede configurar la dirección de correo electrónico del usuario raíz (administrador).

root_email = "[email protected]"

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

root_timezone = UTC

Graylog intentará encontrar los nodos de Elasticsearch automáticamente, utiliza el modo de multidifusión para el mismo. Pero cuando se trata de una red más grande, se recomienda utilizar el modo de unidifusión, que es el más adecuado para las configuraciones de producción. Así que agregue las siguientes dos entradas al archivo graylog server.conf, reemplace ipaddress con nombre de host en vivo o dirección IP, se pueden agregar múltiples hosts separados por comas.

elasticsearch_http_enabled = false
elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300

Establezca solo un nodo maestro definiendo la siguiente variable, la configuración predeterminada es verdadera, debe configurarla como falsa para convertir el nodo en particular en esclavo. El nodo maestro realiza algunas tareas periódicas que el esclavo no realizará.

is_master = true

La siguiente variable establece la cantidad de mensajes de registro que se deben mantener por índice; se recomienda tener varios índices más pequeños en lugar de índices 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 realmente depende de la cantidad de nodos en el clúster de Elasticsearch, si solo tiene un nodo, configúrelo como 1.

elasticsearch_shards = 1

La cantidad de réplicas para sus índices, si solo tiene un nodo en el clúster de Elasticsearch; configúrelo como 0.

elasticsearch_replicas = 0

Agregue información de autenticación de MongoDB.

mongodb_useauth = false

Inicie el servidor graylog usando el siguiente comando.

# systemctl restart graylog-server

Puede consultar los registros de inicio del servidor, le será útil para solucionar problemas de graylog en caso de que surja algún problema.

# tailf /var/log/graylog-server/server.log

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

2015-09-16T21:26:05.689-04:00 INFO  [ServerBootstrap] Graylog server up and running.

Instalar la interfaz web de Graylog:

Para configurar la interfaz web de graylog, debe tener al menos un nodo de servidor de graylog. Instale la interfaz web usando el siguiente comando.

# yum -y install graylog-web

Edite el archivo de configuración y configure los siguientes parámetros.

# vi /etc/graylog/web/web.conf

Esta es la lista de nodos del servidor graylog, puede agregar varios nodos, separados por comas.

graylog2-server.uris="http://127.0.0.1:12900/"

Configure el secreto de la aplicación, puede generarlo usando pwgen -N 1 -s 96.

application.secret="sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z"

Reinicie la interfaz web de gralog usando el siguiente comando,

# systemctl restart graylog-web

Acceda a la interfaz web de Graylog:

La interfaz web escuchará en el puerto 9000, configure el firewall para permitir el tráfico en el puerto 9000.

# firewall-cmd --permanent --zone=public --add-port=9000/tcp
# firewall-cmd --reload

Apunte su navegador a http://dirección-ip: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, obtendrá la siguiente página de búsqueda.

¡Eso es todo! Ha instalado correctamente Graylog2 en CentOS 7/RHEL 7.

Esta guía es para una versión obsoleta de Graylog2. Una nueva versión está disponible aquí:Cómo instalar Graylog en CentOS 7 / RHEL 7.
Cent OS
  1. Cómo instalar phpMyAdmin en RHEL 8 / CentOS 8

  2. Cómo instalar P7Zip en RHEL 8 / CentOS 8

  3. Cómo instalar Graylog2 en CentOS 7 / RHEL 7 – Uso de la fuente

  4. Cómo instalar Elasticsearch en CentOS 8 / RHEL 8

  5. Cómo instalar Elasticsearch en CentOS/RHEL 8

Cómo instalar maven en RHEL 8 / CentOS 8

Cómo instalar cpan en RHEL 8 / CentOS 8

Cómo instalar Elasticsearch en CentOS 7

Cómo instalar Elasticsearch en CentOS 8

Cómo instalar Graylog en CentOS 8 / RHEL 8

Cómo instalar Graylog 3.0 en CentOS 7 / RHEL 7