Сбор данных мониторинга Elasticsearch с помощью Metricbeat
В версиях 6.5 и выше вы можете использовать Metricbeat для сбора данных о Elasticsearch и отправки их в кластер мониторинга вместо маршрутизации через экспортеры, как описано в Методы сбора данных legacy.
-
Включить сбор данных мониторинга.
Установите
xpack.monitoring.collection.enabledнаtrueв производственном кластере. По умолчанию это отключено (false).Вы можете использовать следующие API для просмотра и изменения этого параметра:
GET _cluster/settings
PUT _cluster/settings { "persistent": { "xpack.monitoring.collection.enabled": true } }Если в Elasticsearch включены функции безопасности, вам необходимо иметь права
monitorкластера для просмотра настроек кластера и праваmanageкластера для их изменения.Для получения дополнительной информации см. Настройки мониторинга и API настроек обновления кластера.
- Установить Metricbeat. В идеале установите один экземпляр Metricbeat, настроенный с
scope: clusterи настройтеhostsдля указания конечной точки (например, прокси-сервера балансировки нагрузки), которая направляет запросы на узлы кластера, не участвующие в работе мастера. Если это невозможно, установите по одному экземпляру Metricbeat на каждый узел Elasticsearch в производственном кластере и используйте по умолчаниюscope: node. Когда Metricbeat контролирует Elasticsearch с помощьюscope: node, вы должны установить экземпляр Metricbeat для каждого узла Elasticsearch. В противном случае некоторые метрики не будут собраны. Metricbeat сscope: nodeсобирает большинство метрик с выбранного мастера кластера, поэтому вы должны масштабировать все узлы, способные быть мастерами, чтобы учесть эту дополнительную нагрузку, и не следует использовать этот режим, если у вас есть выделенные узлы мастера. -
Включить модуль Elasticsearch в Metricbeat на каждом узле Elasticsearch.
Например, чтобы включить настройки по умолчанию для функций мониторинга Elastic Stack в каталоге
modules.d, выполните следующую команду:metricbeat modules enable elasticsearch-xpack
Для получения дополнительной информации см. Модуль Elasticsearch.
-
Настройте модуль Elasticsearch в Metricbeat на каждом узле Elasticsearch.
Файл
modules.d/elasticsearch-xpack.ymlсодержит следующие настройки:- module: elasticsearch xpack.enabled: true period: 10s hosts: ["http://localhost:9200"] #scope: node #username: "user" #password: "secret" #ssl.enabled: true #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] #ssl.certificate: "/etc/pki/client/cert.pem" #ssl.key: "/etc/pki/client/cert.key" #ssl.verification_mode: "full"По умолчанию модуль собирает метрики мониторинга Elasticsearch с узла
http://localhost:9200. Если этот хост и номер порта неверны, вы должны обновить параметрhosts. Если вы настроите Elasticsearch для использования зашифрованной связи, вы должны получить доступ к нему через HTTPS. Например, используйте параметрhosts, такой какhttps://localhost:9200.По умолчанию
scopeимеет значениеnode, и каждый элемент в спискеhostsуказывает отдельный узел в кластере Elasticsearch. Если вы установитеscopeв значениеcluster, каждый элемент в спискеhostsукажет отдельную конечную точку для отдельного кластера Elasticsearch (например, прокси-сервер балансировки нагрузки перед кластером). Вы должны использоватьscope: cluster, если у кластера есть выделенные узлы мастера, и настроить конечную точку в спискеhostsтаким образом, чтобы запросы не направлялись на выделенные узлы мастера.Если в Elasticsearch включены функции безопасности, необходимо также указать идентификатор пользователя и пароль, чтобы Metricbeat мог успешно собирать метрики:
- Создайте пользователя в производственном кластере с встроенной ролью
remote_monitoring_collector. В качестве альтернативы, используйте встроенного пользователяremote_monitoring_user. - Добавьте параметры
usernameиpasswordв конфигурационный файл модуля Elasticsearch. - Если TLS включен на HTTP-слое вашего кластера Elasticsearch, вы должны либо использовать https в качестве схемы URL в параметре
hosts, либо добавить параметрssl.enabled: true. В зависимости от конфигурации TLS вашего кластера Elasticsearch, вам также может потребоваться указать дополнительные параметры ssl.*.
- Создайте пользователя в производственном кластере с встроенной ролью
-
Необязательно: отключить модуль системы в Metricbeat.
По умолчанию включен модуль системы. Однако отображаемая информация не отображается на странице Мониторинг в Kibana. Если вам не нужно использовать эту информацию для других целей, выполните следующую команду:
metricbeat modules disable system
-
Определите место назначения отправки данных мониторинга.
В производственных средах настоятельно рекомендуется использовать отдельный кластер (называемый мониторинговым кластером) для хранения данных. Использование отдельного мониторингового кластера предотвращает выход из строя производственного кластера, влияющего на возможность доступа к данным мониторинга. Это также предотвращает влияние действий мониторинга на производительность производственного кластера.
Например, укажите информацию о выводе Elasticsearch в конфигурационном файле Metricbeat (
metricbeat.yml):output.elasticsearch: # Array of hosts to connect to. hosts: ["http://es-mon-1:9200", "http://es-mon-2:9200"] # Optional protocol and basic auth credentials. #protocol: "https" #username: "elastic" #password: "changeme"
В этом примере данные хранятся в мониторинговом кластере с узлами
es-mon-1иes-mon-2.Если мониторинговый кластер настроен для использования зашифрованной связи, вы должны получить доступ к нему через HTTPS. Например, используйте параметр
hosts, такой какhttps://es-mon-1:9200.Функции мониторинга Elasticsearch используют конвейеры приема, поэтому в кластере, хранящем данные мониторинга, должен быть как минимум один узел приема.
Если в мониторинговом кластере включены функции безопасности Elasticsearch, необходимо указать действительный идентификатор пользователя и пароль, чтобы Metricbeat мог успешно отправлять метрики:
- Создайте пользователя в мониторинговом кластере с встроенной ролью
remote_monitoring_agent. В качестве альтернативы, используйте встроенного пользователяremote_monitoring_user. - Добавьте параметры
usernameиpasswordв информацию о выводе Elasticsearch в конфигурационном файле Metricbeat.
Для получения дополнительной информации об этих параметрах конфигурации см. Настройка вывода Elasticsearch.
- Создайте пользователя в мониторинговом кластере с встроенной ролью
- Запустите Metricbeat на каждом узле.
-
Отключить сбор данных мониторинга Elasticsearch по умолчанию.
Установите
xpack.monitoring.elasticsearch.collection.enabledна значениеfalseна производственном кластере.Вы можете использовать следующий API для изменения этого параметра:
PUT _cluster/settings { "persistent": { "xpack.monitoring.elasticsearch.collection.enabled": false } }Если в Elasticsearch включены функции безопасности, вам необходимо иметь права
monitorкластера для просмотра настроек кластера и праваmanageкластера для их изменения. - Просмотреть данные мониторинга в Kibana.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/configuring-metricbeat.html