Мониторинг в производственной среде
В производственной среде данные мониторинга следует отправлять в отдельный мониторинговый кластер, чтобы исторические данные были доступны даже когда узлы, которые вы мониторите, недоступны.
Elastic Agent и Metricbeat — рекомендуемые методы сбора и отправки данных мониторинга в мониторинговый кластер.
Если вы ранее настраивали методы сбора устаревшего типа, следует перейти на использование Elastic Agent или Metricbeat. Не используйте методы устаревшего сбора вместе с другими методами сбора.
Если у вас есть хотя бы подписка Gold, использование выделенного мониторингового кластера также позволяет мониторить несколько кластеров из централизованного места.
Чтобы хранить данные мониторинга в отдельном кластере:
-
Настройте кластер Elasticsearch, который вы хотите использовать в качестве мониторингового кластера. Например, вы можете настроить кластер из двух узлов с узлами
es-mon-1иes-mon-2.- В идеале мониторинговый и производственный кластеры работают на одном и том же релизе Elastic Stack. Однако мониторинговый кластер последней версии 8.x также работает с производственными кластерами, использующими ту же основную версию. Мониторинговые кластеры, использующие 8.x, также работают с производственными кластерами, использующими последнюю версию 7.x.
- В мониторинговом кластере должен быть хотя бы один узел ingest; он не обязательно должен быть выделенным узлом ingest.
-
(Необязательно) Убедитесь, что сбор данных мониторинга отключён в мониторинговом кластере. По умолчанию значение параметра
xpack.monitoring.collection.enabledравноfalse.Например, вы можете использовать следующие API для проверки и изменения этого параметра:
resp = client.cluster.get_settings() print(resp) resp1 = client.cluster.put_settings( persistent={ "xpack.monitoring.collection.enabled": False }, ) print(resp1)response = client.cluster.get_settings puts response response = client.cluster.put_settings( body: { persistent: { 'xpack.monitoring.collection.enabled' => false } } ) puts responseconst response = await client.cluster.getSettings(); console.log(response); const response1 = await client.cluster.putSettings({ persistent: { "xpack.monitoring.collection.enabled": false, }, }); console.log(response1);GET _cluster/settings PUT _cluster/settings { "persistent": { "xpack.monitoring.collection.enabled": false } } -
Если в мониторинговом кластере включены функции безопасности Elasticsearch, создайте пользователей, которые могут отправлять и получать данные мониторинга:
Если вы планируете использовать Kibana для просмотра данных мониторинга, учетные данные пользователя и пароля должны быть действительными как на сервере Kibana, так и на мониторинговом кластере.
- Если вы планируете использовать Elastic Agent, создайте пользователя, у которого есть роль
remote_monitoring_collectorвстроенная роль, и убедитесь, что соответствующие интеграционные модули установлены на удалённом мониторинговом кластере. - Если вы планируете использовать Metricbeat, создайте пользователя, у которого есть встроенная роль
remote_monitoring_collector, и пользователя, у которого есть встроенная рольremote_monitoring_agentвстроенная роль. В качестве альтернативы используйте встроенного пользователяremote_monitoring_userвстроенный пользователь. -
Если вы планируете использовать HTTP-экспортеры для маршрутизации данных через ваш производственный кластер, создайте пользователя, у которого есть встроенная роль
remote_monitoring_agentвстроенная роль.Например, следующий запрос создаёт пользователя
remote_monitor, у которого есть рольremote_monitoring_agent:resp = client.security.put_user( username="remote_monitor", password="changeme", roles=[ "remote_monitoring_agent" ], full_name="Internal Agent For Remote Monitoring", ) print(resp)const response = await client.security.putUser({ username: "remote_monitor", password: "changeme", roles: ["remote_monitoring_agent"], full_name: "Internal Agent For Remote Monitoring", }); console.log(response);POST /_security/user/remote_monitor { "password" : "changeme", "roles" : [ "remote_monitoring_agent"], "full_name" : "Internal Agent For Remote Monitoring" }В качестве альтернативы используйте встроенного пользователя
remote_monitoring_userвстроенный пользователь.
- Если вы планируете использовать Elastic Agent, создайте пользователя, у которого есть роль
-
Настройте свой производственный кластер для сбора данных и отправки их в мониторинговый кластер:
- (Необязательно) Настройка Logstash для сбора данных и отправки их в мониторинговый кластер.
- (Необязательно) Настройка мониторинга Enterprise Search.
-
(Необязательно) Настройте Beats для сбора данных и отправки их в мониторинговый кластер. Пропустите этот шаг для Beats, управляемых Elastic Agent.
- (Необязательно) Настройка мониторинга APM Server
-
(Необязательно) Настройте Kibana для сбора данных и отправки их в мониторинговый кластер:
-
(Необязательно) Создайте отдельный экземпляр Kibana для мониторинга, вместо использования одного экземпляра Kibana для доступа к производственному и мониторинговому кластерам.
Если вы вошли в Kibana с использованием SAML, Kerberos, PKI, OpenID Connect или поставщиков аутентификации токенов, необходим отдельный экземпляр Kibana. Токены безопасности, используемые в этих случаях, специфичны для кластера; поэтому вы не можете использовать один экземпляр Kibana для подключения к производственному и мониторинговому кластерам.
- (Необязательно) Отключить сбор данных мониторинга в этом экземпляре Kibana. Установите параметр
xpack.monitoring.kibana.collection.enabledв значениеfalseв файлеkibana.yml. Дополнительную информацию об этом параметре см. в Настройках мониторинга в Kibana.
- (Необязательно) Отключить сбор данных мониторинга в этом экземпляре Kibana. Установите параметр
- Настройка 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/monitoring-production.html