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

Cómo instalar Elastic Stack (Elasticsearch, Logstash y Kibana) en CentOS 8

Elasticsearch es un motor de búsqueda de código abierto basado en Lucene, desarrollado en Java. Proporciona un motor de búsqueda de texto completo distribuido y multiinquilino con una interfaz web HTTP Dashboard (Kibana). Los datos se consultan, recuperan y almacenan con un esquema de documento JSON. Elasticsearch es un motor de búsqueda escalable que se puede utilizar para buscar todo tipo de documentos de texto, incluidos los archivos de registro. Elasticsearch es el corazón del 'Elastic Stack' o ELK Stack.

Logstash es una herramienta de código abierto para administrar eventos y registros. Proporciona canalización en tiempo real para la recopilación de datos. Logstash recopilará sus datos de registro, los convertirá en documentos JSON y los almacenará en Elasticsearch.

Kibana es una herramienta de visualización de datos de código abierto para Elasticsearch. Kibana proporciona una bonita interfaz web de tablero. Le permite administrar y visualizar datos de Elasticsearch. No solo es hermoso, sino también poderoso.

En este tutorial, le mostraremos paso a paso la instalación y configuración de 'Elastic Stack' en el servidor CentOS 8. Instalaremos y configuraremos Elasticsearch, Logstash y Kibana. Y luego configure el 'filebeat' de Beats en los sistemas Ubuntu y CentOS de los clientes.

Requisitos previos

  • CentOS 8 de 64 bits con 4 GB de RAM - elk-master
  • CentOS 8 de 64 bits con 1 GB de RAM - client01
  • Ubuntu 18.04 de 64 bits con 1 GB de RAM - client02

Qué haremos:

  • Agregar repositorio elástico al servidor CentOS 8
  • Instalar y configurar Elasticsearch
  • Instalar y configurar el panel de control de Kibana
  • Configurar Nginx como proxy inverso para Kibana
  • Instalar y configurar Logstash
  • Instalar y configurar Filebeat
  • Pruebas

Paso 1:Agregar repositorio elástico

En primer lugar, agregaremos la clave y el repositorio de Elasticsearc al servidor CentOS 8. Con el repositorio de elasticsearch proporcionado por elastic.co, podemos instalar productos elásticos, incluidos Elasticsearch, Logstash, Kibana y Beats.

Agregue la clave elástica al sistema usando el siguiente comando.

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

Después de eso, vaya al directorio '/etc/yum.repos.d' y cree un nuevo archivo de repositorio 'elasticsearch.repo'.

cd /etc/yum.repos.d/
vim elasticsearch.repo

Pegue el repositorio de búsqueda elástica a continuación.

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Guardar y cerrar.

Ahora verifique todos los repositorios disponibles en el sistema usando el comando dnf a continuación.

dnf repolist

Y obtendrá el repositorio de búsqueda elástica que se ha agregado al servidor CentOS 8.

Como resultado, puede instalar productos de Elastic como Elasticsearch, Logstash y Kibana, etc.

Paso 2:instalar y configurar Elasticsearch

En este paso, instalaremos y configuraremos Elasticsearch.

Instale el paquete de Elasticsearch usando el comando dnf a continuación.

sudo dnf install elasticsearch -y

Una vez completada la instalación, vaya al directorio '/etc/elasticsearch' y edite el archivo de configuración 'elasticsearch.yml' usando el editor vim.

cd /etc/elasticsearch/
vim elasticsearch.yml

Descomente las siguientes líneas y cambie el valor de cada línea como se indica a continuación.

network.host: 127.0.0.1
http.port: 9200

Guardar y cerrar.

Opcionalmente:

Puede ajustar la búsqueda elástica editando el archivo de configuración de JVM 'jvm.options' y configurar el tamaño del almacenamiento dinámico en función de la cantidad de memoria que tenga.

Edite la configuración de JVM 'jvm.options' usando el editor vim.

vim jvm.options

Cambie el tamaño de almacenamiento dinámico mínimo/máximo a través de la configuración de Xms y Xmx como se muestra a continuación.

-Xms512m
-Xmx512m

Guardar y cerrar.

A continuación, vuelva a cargar la configuración del administrador systemd y agregue el servicio elasticsearch al tiempo de arranque.

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch

A continuación, inicie el servicio de búsqueda elástica.

sudo systemctl start elasticsearch

Como resultado, elasticsearch está funcionando detrás de la dirección IP local '127.0.0.1' con el puerto predeterminado '9200' en el servidor CentOS 8.

Puede verificar la búsqueda elástica usando el comando curl a continuación.

curl -XGET 'http://127.0.0.1:9200/?pretty'

Y debajo está el resultado que obtendrás.

Paso 3:instalar y configurar el panel de Kibana

Después de instalar elasticsearch, instalaremos y configuraremos Kibana Dashboard en el servidor CentOS 8.

Instale el tablero de Kibana usando el comando dnf a continuación.

sudo dnf install kibana

Una vez completada la instalación, vaya al directorio '/etc/kibana' y edite el archivo de configuración 'kibana.yml'.

cd /etc/kibana/
vim kibana.yml

Descomente y cambie la configuración de algunas líneas como se muestra a continuación.

server.port: 5601
server.host: "127.0.0.1"
elasticsearch.url: "http://127.0.0.1:9200"

Guardar y cerrar.

A continuación, agregue el servicio kibana al inicio del sistema e inicie el servicio kibana.

sudo systemctl enable kibana
sudo systemctl start kibana

El servicio Kibana está funcionando en el servidor CentOS 8, verifíquelo con los siguientes comandos.

systemctl status kibana
netstat -plntu

Y obtendrá el resultado como se muestra a continuación.

Como resultado, el servicio Kibana está activo y funcionando en el puerto TCP predeterminado '5601'.

Paso 4:configurar Nginx como proxy inverso para Kibana

En este paso, instalaremos el servidor web Nginx y lo configuraremos como un proxy inverso para el Panel de control de Kibana.

Instale Nginx y httpd-tools con el siguiente comando dnf.

sudo dnf install nginx httpd-tools

Una vez completada la instalación, vaya al directorio '/etc/nginx/conf.d' y cree un nuevo archivo de configuración 'kibana.conf'.

cd /etc/nginx/conf.d/
vim kibana.conf

Pegue la siguiente configuración.

server {
    listen 80;
 
    server_name elk.hakase-labs.io;
 
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.kibana-user;
 
    location / {
        proxy_pass http://127.0.0.1:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Guardar y cerrar.

A continuación, debemos crear la autenticación básica para asegurar el acceso a Kibana. Cambie el usuario 'hakase' por el suyo propio y ejecute el comando htpasspwd como se muestra a continuación.

sudo htpasswd -c /etc/nginx/.kibana-user hakase
TYPE YOUR PASSWORD

Escriba su contraseña y pruebe la configuración de nginx.

nginx -t

Asegúrate de que no haya ningún error.

Ahora agregue el servicio nginx al arranque del sistema e inicie el servicio nginx.

systemctl enable nginx
systemctl start nginx

Como resultado, se completó la instalación y configuración de Nginx como proxy inverso para Kibana Dashboard.

Paso 5:instalar y configurar Logstash

En este paso, vamos a instalar y configurar logstash the log shipper. Instalaremos logstash, configuraremos los latidos de entrada, configuraremos el filtrado de syslog usando el complemento de logstash llamado 'grok' y luego configuraremos la salida para elasticsearch.

Instale logstash usando el comando dnf a continuación.

sudo dnf install logstash

Una vez completada la instalación, vaya al directorio '/etc/logstash' y edite el archivo de configuración de JVM 'jvm.options' usando el editor vim.

cd /etc/logstash/
vim jvm.options

Cambie el tamaño de almacenamiento dinámico mínimo/máximo a través de la configuración de Xms y Xmx como se muestra a continuación.

-Xms512m
-Xmx512m

Guardar y cerrar.

A continuación, vaya al directorio '/etc/logstash/conf.d' y cree el archivo de configuración para la entrada de ritmos llamado 'input-beat.conf'.

cd /etc/logstash/conf.d/
vim input-beat.conf

Pegue la siguiente configuración.

input {
  beats {
    port => 5044
  }
}

Guardar y cerrar.

Ahora cree el archivo de configuración 'syslog-filter.conf'.

vim syslog-filter.conf

Pegue la siguiente configuración.

filter {
  if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
      add_field => [ "received_at", "%{@timestamp}" ]
      add_field => [ "received_from", "%{host}" ]
    }
    date {
      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}

Guardar y cerrar.

Y luego cree la configuración de salida para elasticsearch 'output-elasticsearch.conf'.

vim output-elasticsearch.conf

Pegue la siguiente configuración.

output {
  elasticsearch { hosts => ["127.0.0.1:9200"]
    hosts => "127.0.0.1:9200"
    manage_template => false
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
    document_type => "%{[@metadata][type]}"
  }
}

Guardar y cerrar.

A continuación, agregue el servicio logstash al inicio del sistema e inicie el servicio logstash.

systemctl enable logstash
systemctl start logstash

El servicio de logstash está activo y funcionando, compruébelo con los siguientes comandos.

systemctl status logstash
netstat -plntu

Y obtendrá el resultado como se muestra a continuación.

Como resultado, el transportador de registros logstash está activo y ejecutándose en el servidor CentOS 8 con el puerto TCP predeterminado '5044'. Y la instalación básica de Elastic Stack se ha completado y estamos listos para enviar y monitorear nuestros registros al servidor de Elastic (ELK Stack).

Paso 6:instalar Filebeat en el cliente

En este paso, le mostraremos cómo configurar Filebeat en el sistema Ubuntu y CentOS. Instalaremos un filebeat y lo configuraremos para enviar registros de ambos servidores a Logstash en el servidor elástico.

- Instalar Filebeat en CentOS 8

Agregue la clave de búsqueda elástica al sistema CentOS 8 usando el siguiente comando.

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

Ahora ve al directorio '/etc/yum.repos.d' y crea el archivo 'elasticsearch.repo' usando el editor vim.

cd /etc/yum.repos.d/
vim elasticsearch.repo

Pegue la siguiente configuración.

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Guardar y cerrar.

Ahora instala el filebeat usando el comando dnf a continuación.

sudo dnf install filebeat

Espere a que finalice la instalación de Filebeat.

- Instalar Filebeat en Ubuntu 18.04

En primer lugar, instale los paquetes apt-transport-https.

sudo apt install apt-transport-https

Después de eso, agregue la clave de búsqueda elástica y el repositorio usando los siguientes comandos.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

Ahora actualice todos los repositorios e instale filebeat en el sistema ubuntu usando el comando apt a continuación.

sudo apt update
sudo apt install filebeat

Espere a que finalice la instalación de Filebeat.

- Configurar Filebeat

La configuración de filebeat ubicada en el directorio '/etc/filebeat'. Vaya al directorio de filebeat y edite el archivo de configuración 'filebeat.yml'.

cd /etc/filebeat/
vim filebeat.yml

Ahora deshabilite la salida de búsqueda elástica predeterminada como se muestra a continuación.

#output.elasticsearch:
  # Array of hosts to connect to.
  #  hosts: ["127.0.0.1:9200"]

Luego habilite la salida de logstash y especifique la dirección IP del host de logstash.

output.logstash:
  # The Logstash hosts
  hosts: ["10.5.5.25:5044"]

Guardar y cerrar.

A continuación, debemos habilitar los módulos de Filebeat. Ejecute el siguiente comando filebeat para obtener la lista de módulos filebeat.

filebeat modules list

Habilite el módulo 'sistema' usando el siguiente comando.

filebeat modules enable system

El módulo del sistema filebeat se ha habilitado con el archivo de configuración 'modules.d/system.yml'.

Edite la configuración del módulo del sistema usando el editor vim.

cd /etc/filebeat/
vim modules.d/system.yml

Descomente la ruta del archivo syslog y el archivo de autorización ssh.

Para el sistema CentOS:

  # Syslog
  syslog:
    enabled: true
    var.paths: ["/var/log/messages"]

  # Authorization logs
  auth:
    enabled: true
    var.paths: ["/var/log/secure"]

Para el sistema Ubuntu:

  # Syslog
  syslog:
    enabled: true
    var.paths: ["/var/log/syslog"]

  # Authorization logs
  auth:
    enabled: true
    var.paths: ["/var/log/auth.log"]

Guardar y cerrar.

Ahora agregue el servicio filebeat al arranque del sistema e inicie el servicio.

systemctl enable filebeat
systemctl start filebeat

El servicio filebeat está en funcionamiento, puede comprobarlo con el siguiente comando.

systemctl status filebeat

Y se le mostrará el resultado de la siguiente manera.

A continuación se muestra el resultado del servidor CentOS 8.

Y a continuación es de Ubuntu Server 18.04.

Como resultado, se ha establecido la conexión entre filebeat y el servicio logstash en la dirección IP del servidor de pila elástica '10.5.5.12'.

Paso 7 - Prueba

Abra su navegador web y escriba el nombre de dominio de instalación de Elastic Stack en la barra de direcciones.

http://elk.hakase-labs.io/

Ahora inicie sesión en Kibana Dashboard con la cuenta de autenticación básica que ha creado.

Y obtendrá el Panel de Kibana como se muestra a continuación.

Ahora conéctese a los datos del índice de búsqueda elástica que se crearon automáticamente después de que el latido del archivo se conectara al logstash. Haga clic en 'Conectarse a su índice de Elasticsearch ' enlace.

Crea el 'filebeat-* ' patrón de índice y haga clic en 'Siguiente paso botón '.

Para el nombre del filtro, elija '@timestamp ' y haga clic en 'Crear patrón de índice '.

Y el 'filebeat-* ' se ha creado el patrón de índice, haga clic en 'Descubrir ' menú a la izquierda.

Y obtendrá los datos de registro de los clientes de Filebeat como se muestra a continuación.

Registros para el sistema CentOS 8.

Iniciar sesión para el sistema Ubuntu.

Como resultado, los datos de registro que se definieron en el módulo del sistema Filebeat se enviaron al servidor de pila elástica.

Y la instalación y configuración de Elastic Stack en CentOS 8 se completó con éxito.


Cent OS
  1. Cómo instalar Elasticsearch y Kibana en Linux

  2. Cómo instalar Elasticsearch, Logstash y Kibana 4 en CentOS 7 / RHEL 7

  3. Cómo instalar Elasticsearch, Logstash y Kibana 4 en Ubuntu 14.04 / 15.04

  4. Cómo instalar la pila ELK en CentOS 7

  5. Instale Elasticsearch, Logstash y Kibana en Ubuntu 20.04

Configure ELK Stack en Ubuntu 16.04:instale ElasticSearch, Logstash y Kibana en Ubuntu 16.04

Cómo instalar Elasticsearch, Logstash y Kibana (ELK Stack) en Ubuntu 18.04/Ubuntu 16.04

Cómo instalar ELK Stack (Elasticsearch, Logstash y Kibana) en Ubuntu 20.04

Cómo instalar ELK Stack en CentOS 7

Cómo instalar ELK Stack en CentOS 8

Cómo instalar Elasticsearch Logstash Kibana (Elastic Stack) en Ubuntu 18.04