Настройка мониторинга Elasticsearch

В предыдущих публикация я рассказывал о том, как выполняется установка Elasticsearch и Kibana. После установки этих компонентов Elastic Stack нужно выполнить настройку мониторинга узлов Elasticsearch, чтобы вы могли посмотреть их статус через веб интерфейс Kibana. В этой публикации я покажу, как выполняется настройка мониторинга Elasticsearch через Metricbeat.

Схема инфраструктуры

Схема моей тестовой инфраструктуры приведена на рисунке ниже.

Предварительная подготовка

Непосредственно перед началом настройки мониторинга необходимо выполнить ряд предварительных действий:

1. Перейдите в интерфейс управления пользователями в Kibana:

https://192.168.56.36:5601/app/management/security/users

2. Создайте отдельного пользователя и назначьте ему системную роли “remote_monitoring_collector” и “remote_monitoring_agent”.

3. Теперь необходимо определить отпечаток сертификата корневого центра, который был использован для настройки сертификата на узлах Elasticsearch. Подключитесь к узлу Elasticsearch и выполните следующую команду (только, при необходимости, скорректируйте путь до сертификата):

openssl x509 -fingerprint -sha256 -in /etc/elasticsearch/certs/http_ca.crt
root@tst01:/home/roman# openssl x509 -fingerprint -sha256 -in /etc/elasticsearch/certs/http_ca.crt 
sha256 Fingerprint=50:0A:96:4B:E7:12:90:B8:4B:FD:E0:12:44:E2:D4:69:DC:3F:C5:71:F9:AA:6D:E0:EC:B9:C6:64:EE:3F:33:C4

Сохраните значение отпечатка сертификата – оно понадобится нам при настройке Metricbeat.

Настройка мониторинга Elasticsearch

Теперь перейдем непосредственно к настройке мониторинга:

1. Установите Metricbeat на все узлы Elasticsearch.

2. На каждом узле Elasticsearch включите модуль для сбора данных:

sudo metricbeat modules enable elasticsearch-xpack
root@tst01:/home/roman# sudo metricbeat modules enable elasticsearch-xpack
Enabled elasticsearch-xpack
root@tst01:/home/roman#

3. Откройте конфигурационный файл модуля elasticsearch-xpack:

sudo nano /etc/metricbeat/modules.d/elasticsearch-xpack.yml

4. Скорректируйте параметры подключения к узлу Elasticsearch:

- module: elasticsearch
  xpack.enabled: true
  period: 10s
  hosts: ["https://localhost:9200"]
  ssl:
    enabled: true
    ca_trusted_fingerprint: "500A964BE71290B84BFDE01244E2D469DC3FC571F9AA6DE0ECB9C664EE3F33C4"

  # Authentication credentials - either API key or username/password.
  #api_key: "id:api_key"
  username: "mbeat"
  password: "Qwerty123"

5. Откройте конфигурационный файл Metricbeat:

sudo nano /etc/metricbeat/metricbeat.yml

6. Скорректируйте параметры подключения к узлу Elasticsearch и параметры автоматического применения параметров конфигурации:

# =========================== Modules configuration ============================

metricbeat.config.modules:
  # Glob pattern for configuration loading
  path: ${path.config}/modules.d/*.yml

  # Set to true to enable config reloading
  reload.enabled: true

  # Period on which files under path should be checked for changes
  reload.period: 30s
# ================================== Outputs ===================================

# Configure what output to use when sending the data collected by the beat.

# ---------------------------- Elasticsearch Output ----------------------------
output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["localhost:9200"]

  # Performance preset - one of "balanced", "throughput", "scale",
  # "latency", or "custom".
  preset: balanced

  # Protocol - either `http` (default) or `https`.
  protocol: "https"
  ssl:
    enabled: true
    ca_trusted_fingerprint: "500A964BE71290B84BFDE01244E2D469DC3FC571F9AA6DE0ECB9C664EE3F33C4"

  # Authentication credentials - either API key or username/password.
  #api_key: "id:api_key"
  username: "mbeat"
  password: "Qwerty123"

Пара моментов, на которые стоит обратить внимание. Конфигурация выше настроена таким образом, что узел Elasticsearch отправляет метрики на самого себя. Также настроено подключение к Elasticsearch через HTTPS.

7. Перезапустите сервис Metricbeat:

sudo systemctl restart metricbeat.service

8. Перейдите в веб интерфейсе Kiabna в раздел “Stack Monitoring”.

https://192.168.56.36:5601/app/monitoring

9. Нажмите кнопку “Set up monitoring with Metricbeact”.

Этот шаг может не отображаться, если данные метрик от узлов Elasticsearch уже начали поступать.

10. Появится дашборд с перечнем узлов вашего кластера Elasticsearch. Пока все хосты неактивны. Ожидается поступление данных от узлов Elasticsearch.

11. Дождитесь поступления данные от узлов Elasticsearch. После чего представление дашборда немного изменится.

12. Вы также сможете посмотреть сводную статистику по каждому из отдельных узлов Elasticsearch.

Настройка мониторинга Elasticsearch завершена.

Если что-то не работает

В таком случае нужно анализировать события сервиса metricbeat на узлах кластера Elasticsearch:

sudo journalctl -ru metricbeat.service

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *