Instalar y configurar componentes de Elastic Stack

Elastic Stack es un conjunto de herramientas innovadoras de código abierto para analizar varios conjuntos de datos. La pila contiene herramientas como Metricbeat y Filebeat que son útiles para recopilar registros del sistema y del servidor web. Luego, las herramientas envían los registros a Elasticsearch, donde se analizan, buscan y visualizan mediante una aplicación basada en navegador llamada Kibana.

Por otro lado, Nginx es un servidor web robusto que puede servir como balanceador de carga para (HTTPS, UDP y TCP), caché HTTP, servidor proxy de correo (POP3, IMAP y SMTP) o proxy inverso. Es un potente software de código abierto que proporciona una estabilidad y un rendimiento óptimos.

Este tutorial está diseñado para ayudarlo a instalar los distintos componentes del Elastic Stack.

¿Listo para ir? ¡Aquí vamos!

Instrucciones de preinstalación

  • Todos los comandos que requieren privilegios importantes tienen el prefijo sudo.
  • Familiarícese con la configuración de la zona horaria y el nombre de host de su Linode
  • Antes de comenzar las instalaciones, debe configurar la pila de su servidor web con Nginx en un servidor CentOS.
  • Cree una cuenta de usuario estándar segura, elimine los servicios de red innecesarios y asegure su acceso SSH.

Una vez que haya cumplido con todo lo anterior, estará listo para comenzar la instalación. Ejecute el siguiente comando para actualizar su sistema:

$ sudo yum update

Instalar OpenJDK 8

A continuación, instale la aplicación OpenJDK 8 en CentOS 7, ya que Elasticsearch requiere la última versión de Java. Ejecute el siguiente comando para configurar el paquete sin cabeza OpenJDK:

$ sudo yum install -y java-1.8.0-openjdk-headless

Compruebe que la versión que instaló es la última versión (al menos Java 1.8.0). Usa el comando:

$ java -version

Si la versión instalada es similar a esta:

openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

Entonces su Java es la mejor opción para Elasticsearch. Ahora puede continuar con el siguiente paso.

Instalar el repositorio de Elastic Yum

Elastic Yum Repository es una suite completa que contiene todos los paquetes que necesitamos para este tutorial.

Utilice el siguiente comando para importar la clave de firma elástica:

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

A continuación, desarrolle un repositorio de Yum para usar el repositorio de Elastic Yum:

elastic.repo

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

Ejecute el siguiente comando para actualizar la caché de yum y facilitar el acceso a todos los paquetes nuevos:

$ sudo yum update

Instale los componentes de la pila

Tenemos la intención de utilizar varios componentes de Elastic Stack para métricas de máquinas y análisis de registros. Por lo tanto, es importante que instale las siguientes piezas:

Elasticsearch.

Elasticsearch almacena las métricas y los registros recibidos de cada campo. Por esta razón, primero lo instalaremos y configuraremos para proporcionar el almacenamiento de datos para Kibana y Beats. Ejecute el siguiente comando para instalar el paquete Elasticsearch:

$ sudo yum install -y elasticsearch

A continuación, establezca el tamaño del montón de la máquina virtual Java en la mitad de la memoria disponible del servidor. Acceda al archivo /etc/elasticsearch/jvm.options y cambie los valores Xmx y Xms. No cambie los otros valores:

/etc/elasticsearch/jvm.options

-Xms512m
-Xmx512m

En este punto instalamos dos complementos muy importantes con los que Filebeat puede procesar y analizar ciertos documentos con precisión. El primer complemento es el agente de usuario de ingesta, con el que Elasticsearch puede analizar fácilmente las cadenas de agentes de usuario sin errores. Ejecute el siguiente comando:

$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-user-agent

El segundo complemento es el procesador Geoip.

Nota: Si el complemento Elasticsearch solicita permiso para editar la ruta / etc / elasticsearch, confirme y ejecute el siguiente comando:

$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-geoip

A continuación, inicie y habilite el servicio Elasticsearch:

$ sudo systemctl enable elasticsearch
$ sudo systemctl start elasticsearch

Es posible que el servicio tarde unos minutos en iniciarse. Dale tiempo. Luego, verifique la API de Elasticsearch disponible:

$ curl localhost:9200

Para verificar que el servicio se inició correctamente para ver los registros más recientes, ejecute el siguiente comando:

$ systemctl status elasticsearch

La API de Elasticsearch proporciona una respuesta JSON como la siguiente:

{
  "name" : "Q1R2Oz7",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "amcxppmvTkmuApEdTz673A",
  "version" : {
    "number" : "6.0.0",
    "build_hash" : "8f0685b",
    "build_date" : "2017-11-10T18:41:22.859Z",
    "build_snapshot" : false,
    "lucene_version" : "7.0.1",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

Una vez que la aplicación Elasticsearch se haya instalado correctamente, ahora puede instalar los otros componentes.

Filebeat

Ejecute el siguiente comando para instalar Filebeat:

$ sudo yum install filebeat

Metricbeat

Utilice este comando para instalar el paquete Metricbeat:

$ sudo yum install metricbeat

Kibana

A continuación, instale Kibana Packae usando:

sudo yum install kibana

Configurar el lote

Ahora ha instalado todos los componentes necesarios, pero no están configurados correctamente. A continuación configuramos estos componentes

ElasticSearch

Para este tutorial, necesitamos cambiar la configuración predeterminada de Elasticsearch porque usamos un solo servidor en la configuración.

Primero, cree un archivo JSON improvisado con una plantilla de índice que le indique a Elasticsearch que cambie el número de fragmentos a 1 en lugar del número predeterminado (5). Luego, el número de réplicas debe establecerse en 0 para todos los nombres de índice coincidentes:

template.json

"template": "*",
"settings":
"index":
"number_of_shards": 1,
"number_of_replicas": 0

A continuación, use curl para generar e indexar plantillas con la configuración utilizada para los índices que creó:

$ curl -H'Content-Type: application/json' -XPUT http://localhost:9200/_template/defaults -d @template.json

Elastcisearch da el siguiente resultado:

{"acknowledged":true}

Kibana

Utilice el siguiente comando para iniciar y activar el servicio Kibana:

$ sudo systemctl enable kibana
$ sudo systemctl start kibana

Abrimos la aplicación web a través del túnel SSH. Ejecute el siguiente comando en una ventana de terminal separada para acceder a Kibana desde su navegador local:

$ ssh -L 5601:localhost:5601 username@<Linode public IP> -N

El nombre de usuario se puede reemplazar con su nombre de usuario ideal de Linux mientras que el puede ser reemplazado por la dirección IP pública del Linode.

Filebeat

Aquí estamos usando el módulo NGINX para manejar la configuración más importada y para dar las instrucciones relevantes que la pila necesita para procesar los registros.

Con su editor de texto, cree un archivo /etc/filebeat/filebeat.yml y agregue los siguientes detalles:

/etc/filebeat/filebeat.yml

filebeat.config.modules:
    path: ${path.config}/modules.d/*.yml

setup.kibana:
    host: "localhost:5601"

output.elasticsearch:
    hosts: ["localhost:9200"]

setup.dashboards.enabled: true

Elimine .disabled del archivo para habilitar sus módulos Filebeat, luego habilite el módulo NGINX usando:

$ sudo mv /etc/filebeat/modules.d/nginx.yml.disabled /etc/filebeat/modules.d/nginx.yml

Ejecute el siguiente comando para habilitar e iniciar Filebeat:

$ sudo systemctl enable filebeat
$ sudo systemctl start filebeat

Para configurar este servicio, primero cree /etc/metricbeat/metricbeat.yml e integre el siguiente contenido:

/etc/metricbeat/metricbeat.yml

metricbeat.config.modules:
  path: ${path.config}/modules.d/*.yml

setup.kibana:
  host: "localhost:5601"

output.elasticsearch:
  hosts: ["localhost:9200"]

setup.dashboards.enabled: true

A continuación, cambie el nombre de los archivos de configuración de los módulos Nginx, Kibana y Elasticsearch:

$ sudo mv /etc/metricbeat/modules.d/elasticsearch.yml.disabled /etc/metricbeat/modules.d/elasticsearch.yml
$ sudo mv /etc/metricbeat/modules.d/kibana.yml.disabled /etc/metricbeat/modules.d/kibana.yml
$ sudo mv /etc/metricbeat/modules.d/nginx.yml.disabled /etc/metricbeat/modules.d/nginx.yml

Luego inicie su servicio Metricbeat y habilítelo.

¡Eso es! Ha instalado con éxito todos los componentes que necesita para monitorear el servidor Nginx con facilidad. Parte 2: Cómo monitorear Nginx usando Elastic Stack en CentOS 7 lo ayudará con eso. Utilice estas partes para monitorear fácilmente su servidor web.

Nota especial: algunos servidores web líderes ofrecen instalaciones gratuitas con 1 clic de otras herramientas para supervisar el rendimiento del servidor. En Hosting Más Barato puede encontrar información completa sobre los planes de hosting y su contenido, así como opiniones de usuarios y expertos sobre los mejores servicios de hosting web.

Consulte los 3 principales servicios de hosting de servidores dedicados: