La pila ELK es un acrónimo de tres proyectos populares de código abierto:Elasticsearch, Logstash y Kibana. Es una plataforma de gestión de registros de código abierto y una de las más populares que recopila, procesa y visualiza datos de múltiples fuentes de datos. Se utiliza principalmente para el análisis de registros en entornos de TI. Es muy útil para un administrador de sistemas buscar y analizar un gran volumen de datos para tomar decisiones en tiempo real, todo el tiempo.
Elasticsearch:es un motor de búsqueda utilizado para almacenar todos los datos recopilados.
Kibana:proporciona una interfaz basada en web que se utiliza para buscar y visualizar sus datos.
Logstash:es una interfaz de procesamiento de datos utilizada para recopilar datos de varias fuentes al mismo tiempo y luego enviar los datos a su alijo deseado.
En este tutorial, explicaremos cómo instalar y configurar la pila ELK en el servidor Ubuntu 20.04.
Requisitos
- Un Ubuntu 20.04 VPS (usaremos nuestro plan de alojamiento NVMe 8 VPS)
- Acceso a la cuenta de usuario root (o acceso a una cuenta de administrador con privilegios de root)
Inicie sesión en el servidor y actualice los paquetes del sistema operativo del servidor
Primero, inicie sesión en su servidor Ubuntu 20.04 a través de SSH como usuario raíz:
ssh root@IP_Address -p Port_number
Deberá reemplazar 'IP_Address' y 'Port_number' con la dirección IP y el número de puerto SSH respectivos de su servidor. Además, reemplace "root" con el nombre de usuario de la cuenta de administrador si es necesario.
Antes de comenzar, debe asegurarse de que todos los paquetes del sistema operativo Ubuntu instalados en el servidor estén actualizados. Puede hacerlo ejecutando los siguientes comandos:
apt-get update -y apt-get upgrade -y
Instalar dependencias requeridas
Antes de comenzar, deberá instalar Java y otras dependencias requeridas en su servidor. Puede instalarlos todos usando el siguiente comando:
apt-get install openjdk-11-jdk wget apt-transport-https curl gnupg2 -y
Una vez que todos los paquetes estén instalados, verifique la versión instalada de Java con el siguiente comando:
java -version
Deberías obtener el siguiente resultado:
openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
Instalar Elasticsearch
De forma predeterminada, Elasticsearch no está disponible en el repositorio estándar de Ubuntu. Por lo tanto, deberá agregar el repositorio de Elasticsearch a su sistema.
Primero, agregue la clave de firma de Elasticsearch con el siguiente comando:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
A continuación, agregue el repositorio con el siguiente comando:
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list
Una vez que se agrega el repositorio, actualícelo e instale el paquete de Elasticsearch con el siguiente comando:
apt-get update -y apt-get install elasticsearch -y
Una vez que se haya instalado Elasticsearch, inicie el servicio de Elasticsearch y habilítelo para que se inicie al reiniciar el sistema:
systemctl start elasticsearch systemctl enable elasticsearch
En este punto, Elasticsearch se inicia y escucha en el puerto 9200. Puede verificarlo con el siguiente comando:
ss -antpl | grep 9200
Deberías obtener el siguiente resultado:
LISTEN 0 4096 [::ffff:127.0.0.1]:9200 *:* users:(("java",pid=27757,fd=257)) LISTEN 0 4096 [::1]:9200 [::]:* users:(("java",pid=27757,fd=256))
También puede verificar Elasticsearch enviando una solicitud HTTP:
curl -X GET http://localhost:9200
Deberías obtener el siguiente resultado:
{ "name" : "ubuntu2004", "cluster_name" : "elasticsearch", "cluster_uuid" : "LhG8-a_eQHyyoRAlQQXBTQ", "version" : { "number" : "7.10.0", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "51e9d6f22758d0374a0f3f5c6e8f3a7997850f96", "build_date" : "2020-11-09T21:30:33.964949Z", "build_snapshot" : false, "lucene_version" : "8.7.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
Instalar y configurar Logstash
Logstash es un software de análisis de registros que se utiliza para recopilar registros y almacenarlos en Elasticsearch. Puede instalarlo fácilmente con el siguiente comando:
apt-get install logstash -y
Una vez que Logstash esté instalado, deberá configurar los complementos de entrada, filtro y salida. Puede configurarlo creando un nuevo archivo de configuración dentro del directorio /etc/logstash/conf.d/:
nano /etc/logstash/conf.d/logstash.conf
Agregue las siguientes líneas:
#Specify listening port for incoming logs from the beats input { beats { port => 5044 } } # Used to parse syslog messages and send it to Elasticsearch for storing filter { if [type] == "syslog" { grok { match => { "message" => "%{SYSLOGLINE}" } } date { match => [ "timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } } } # Specify an Elastisearch instance output { elasticsearch { hosts => ["localhost:9200"] index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" } }
Guarde y cierre el archivo, luego inicie Logstash y habilítelo para que se inicie al reiniciar el sistema.
systemctl start logstash systemctl enable logstash
Instalar y configurar Kibana
Kibana visualiza los datos almacenados en Elasticsearch a través de una interfaz basada en web. Puede instalarlo con el siguiente comando:
apt-get install kibana -y
De forma predeterminada, Kibana escucha en localhost. Por lo tanto, deberá configurarlo para el acceso externo. Puede configurarlo editando el archivo /etc/kibana/kibana.yml:
nano /etc/kibana/kibana.yml
Cambie las siguientes líneas:
server.host: "your-server-ip" elasticsearch.hosts: ["http://localhost:9200"]
Guarde y cierre el archivo, luego inicie el servicio Kibana y habilítelo para que se inicie al reiniciar el sistema:
systemctl start kibana systemctl enable kibana
Instalar y configurar Filebeat
Filebeat se utiliza para enviar registros a Logstash o Elasticsearch para su análisis. En esta sección, instalaremos Filebeat y lo configuraremos para enviar registros a Logstash.
Puede instalarlo con el siguiente comando:
apt-get install filebeat -y
Una vez instalado, edite el archivo de configuración principal de Filebeat y configúrelo para enviar registros a Logstash.
nano /etc/filebeat/filebeat.yml
Comente las siguientes líneas:
#output.elasticsearch: # Array of hosts to connect to. # hosts: ["localhost:9200"]
Descomente las siguientes líneas:
output.logstash: hosts: ["localhost:5044"]
Guarde y cierre el archivo, luego inicie el servicio Filebeat y habilítelo para que se inicie al reiniciar el sistema:
systemctl start filebeat systemctl enable filebeat
A continuación, habilite el módulo del sistema Filebeat, que examinará los registros del sistema local:
filebeat modules enable system
A continuación, cargue la plantilla de índice con el siguiente comando:
filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
Finalmente, verifique si Filebeat está enviando archivos de registro a Logstash para su procesamiento. Una vez procesados, los datos se envían a Elasticsearch.
curl -XGET http://localhost:9200/_cat/indices?v
Deberías obtener el siguiente resultado:
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size yellow open filebeat-7.10.0-2020.12.06-000001 hkQTgSbhSKqwYV-L6Dirtg 1 1 0 0 208b 208b green open .apm-custom-link GZekuSDGSh2h3cyaUh-Kuw 1 0 0 0 208b 208b green open .kibana_task_manager_1 wsc1qi8-S6W7xiU6Gb8IUA 1 0 5 23 125.3kb 125.3kb green open .apm-agent-configuration OQ0CeuK0R7mXtevKccGjlQ 1 0 0 0 208b 208b green open .kibana-event-log-7.10.0-000001 qt1r0hCbRb6-vYd5UsJVGA 1 0 2 0 11kb 11kb green open .kibana_1 s7LrkbyERnSezRhyJf-GLw 1 0 9 0 10.3mb 10.3mb
Acceder a la interfaz web de Kibana
De forma predeterminada, Kibana escucha en el puerto 5601 . Puede acceder usando la URL http://your-server-ip:5601
. Debería ver el panel de control de Kibana en la siguiente pantalla:
Ahora, haga clic en Explorar por mi cuenta . Debería ver la siguiente pantalla:
¡Felicidades! ha instalado correctamente ELK Stack en el servidor Ubuntu 20.04.
Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento VPS de Linux, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que lo configuren por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.
PD . Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.