GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instalación de la pila ELK en Ubuntu 14.04

¿Qué es la pila ELK?

ELK es un acrónimo que significa Elasticsearch Logstash Kibana. Cada término de la abreviatura ELK representa un software de código abierto individual y todos estos softwares se utilizan colectivamente para el análisis de registros. El análisis de registros es la ciencia de dar sentido a los registros generados por computadora. Los registros son emitidos por dispositivos de red, sistemas operativos, aplicaciones y todo tipo de dispositivo inteligente o programable. Un flujo de mensajes en secuencia de tiempo a menudo comprende un registro. Los registros se pueden dirigir a archivos y almacenar en disco, o se pueden dirigir como un flujo de red a un recopilador de registros.

Conozcamos brevemente las tareas que realiza cada uno de los softwares en la pila ELK.

Búsqueda elástica: Almacena registros y también actúa como motor de búsqueda.

Archivo de registro: Identifica los registros en la red y los envía a la búsqueda elástica.

Kibana: Es un software de visualización de datos que muestra datos de la base de datos de elasticsearch de forma interactiva.

Procedimiento de instalación

Ahora que tiene una idea básica sobre la pila ELK, instalemos cada módulo o software en sucesión. Pero antes de eso necesitamos instalar JAVA en el servidor.

instalación de JAVA

Descargue el paquete JAVA más reciente o use el siguiente comando para agregar el paquete JAVA 8 al repositorio

sudo add-apt-repository -y ppa:webupd8team/java

Luego actualice el repositorio usando el comando

sudo apt-get update

Use los siguientes comandos en sucesión para instalar JAVA con éxito

echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections
echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections
sudo apt-get -y install oracle-java8-installer

Para verificar si el paquete se ha instalado correctamente, escriba lo siguiente en la terminal

java -version

Si el paquete se instaló correctamente, recibirá un mensaje como este

java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

Instalando Elasticsearch

Use los siguientes comandos uno por uno para descargar e instalar Elasticsearch en su servidor

wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list
sudo apt-get update && sudo apt-get install elasticsearch

Ahora ejecute el siguiente comando para iniciar elasticsearch en el arranque

sudo update-rc.d elasticsearch defaults 95 10

El comando dará el siguiente resultado

Adding system startup for /etc/init.d/elasticsearch ...
   /etc/rc0.d/K10elasticsearch -> ../init.d/elasticsearch
   /etc/rc1.d/K10elasticsearch -> ../init.d/elasticsearch
   /etc/rc6.d/K10elasticsearch -> ../init.d/elasticsearch
   /etc/rc2.d/S95elasticsearch -> ../init.d/elasticsearch
   /etc/rc3.d/S95elasticsearch -> ../init.d/elasticsearch
   /etc/rc4.d/S95elasticsearch -> ../init.d/elasticsearch
   /etc/rc5.d/S95elasticsearch -> ../init.d/elasticsearch

Ahora es el momento de ponerlo en marcha y ver si funciona bien.

sudo /etc/init.d/elasticsearch start
curl 'http://localhost:9200'

Si se instaló y ejecutó correctamente, debería recibir un resultado de texto similar al siguiente

root@ELKTest:~# curl 'http://localhost:9200'
{
  "name" : "Termagaira",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "72XGxcHjSjaaXDdtmIio0g",
  "version" : {
    "number" : "2.4.3",
    "build_hash" : "d38a34e7b75af4e17ead16f156feffa432b22be3",
    "build_timestamp" : "2016-12-07T16:28:56Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.2"
  },
  "tagline" : "You Know, for Search"
}

Ahora necesita editar el archivo de configuración para restringir el acceso externo a sus registros de elasticsearch.

sudo vi /etc/elasticsearch/elasticsearch.yml

Ahora busque la línea network.host, elimínela eliminando # antes de la línea y reemplace el contenido de esa línea por localhost o 127.0.0.1 . Para este ejemplo usaremos localhost

network.host:  localhost

Reiniciar búsqueda elástica

sudo service elasticsearch restart

Instalando Logstash

La instalación de logstash es muy similar a la instalación de Elasticsearch, al igual que Kibana. Use los siguientes comandos para importar e instalar el paquete logstash.

echo "deb https://packages.elastic.co/logstash/2.3/debian stable main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update && sudo apt-get install logstash

Ahora ejecute el siguiente comando para iniciar logstash al inicio.

sudo update-rc.d logstash defaults 95 10
Result:

Adding system startup for /etc/init.d/logstash ...
   /etc/rc0.d/K10logstash -> ../init.d/logstash
   /etc/rc1.d/K10logstash -> ../init.d/logstash
   /etc/rc6.d/K10logstash -> ../init.d/logstash
   /etc/rc2.d/S95logstash -> ../init.d/logstash
   /etc/rc3.d/S95logstash -> ../init.d/logstash
   /etc/rc4.d/S95logstash -> ../init.d/logstash
   /etc/rc5.d/S95logstash -> ../init.d/logstash

Finalmente inicie logstash

sudo /etc/init.d/logstash start

Instalando Kibana

Use los siguientes comandos en sucesión para importar e instalar kibana

echo "deb http://packages.elastic.co/kibana/4.5/debian stable main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update && sudo apt-get install kibana

Ahora configure Kibana para que se inicie en el arranque usando

sudo update-rc.d kibana defaults 95 10
Result:

Adding system startup for /etc/init.d/kibana ...
   /etc/rc0.d/K10kibana -> ../init.d/kibana
   /etc/rc1.d/K10kibana -> ../init.d/kibana
   /etc/rc6.d/K10kibana -> ../init.d/kibana
   /etc/rc2.d/S95kibana -> ../init.d/kibana
   /etc/rc3.d/S95kibana -> ../init.d/kibana
   /etc/rc4.d/S95kibana -> ../init.d/kibana
   /etc/rc5.d/S95kibana -> ../init.d/kibana

Configure el archivo kibana para que solo usted tenga acceso a la interfaz.

sudo vi /opt/kibana/config/kibana.yml

En el archivo de configuración de Kibana, busque la línea server.host y reemplace "0.0.0.0" con "localhost":luego guarde y salga del archivo de configuración.

server.host: "localhost"

Ahora reinicie el servicio

sudo service kibana restart

Instalando NGINX

Antes de que podamos usar la interfaz web de Kibana, debe instalar un proxy inverso. Así que instala NGINX usando el siguiente comando.

sudo apt-get install nginx apache2-utils

Al ejecutar el siguiente comando, debe configurar el nombre de usuario y la contraseña para la interfaz web de Kibana

sudo htpasswd -c /etc/nginx/htpasswd.users kibadmin

Puede usar cualquier nombre de su elección en lugar de kibadmin. Aparecerá un mensaje pidiéndole que ingrese la nueva contraseña. Ingrese la contraseña de su cuenta kibana y complete el proceso.

Ahora realice cambios en el bloque del servidor predeterminado de Nginx usando lo siguiente

sudo vim /etc/nginx/sites-available/default

Elimine el contenido del archivo y pegue el siguiente código en el archivo, luego guarde y salga.

server {
        listen 80;

        server_name yourdomain;

        auth_basic "Restricted Access";
        auth_basic_user_file /etc/nginx/htpasswd.users;

        location / {
            proxy_pass http://localhost: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;
        }
    }

Asegúrese de reemplazar su dominio con su nombre de dominio correspondiente. Luego reinicie el servidor web ejecutando el siguiente comando.

sudo service nginx restart

La pila ELK ahora se instaló con éxito en el servidor

Generación de certificado SSL

Genere un certificado SSL siguiendo los pasos proporcionados en el enlace haciendo clic aquí.

Cuando tenga una clave y un certificado, colóquelos en /etc/nginx/cert.key y /etc/nginx/cert.pem y luego cree un archivo /etc/nginx/sites-disponible/nsm con el siguiente contenido:

server {
	listen 80 default_server;
	return 301 https://$host$request_uri;
}

server {
        listen 443 ssl;
        server_name hostname; <-- edit this to match your hostname
 
        root html;
        index index.html index.htm;
 
        ssl on;
        ssl_certificate cert.pem;
        ssl_certificate_key cert.key;
	ssl_session_timeout 1d;
	ssl_session_cache shared:SSL:50m;
 
	ssl_protocols TLSv1.2;
	ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
	ssl_prefer_server_ciphers on;

	location / {
		proxy_pass http://127.0.0.1:5601;
		include proxy_params;
	}
}

Elimine el archivo de configuración predeterminado de Nginx y habilite el nuevo usando el siguiente comando, luego reinicie el servidor web.

$ sudo rm /etc/nginx/sites-enabled/default && sudo ln -s /etc/nginx/sites-available/nsm /etc/nginx/sites-enabled/nsm
$ sudo /etc/init.d/nginx restart

Si todo se ejecuta correctamente, entonces la infraestructura de búsqueda central está en su lugar y debería estar accesible en https:///


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

  2. Instalación de la pila LEMP en Ubuntu 14.04

  3. Instalación de la pila LAMP en Ubuntu 14.04

  4. ¿Instalar el controlador Fglrx de Ubuntu?

  5. Cómo instalar ELK Stack en Ubuntu 16.04

Cómo instalar ELK Stack en CentOS 8

Cómo instalar Elasticsearch en Ubuntu 18.04 LTS

Cómo instalar ELK Stack en Ubuntu 20.04 LTS

Cómo instalar Elasticsearch en Ubuntu 20.04 LTS

Cómo instalar la pila ELK en Debian 8

Cómo instalar ELK Stack en Ubuntu 20.04