Сбор данных логов Elasticsearch с помощью Filebeat
Вы можете использовать Filebeat для мониторинга файлов логов Elasticsearch, сбора событий логов и отправки их в кластер мониторинга. Ваши последние логи отображаются на странице Мониторинг в Kibana.
-
Убедитесь, что Elasticsearch работает, и что кластер мониторинга готов принимать данные от Filebeat.
В производственных средах мы настоятельно рекомендуем использовать отдельный кластер (называемый кластером мониторинга) для хранения данных. Использование отдельного кластера мониторинга предотвращает сбои производственного кластера, которые могут повлиять на доступ к данным мониторинга. Это также предотвращает то, чтобы действия мониторинга повлияли на производительность вашего производственного кластера. См. Мониторинг в производственной среде.
-
Включите сбор данных мониторинга в вашем кластере.
Установите
xpack.monitoring.collection.enabledнаtrueв производственном кластере. По умолчанию он отключен (false).Вы можете использовать следующие API для просмотра и изменения этого параметра:
GET _cluster/settings
PUT _cluster/settings { "persistent": { "xpack.monitoring.collection.enabled": true } }Если включены функции безопасности Elasticsearch, вам необходимо иметь права доступа к кластеру
monitorдля просмотра настроек кластера и права доступа к кластеруmanageдля их изменения.Дополнительную информацию можно найти в Настройках мониторинга и API обновления настроек кластера.
-
Определите, какие логи вы хотите отслеживать.
Модуль Filebeat для Elasticsearch может обрабатывать аудиторские логи, логи устаревания, логи GC, серверные логи и логи медленных запросов. Дополнительную информацию о расположении ваших логов Elasticsearch см. в настройке path.logs.
Если существуют как структурированные (
*.json) версии логов, так и неструктурированные (в формате простого текста), вы должны использовать структурированные логи. В противном случае они могут не отображаться в соответствующем контексте в Kibana. - Установите Filebeat на узлах Elasticsearch, которые содержат логи, которые вы хотите отслеживать.
-
Определите, куда отправлять данные логов.
Например, укажите информацию вывода Elasticsearch для вашего кластера мониторинга в файле конфигурации Filebeat (
filebeat.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, необходимо предоставить действительный идентификатор пользователя и пароль, чтобы Filebeat мог успешно отправлять метрики.
Дополнительную информацию об этих параметрах конфигурации см. в Настройка вывода Elasticsearch.
-
Необязательно: определите, где визуализировать данные.
Filebeat предоставляет примеры панелей, визуализаций и запросов Kibana. Для загрузки панелей в соответствующий экземпляр Kibana укажите информацию
setup.kibanaв файле конфигурации Filebeat (filebeat.yml) на каждом узле:setup.kibana: host: "localhost:5601" #username: "my_kibana_user" #password: "YOUR_PASSWORD"
В производственных средах мы настоятельно рекомендуем использовать отдельный экземпляр Kibana для кластера мониторинга.
Если включены функции безопасности, необходимо предоставить действительный идентификатор пользователя и пароль, чтобы Filebeat мог подключиться к Kibana:
- Создайте пользователя в кластере мониторинга с
kibana_adminвстроенной ролью или эквивалентными правами. - Добавьте настройки
usernameиpasswordв информацию вывода Elasticsearch в файле конфигурации Filebeat. В примере показан жёстко закодированный пароль, но вы должны хранить конфиденциальные значения в хранилище секретов.
- Создайте пользователя в кластере мониторинга с
-
Включите модуль Elasticsearch и настройте начальную среду Filebeat на каждом узле.
Например:
filebeat modules enable elasticsearch filebeat setup -e
Дополнительную информацию см. в модуле Elasticsearch.
-
Настройте модуль Elasticsearch в Filebeat на каждом узле.
Если логи, которые вы хотите отслеживать, не находятся в стандартном расположении, установите соответствующие переменные пути в файле
modules.d/elasticsearch.yml. См. Настройка модуля Elasticsearch.Если есть JSON-логи, настройте настройки
var.paths, чтобы они указывали на них, а не на логи в формате простого текста. -
Запустите Filebeat на каждом узле.
В зависимости от того, как вы установили Filebeat, при попытке запуска модулей Filebeat могут появиться ошибки, связанные с правами доступа к файлам или разрешениями. См. Права доступа к файлам конфигурации и разрешения.
-
Проверьте, существуют ли соответствующие индексы в кластере мониторинга.
Например, используйте команду cat indices для проверки наличия новых
filebeat-*индексов.Если вы хотите использовать интерфейс Мониторинг в Kibana, также должны существовать индексы
.monitoring-*. Эти индексы создаются при сборе метрик о продуктах Elastic Stack. Например, см. Сбор данных мониторинга с помощью Metricbeat. - Просмотр данных мониторинга в 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-filebeat.html