En este tutorial, le mostraremos cómo instalar ELK Stack en CentOS 7. Para aquellos de ustedes que no lo sabían, ELK stack es una popular plataforma de administración de registros de código abierto. Se utiliza como administración centralizada para almacenar, analizar y ver registros. La administración centralizada facilita el estudio de los registros y la identificación de problemas, si los hubiera, para cualquier cantidad de servidores.
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo
' a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso de ELK Stack (Elasticsearch, Logstash y Kibana) en el servidor CentOS 7.
Requisitos previos
- Un servidor que ejecuta uno de los siguientes sistemas operativos:CentOS 7.
- Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
- Acceso SSH al servidor (o simplemente abra Terminal si está en una computadora de escritorio).
- Un
non-root sudo user
o acceder alroot user
. Recomendamos actuar como unnon-root sudo user
, sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.
Instalar pila ELK en CentOS 7
Paso 1. Primero, comencemos asegurándonos de que su sistema esté actualizado.
yum clean all yum -y update
Paso 2. Instalación de Java.
Necesita un Java Runtime Environment (JRE) porque Elasticsearch está escrito en lenguaje de programación Java, puede instalar el paquete OpenJDK que incluye JRE:
yum install java-1.8.0-openjdk.x86_64
Verifique la versión de Java:
[[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)
Paso 3. Instalación de Elasticsearch.
Elasticsearch se puede instalar con un administrador de paquetes agregando el repositorio de paquetes de Elastic:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.0.rpm
Luego instale el paquete RPM que acaba de descargar:
rpm -ivh elasticsearch-5.0.0.rpm
Iniciar y habilitar el servicio:
systemctl enable elasticsearch systemctl start elasticsearch
Ahora ejecute el siguiente comando desde la terminal para comprobar si Elasticsearch funciona correctamente:
curl -X GET http://localhost:9200
Debería obtener el siguiente resultado:
{ "name" : "idroot.us", "cluster_name" : "elasticsearch", "cluster_uuid" : "k27ZZFJPTaOtwg6_pyzEiw", "version" : { "number" : "5.5.0", "build_hash" : "2cfe0df", "build_date" : "2017-05-29T16:05:51.443Z", "build_snapshot" : false, "lucene_version" : "6.5.1" }, "tagline" : "You Know, for Search" }
Paso 4. Instalación de Kibana.
Instalar Kibana es muy simple, puedes instalarlo fácilmente usando un paquete RPM:
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.5.0-x86_64.rpm
Ahora simplemente ejecute el siguiente comando para que pueda iniciar el servicio Kibana:
systemctl daemon-reload systemctl start kibana
Kibana ahora está instalado y funcionando en nuestro sistema. Para consultar la página web, abra el navegador web y vaya a la URL que se menciona a continuación (utilice la dirección IP de su host ELK):
http://localhost:5601
Paso 5. Configure la pila ELK.
Primero, necesitamos crear un certificado SSL. Este certificado se usará para asegurar la comunicación entre los clientes logstash y filebeat. Antes de crear un certificado SSL, haremos un entrada de la dirección IP de nuestro servidor en openssl.cnf
:
nano /etc/ssl/openssl.cnf
Busque una sección con 'subjectAltName' y agréguele la IP de su servidor:
subjectAltName = IP:10.20.30.100
Ahora cambie el directorio a /etc/ssl
y crea un certificado SSL:
cd /etc/ssl openssl req -x509 -days 365 -batch -nodes -newkey rsa:2048 -keyout logstash-forwarder.key -out logstash_frwrd.crt
Paso 6. Configure Logstash.
Ahora crearemos un archivo de configuración para logstash en la carpeta '/etc/logstash/conf.d
':
[[email protected] ~]# nano /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" } }
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. Ahora inicie el servicio logstash y actívelo en el momento del arranque:
systemctl start logstash systemctl enable logstash
Paso 7. Instalación de Filebeat en clientes.
Ahora, para poder comunicarse con la pila ELK, se debe instalar Filebeat en todas las máquinas cliente:
$ nano /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 usando el siguiente comando:
yum install filebeat
Después de que se haya instalado Filebeat, copie el certificado SSL del servidor de pila ELK a '/etc/ssl
'. A continuación, realizaremos cambios en el archivo de configuración de Filebeat para conectar el cliente al servidor ELK:
nano /etc/filebeat/filebeat.yml
Realice los siguientes cambios en el archivo:
. . . paths: – /var/log/*.log . . . . . . document_type: syslog . . . . . . output: logstash: hosts: [“10.20.30.100:5044”] tls: certificate_authorities: [“/etc/ssl/logstash_frwrd.crt”] . . .
Ahora inicie el servicio y habilítelo en el momento del arranque:
systemctl restart filebeat systemctl enable filebeat
Las configuraciones tanto en el extremo del servidor como en el extremo del cliente ahora están completas. Ahora podemos iniciar sesión en la interfaz web de Kibana para buscar registros analizados.
http://your-ip-address:5601/
¡Felicitaciones! Ha instalado correctamente ELK Stack en CentOS 7. Gracias por usar este tutorial para instalar ELK Stack (Elasticsearch, Logstash y Kibana) en sistemas CentOS 7. Para obtener ayuda adicional o información útil , le recomendamos que consulte el sitio web oficial de ELK Stack.