ELK – Parte 3 – MetricBeat en Ubuntu

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.

[toc]

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

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *