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

Cómo instalar ELK Stack en CentOS 7 / RHEL 7

El análisis de registros siempre ha sido una parte importante de la administración del sistema, pero es una de las tareas más tediosas y tediosas, especialmente cuando se trata de varios sistemas. Afortunadamente, la pila ELK ha facilitado la tarea, la pila ELK ahora se usa para la inspección/análisis de registros y es una combinación de los siguientes tres productos de código abierto

  •  ElasticSearch:es una base de datos No-SQL que indexa y almacena información
  •  Logstash: es una herramienta de canalización de registros que recopila y analiza registros
  •  Kibana:proporciona GUI (interfaz gráfica de usuario) y se utiliza para la visualización de los datos y funciona además de elasticsearch.

La pila ELK recibe registros del cliente a través del protocolo Beats, enviados mediante un cliente Beats. En este tutorial, vamos a crear una pila ELK en una máquina Centos 7 y también instalaremos el cliente Beat llamado 'File Beat' en la máquina cliente.

  • 192.168.0.180    pila de alces (CentOS 7)
  • cliente 192.168.0.70     (CentOS 7)

Requisito previo

La máquina en la que instalaremos ELK debe tener instalada la versión 8 de Java como . Así que asegúrese de que java open-jdk versión 1.8.0_* esté instalado y ejecutándose y, en caso de que no esté instalado, ejecute el siguiente comando yum para instalar

[[email protected] ~]# yum install java-1.8.0-openjdk

[[email protected] ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
[[email protected] ~]#

Configure el nombre de host y actualice el archivo /etc/hosts

[[email protected] ~]# hostnamectl set-hostname "elk-stack.example.com"

Actualizar archivo /etc/hosts

192.168.0.180  elk-stack.example.com elk-stack

Pasos de instalación de ELK Stack

Búsqueda elástica

Comenzaremos importando las claves GPG para elasticsearch, esta clave también se compartirá con logstash y kibana. Para instalar elasticsearch, ejecute

[[email protected] ~]# rpm –importar https://packages.elastic.co/GPG-KEY-elasticsearch

[[correo electrónico protegido] ~]#

Ahora crearemos un repositorio para el repositorio de búsqueda elástica,

[[email protected] ~]# vi /etc/yum.repos.d/elasticsearch.repo

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

Una vez que se haya agregado el repositorio, instale elasticsearch usando yum,

[[email protected] ~]# yum install elasticsearch -y

Ahora iniciamos el servicio y también lo configuraremos para que comience en el momento del arranque

[[email protected] ~]# systemctl daemon-reload
[[email protected] ~]# systemctl start elasticsearch
[[email protected] ~]# systemctl enable elasticsearch

Permita el puerto tcp 9200 en el firewall del sistema operativo. En caso de que se esté ejecutando Firewall

[[email protected] ~]# firewall-cmd --permanent --add-port 9200/tcp

Ahora probaremos elasticsearch para asegurarnos de que responde a las consultas

[[email protected] ~]# curl -X GET http://localhost:9200

La salida del comando anterior debería ser similar a la siguiente:

Almacenamiento de registros

Ahora agregaremos el repositorio logstash,

[[email protected] ~]# vi /etc/yum.repos.d/logstash.repo

[logstash]
name=Logstash
baseurl=http://packages.elasticsearch.org/logstash/2.2/centos
gpgcheck=1
gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
enabled=1

Ahora instala logstash,

[[email protected] ~]# yum install logstash -y

Kibana

Ahora crearemos un repositorio para kibana,

[[email protected] ~]# vi /etc/yum.repos.d/kibana.repo

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

Ahora instala kibana usando yum,

[[email protected] ~]# yum install kibana -y

Después de la instalación, inicie el servicio y habilítelo en el momento del arranque

[[email protected] ~]# systemctl start kibana
[[email protected] ~]# systemctl enable kibana

Permitir el puerto 5601 en OS Firewall

[[email protected] ~]# firewall-cmd --permanent --add-port 5601/tcp
[[email protected] ~]# firewall-cmd --reload

A continuación, accederemos a la página web de kibana para asegurarnos de que funciona. Para hacer eso, abra el navegador web e ingrese la siguiente URL

http://Dirección IP:5601/

La instalación de la pila ELK ahora está completa y haremos las configuraciones necesarias.

Configuración

Certificado SSL para logstash

Después de la instalación de logstash, ahora crearemos un certificado SSL para asegurar la comunicación entre logstash y filebeat (clientes). Dado que usaremos la dirección IP para conectarnos al servidor, crearemos un certificado SSL para IP SAN.

Antes de crear un certificado SSL, haremos una entrada de nuestra IP en openssl.cnf,

[[email protected] ~]# vi /etc/pki/tls/openssl.cnf

y busque el parámetro con 'subjectAltName' en la sección [v3_ca] y agréguele la IP de su servidor,

subjectAltName = IP: 192.168.0.180

Ahora cambie el directorio a /etc/ssl y cree un certificado SSL con una validez de 365 días,

[[email protected] ~]# cd /etc/ssl/
[[email protected] ssl]# openssl req -x509 -days 365 -batch -nodes -newkey rsa:2048 -keyout logstash-forwarder.key -out logstash_frwrd.crt
Generating a 2048 bit RSA private key
.....+++
...........+++
writing new private key to 'logstash-forwarder.key'
-----
[[email protected] ssl]#

Una vez que el certificado esté listo, debe copiarse a todos los clientes mediante el comando scp.

Configuración de Logstash

Ahora crearemos un archivo de configuración para logstash en la carpeta '/etc/logstash/conf.d '. Este archivo se dividirá en tres secciones, es decir, sección de entrada, filtro y salida

[[email protected] ~]# vi /etc/logstash/conf.d/logstash.conf

# input section
input {
 beats {
   port => 5044
   ssl => true
   ssl_certificate => "/etc/ssl/logstash_frwrd.crt"
   ssl_key => "/etc/ssl/logstash-forwarder.key"
   congestion_threshold => "40"
  }
}

Esta sección hace que logstash escuche en el puerto 5044 los registros entrantes y también proporciona detalles del certificado SSL para una conexión segura.

La siguiente sección, es decir, la 'sección de filtro' analizará los registros antes de enviarlos a elasticsearch,

# Filter section
filter {
if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGLINE}" }
    }
    date {
match => [ "timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]

}
  }
}

La última sección es "sección de salida" y define la ubicación para el almacenamiento de registros,

# output section
output {
 elasticsearch {
  hosts => localhost
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
       }
stdout {
    codec => rubydebug
       }
}

Ahora guarde el archivo y salga. Todas estas secciones también se pueden dividir en tres archivos separados, pero los hemos usado en un solo archivo para facilitar la configuración. Ahora iniciaremos el servicio logstash y lo habilitaremos en el momento del arranque,

[[email protected] ~]# systemctl daemon-reload
[[email protected] ~]# systemctl start logstash
[[email protected] ~]# systemctl enable logstash

Permita el puerto tcp 5044 en el firewall del sistema operativo con el siguiente comando para que Logstash obtenga registros de los clientes

[[email protected] conf.d]# firewall-cmd --permanent --add-port=5044/tcp
success
[[email protected] conf.d]# firewall-cmd --reload
success
[[email protected] conf.d]#

Instalación de Filebeat en clientes

Filebeat debe instalarse en todos los sistemas para los que necesitamos analizar registros. Primero copiemos el archivo del certificado del servidor elk-stack al cliente

[[email protected] ~]# scp /etc/ssl/logstash_frwrd.crt [email protected]:/etc/ssl

Para instalar Filebeat, primero agregaremos el repositorio,

[[email protected] ~]# vi /etc/yum.repos.d/filebeat.repo
[beats]
name=Elastic Beats Repository
baseurl=https://packages.elastic.co/beats/yum/el/$basearch
enabled=1
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
gpgcheck=1

Ahora instale filebeat ejecutando debajo del comando

[[email protected] ~]# yum install filebeat

Ahora haremos cambios en el archivo de configuración para conectar los clientes de Filebeat a nuestra pila ELK, pero antes de hacerlo, asegúrese de que el certificado que creamos durante la configuración de logstash se copia en el cliente en el directorio '/etc/ssl'. Una vez hecho esto, iniciaremos la configuración de filebeat,

[[correo electrónico protegido] ~]# vi /etc/filebeat/filebeat.yml

Necesitamos hacer cambios en las siguientes tres secciones,

.  .  .
       paths:
        - /var/log/*.log
        - /var/log/secure
        - /var/log/messages
.  .  .

En esta sección, podemos permitir que se analicen los registros. Lo he dejado por defecto, es decir, todos los registros, pero puede modificarlo para enviar solo uno o dos archivos de registro. Para la siguiente sección, cambie document_type a 'syslog',

.  .  .
      document_type: syslog
.  .  .

&en la última sección, es decir, 'salida', definiremos la dirección IP y la ubicación de nuestro servidor de pila ELK para el certificado ssl,

.   .   .
output:
  logstash:
    hosts: ["192.168.0.180:5044"]
    tls:
      certificate_authorities: ["/etc/ssl/logstash_frwrd.crt"]
.   .   .

Nota:Deshabilite la salida de búsqueda elástica, comente la entrada "hosts:["localhost:9200"]" en caso de que esté habilitada.

Ahora inicie el servicio y habilítelo en el momento del arranque,

[[email protected] ~]# systemctl restart filebeat
[[email protected] ~]# systemctl enable filebeat

Eso es todo, las configuraciones tanto en el servidor como en el cliente ahora están completas. Ahora podemos iniciar sesión en la interfaz web de Kibana para buscar registros analizados.

Crear patrón de índice, cambiar logstash-* a filebeat-*

Haz clic en Crear

Haga clic en Descubrir y luego busque, obtendremos registros similares a los siguientes

Eso es todo de este artículo. Comparta sus valiosos comentarios y opiniones.


Cent OS
  1. Cómo instalar ownCloud en CentOS 7

  2. Cómo instalar Drupal 8 en CentOS 7

  3. Cómo instalar OpenStack de un solo nodo en CentOS 7

  4. Cómo instalar iRedMail (servidor de correo) en CentOS 7 / RHEL 7

  5. Instale KVM Hypervisor en CentOS 7.x y RHEL 7.x

Cómo instalar Prometheus en CentOS 8 / RHEL 8

Cómo instalar Ansible AWX en CentOS 7

Cómo instalar Elasticsearch, Logstash y Kibana (ELK Stack) en CentOS 7/RHEL 7

Cómo instalar la pila ELK en RHEL 8

Cómo instalar ELK Stack en CentOS 7

Cómo instalar ELK Stack en CentOS 8