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

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

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

Хотите использовать Elastic Agent? Обратитесь к Сбор данных мониторинга с помощью Elastic Agent.

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

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

    metricbeat modules enable elasticsearch-xpack

    Дополнительную информацию см. в разделе Модуль Elasticsearch.

  3. Настройте модуль 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 таким образом, чтобы запросы не направлялись на выделенные узлы-мастера.

    Если функции безопасности Elastic включены, необходимо также указать идентификатор пользователя и пароль, чтобы 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.*.
  4. Необязательно: Отключите модуль системы в Metricbeat.

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

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

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

    Например, укажите информацию о выходе 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 используют конвейеры обработки, поэтому кластер, хранящий данные мониторинга, должен иметь по крайней мере один узел обработки данных ingest.

    Если в кластере мониторинга включены функции безопасности Elasticsearch, необходимо предоставить действительный идентификатор пользователя и пароль, чтобы Metricbeat мог успешно отправлять метрики:

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

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

  6. Запустите Metricbeat на каждом узле.
  7. Просмотр данных мониторинга в 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/8.17/configuring-metricbeat.html

Spec-Zone.ru

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