Установка metricbeat
- Качаем и устанавливаем metricbeat
sudo curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.11.1-x86_64.rpm sudo rpm -vi metricbeat-7.11.1-x86_64.rpm
- Активируем автозагрузку и запускаем metricbeat
sudo systemctl enable metricbeat sudo systemctl start metricbeat
Активируем модули
- Для просмотра всех возможных модулей выполняем
sudo metricbeat modules list
- Активируем нужные нам модули
metricbeat modules enable linux logstash
- Также не лишним будет глянуть файл
/etc/metricbeat/metricbeat.reference.yml
Настраиваем куда слать логи
- Прописываем куда слать логи
sudo vim /etc/metricbeat/metricbeat.yml
#для elasticsearch output.elasticsearch: hosts: ["elk-node3.my.lan:5122", "elk-node2.my.lan:5122","elk-node1.my.lan:5122"] #или http protocol: "https" username: "user" password: "PASSWORD" #для logstash output.logstash: hosts: ["elk-node3.my.lan:5044", "elk-node2.my.lan:5044","elk-node1.my.lan:5044"] loadbalance: true
- Если вы используете
logstash
то придётся вручную создать `index в кластере. Для этого:- Создаём роль через
kibana
POST _xpack/security/role/metricbeat_internal { "cluster": ["monitor","read_ilm","manage_ilm","manage"], "indices": [ { "names": [ "metricbeat-*"], "privileges": ["create_index","manage"] } ] }
- Создаём пользователя через
kibana
POST /_xpack/security/user/metricbeat_internal { "password" : "YOUR_PASSWORD", "roles" : [ "kibana_admin","metricbeat_internal" ], "full_name" : "Internal Metricbeat User" }
- Настраиваем
output.elasticsearch
как выше - Создаём индекс вручную
sudo metricbeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["https://elk-node3.my.lan:9122", "https://elk-node2.my.lan:9122","https://elk-node1.my.lan:9122"]'
- Комментируем
output.elasticsearch
- Создаём роль через
- Перезапускаем metricbeat
sudo systemctl restart metricbeat
Доступ к метрикам
Если всё проделано правильно, то в kibana
появится индекс типа metricbeat-7.11.0-2021.02.18-000001
. И пройдя по ссылке вы увидите метрики.
Создание пользователя для выгрузки
dashboard
вkibana
Metricbeat поставляется в комплекте с примерами dashboard Kibana
, визуализацией и поиском для визуализации данных Metricbeat
в Kibana
. Для того, чтобы это использовать вы должны выгрузить это с metricbeat в kibana
.
- Создаём пользователя
metricbeat_internal
с рольюkibana_admin
черезkibana
(dev tools)POST /_xpack/security/user/metricbeat_internal { "password" : "YOUR_PASSWORD", "roles" : [ "kibana_admin"], "full_name" : "Internal Metricbeat User" }
- Выставляем настройки для подключения к
Kibana
sudo vim /etc/metricbeat/metricbeat.yml
setup.dashboards.enabled: true setup.kibana: host: "elk-kibana.my.lan:5601" #либо http protocol: "https" username: "metricbeat_internal" password: "YOUR_PASSWORD"
- Перезапускаем
metricbeat
sudo systemctl restart metricbeat
- проверяем что у нас создались
dashboards
по url
Использование keystore
Конечно если вы беспокоитесь хоть немного о безопасности вы не захотите хранить пароли так просто в открытом виде, в текстовом файле. Вы можете использовать хранилище ключей Metricbeat
для безопасного хранения секретных значений для использования в настройках конфигурации.
После добавления ключа и его секретного значения в хранилище ключей вы можете использовать ключ вместо секретного значения при настройке конфиденциальных параметров.
- Создание keystore
sudo metricbeat keystore create
- Добавляем секретное значение, например логин и пароль
sudo metricbeat keystore add MY_USR sudo metricbeat keystore add MY_PWD sudo metricbeat keystore list
- Используем значения в файле конфигурации
sudo vim /etc/metricbeat/metricbeat.yml
setup.kibana: username: "${MY_USR}" password: "${MY_PWD}"
Для того чтобы проверить что это сработало можно удалить все dasboard
в kibana
и перезапустить metricbeat
.
Комментарии