Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Мониторинг кластера

Сбор данных мониторинга Elasticsearch с помощью Metricbeat

В версиях 6.5 и выше вы можете использовать Metricbeat для сбора данных о Elasticsearch и отправки их в кластер мониторинга вместо маршрутизации через экспортеры, как описано в Методы сбора данных legacy.

Example monitoring architecture
  1. Включить сбор данных мониторинга.

    Установите xpack.monitoring.collection.enabled на true в производственном кластере. По умолчанию это отключено (false).

    Вы можете использовать следующие API для просмотра и изменения этого параметра:

    GET _cluster/settings
    PUT _cluster/settings
    {
      "persistent": {
        "xpack.monitoring.collection.enabled": true
      }
    }

    Если в Elasticsearch включены функции безопасности, вам необходимо иметь права monitor кластера для просмотра настроек кластера и права manage кластера для их изменения.

    Для получения дополнительной информации см. Настройки мониторинга и API настроек обновления кластера.

  2. Установить Metricbeat. В идеале установите один экземпляр Metricbeat, настроенный с scope: cluster и настройте hosts для указания конечной точки (например, прокси-сервера балансировки нагрузки), которая направляет запросы на узлы кластера, не участвующие в работе мастера. Если это невозможно, установите по одному экземпляру Metricbeat на каждый узел Elasticsearch в производственном кластере и используйте по умолчанию scope: node. Когда Metricbeat контролирует Elasticsearch с помощью scope: node, вы должны установить экземпляр Metricbeat для каждого узла Elasticsearch. В противном случае некоторые метрики не будут собраны. Metricbeat с scope: node собирает большинство метрик с выбранного мастера кластера, поэтому вы должны масштабировать все узлы, способные быть мастерами, чтобы учесть эту дополнительную нагрузку, и не следует использовать этот режим, если у вас есть выделенные узлы мастера.
  3. Включить модуль Elasticsearch в Metricbeat на каждом узле Elasticsearch.

    Например, чтобы включить настройки по умолчанию для функций мониторинга Elastic Stack в каталоге modules.d, выполните следующую команду:

    metricbeat modules enable elasticsearch-xpack

    Для получения дополнительной информации см. Модуль Elasticsearch.

  4. Настройте модуль 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 мог успешно собирать метрики:

    1. Создайте пользователя в производственном кластере с встроенной ролью remote_monitoring_collector. В качестве альтернативы, используйте встроенного пользователя remote_monitoring_user.
    2. Добавьте параметры username и password в конфигурационный файл модуля Elasticsearch.
    3. Если TLS включен на HTTP-слое вашего кластера Elasticsearch, вы должны либо использовать https в качестве схемы URL в параметре hosts, либо добавить параметр ssl.enabled: true. В зависимости от конфигурации TLS вашего кластера Elasticsearch, вам также может потребоваться указать дополнительные параметры ssl.*.
  5. Необязательно: отключить модуль системы в Metricbeat.

    По умолчанию включен модуль системы. Однако отображаемая информация не отображается на странице Мониторинг в Kibana. Если вам не нужно использовать эту информацию для других целей, выполните следующую команду:

    metricbeat modules disable system
  6. Определите место назначения отправки данных мониторинга.

    В производственных средах настоятельно рекомендуется использовать отдельный кластер (называемый мониторинговым кластером) для хранения данных. Использование отдельного мониторингового кластера предотвращает выход из строя производственного кластера, влияющего на возможность доступа к данным мониторинга. Это также предотвращает влияние действий мониторинга на производительность производственного кластера.

    Например, укажите информацию о выводе 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 мог успешно отправлять метрики:

    1. Создайте пользователя в мониторинговом кластере с встроенной ролью remote_monitoring_agent. В качестве альтернативы, используйте встроенного пользователя remote_monitoring_user.
    2. Добавьте параметры username и password в информацию о выводе Elasticsearch в конфигурационном файле Metricbeat.

    Для получения дополнительной информации об этих параметрах конфигурации см. Настройка вывода Elasticsearch.

  7. Запустите Metricbeat на каждом узле.
  8. Отключить сбор данных мониторинга Elasticsearch по умолчанию.

    Установите xpack.monitoring.elasticsearch.collection.enabled на значение false на производственном кластере.

    Вы можете использовать следующий API для изменения этого параметра:

    PUT _cluster/settings
    {
      "persistent": {
        "xpack.monitoring.elasticsearch.collection.enabled": false
      }
    }

    Если в Elasticsearch включены функции безопасности, вам необходимо иметь права monitor кластера для просмотра настроек кластера и права manage кластера для их изменения.

  9. Просмотреть данные мониторинга в 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API