Vamos a seguir con ELK, MetricBeat permite recopilar métricas de los sistemas y servicios (CPU, Memoria,…) existen módulos pre-creado Modules, para no estrujarnos el cerebro.
Instalación
Lo primero será agregar la fuente e instalar metricbeat. Metricbeat quick start: installation and configuration
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-8.5.2-amd64.deb
sudo dpkg -i metricbeat-8.5.2-amd64.deb
Configuracion Metricbeat.yml
Envio a ElasticSearch
Necesitaremos configurar la conexión con nuestro servidor de ElasticSearch, mediante usuario/password, token, como más nos guste.
Autenticación Usuario
Editaremos el fichero /etc/metricbeat/metricbeat.yml, dentro de ElasticSearch existe un usuario remote_monitoring_user con los permisos necesarios para el envío de métricas.
Según la configuración de nuestro cluster, necesitaremos Certificados o podremos usar Api Key,…
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["localhost:9200"]
# Protocol - either `http` (default) or `https`.
protocol: "https"
# Authentication credentials - either API key or username/password.
username: "remote_monitoring_user"
password: "Password"
ssl.certificate_authorities: ["/etc/elasticsearch/certs/http_ca.crt"]
Modulos
Como habilitar uno de los módulos que vienen con metricbeat, vamos a ver los dos básicos el de ElasticSearch y Kibana
elasticsearch-xpack
Para el servidor elasticsearch podemos habilitar el modulo elasticsearch-xpack.
Ejecutaremos el comando:
metricbeat modules enable elasticsearch-xpack
Dentro de la carpeta /modules.d/ podremos ver los módulos deshabilitados/Habilitados.

Editaremos también el fichero “/etc/metricbeat/modules.d/elasticsearch-xpack.yml” para configurar el módulo.
- module: elasticsearch
xpack.enabled: true
period: 10s
hosts: ["https://elastic_server:9200"]
username: "remote_monitoring_user"
password: "password"
ssl.enabled: true
ssl.certificate_authorities: ["/etc/elasticsearch/certs/http_ca.crt"]
Arrancamos metricbeat.
sudo systemctl start metricbeat
sudo systemctl enable metricbeat
Vamos a la WEB de kibana y pinchamos en Management -> Stack Monitoring

Deberemos poder ver las métricas de nuestro cluster.

Si tenemos un solo nodo, nos aparecerá el mensaje en “Healt” “Missing replica shards” al tener un solo nodo y no puede replicar.
Kibana-xpack
Para el servidor kibana habilitaremos el módulo kibana-xpack,
metricbeat modules enable kibana-xpack
Editaremos el fichero “/etc/metricbeat/metricbeat.yml” especificamos la configuración del agente MetricBeat y especificar donde recolectar la información.
Si tenemos los elasticsearch con SSL necesitaremos tener el certificado raíz en los servidores de Kibana.
output.elasticsearch:
hosts: ["elastic_server:9200"]
# Protocol - either `http` (default) or `https`.
protocol: "https"
# Authentication credentials - either API key or username/password.
username: "remote_monitoring_user"
password: "Password"
#CA del cluster ElasticSearch
ssl.certificate_authorities: ["/etc/metricbeat/http_ca.crt"]
Editaremos también el fichero “/etc/metricbeat/modules.d/kibana-xpack.yml” para configurar el módulo.
- module: kibana
xpack.enabled: true
period: 10s
hosts: [“localhost:5601”]
También necesitamos habilitar xpack.monitor en el cluster.
PUT _cluster/settings
{
"persistent": {
"xpack.monitoring.collection.enabled": true
}
}
Arrancamos metricbeat y reiniciamos kibana
sudo systemctl start metricbeat
sudo systemctl enable metricbeat
sudo systemctl restart kibana

Para ver los módulos existentes de metricbeat, podemos ejecutar “metricbeat modules list“
Load Dashboard kibana
MetricBeat viene con sus dashboard para kibana podremos importar para su utilización, para ello ejecutaremos el siguiente comando:
metricbeat setup --dashboards
Error Permisos insuficientes

Utilizar un usuario con más permisos para importar los dashboard.
metricbeat setup --dashboards -e \
-E output.elasticsearch.username=elastic \
-E output.elasticsearch.password=password

Verificar Metricbeat
Para verificar Metricbeat, ademas de ver los logs manualmente, podremos ejecutar:
metricbeat setup -e
