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
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.