Мониторинг AWS | Графана | ЭК2 | Узлы | Прометей |
Хотите легко получить информацию о ваших виртуальных машинах (также известных как EC2) и отправить эти данные в Grafana. В этой статье я покажу вам, как настроить Node Exporter, который используется для отправки аналитической информации в Prometheus. Конечно, Prometheus подключен к Grafana. В этой статье предполагается, что у вас уже есть настроенный сервер Prometheus и Grafana. В этой статье будет показано только, как настроить Node Exporter и подключить его к Prometheus для обнаружения служб на AWS. Давай начнем!
Шаг 1. Вытягивание двоичного файла
Перейдите на https://github.com/prometheus/node_exporter/releases/ и укажите последнюю версию. На момент написания этой статьи я использую 1.3.1. Загрузите файл .gz, выполнив:
sudo wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
Шаг 2. Извлечение файла gZip
Извлеките файл gzip, выполнив:
tar -xzvf node_exporter-1.3.1.linux-amd64.tar.gz
Шаг 3. Создайте пользователя для Node Exporter
Выполните следующую команду, чтобы создать нового пользователя:
sudo useradd -rs /bin/false nodeusr
Шаг 4. Переместите двоичный файл в локальную корзину
Выполните следующую команду, чтобы переместить двоичный файл node_exporter в папку bin:
sudo mv node_exporter-1.3.1.linux-amd64/node_exporter /usr/local/bin/node_exporter
Шаг 5. Настройте службу для Node_Exporter
Выполните следующее, чтобы настроить новую службу для Node_Exporter:
sudo vim /etc/systemd/system/node_exporter.service
Теперь, конечно, если у вас нет vim, вы можете использовать vi, nano или что угодно.
Добавьте во вновь созданную службу следующее:
[Unit] Description=Node Exporter After=network.target [Service] User=nodeusr Group=nodeusr Type=simple ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target
Конечно, сохраните и закройте, нажав клавишу выхода и набрав: wq! что означает написать и выйти. Затем нажмите Enter.
Шаг 6. Перезагрузите демоны и запустите службу
Это можно сделать, запустив:
sudo systemctl daemon-reload
Теперь запустите службу, выполнив:
sudo systemctl start node_exporter
Затем вы можете проверить статус службы, запустив:
sudo systemctl status node_exporter
Шаг 7. Настройте службу при перезапуске
Итак, если вы хотите настроить службу так, чтобы она запускалась при запуске виртуальной машины, узла и т. д., выполните следующее:
sudo systemctl enable node_exporter
Шаг 8. Подтвердите услугу
Вы можете убедиться, что node_exporter работает, выполнив следующую команду curl:
curl http://localhost:9100/metrics
Шаг 9. Настройте пользователя IAM для обнаружения служб
Во-первых, давайте создадим новую политику со следующим:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:DescribeInstances", "Resource": "*" } ] }
Дайте имя политике Prometheus или node_exporter. Что-то, что вы можете вспомнить.
Затем создайте нового пользователя «Programmatic». Причина в том, что нам нужен идентификатор доступа и секретный ключ, чтобы эта следующая часть работала.
Сохраните пользователя и давайте перейдем к следующему шагу.
Шаг 10. Настройте конфигурацию Prometheus
Теперь нам нужно изменить файл конфигурации Prometheus. Добавьте следующее в файл конфигурации:
- job_name: 'node_exporter' static_configs: - targets: ['10.0.1.234:9100','10.0.1.230:9100'] - job_name: 'node' ec2_sd_configs: - region: <your-region> access_key: <your newly created users Access ID> secret_key: <your newly created users Secret Key> port: 9100 refresh_interval: 1m relabel_configs: - source_labels: - '__meta_ec2_tag_Name' target_label: 'instance' - source_labels: - '__meta_ec2_tag_customer' target_label: 'customer' - source_labels: - '__meta_ec2_tag_role' target_label: 'role'
Итак, первая часть — нацелиться на экспортер узлов, а следующая часть — запустить Service Discovery. После того, как мы это сохранили и настроили, мы можем перейти к перезапуску сервера Prometheus.
Перезапустите Prometheus, выполнив:
sudo systemctl restart prometheus
Шаг 11. Убедитесь, что служба обнаружения работает
Войдите в свой интерфейс Prometheus и убедитесь, что Service Discovery работает. Вы должны увидеть узлы, добавленные в список:
Отлично! Теперь вы можете зайти в Grafana и запустить сервисы. Перейдите в Grafana, а затем в Explorer. Воспользуйтесь сервисом Prometheus и найдите вызванную метрику. Вы также должны увидеть распознанные узлы.
Создать сейчас вы можете начать выпадающие метрики. Я надеюсь, что это поможет сделать мир мониторинга намного проще. Возможно, вы не сможете использовать Service Discovery для On-Prem, но вы действительно можете использовать целевой процесс. Это работает для кластеров Raspberry Pi и т. д. Надеюсь, вам понравилось, и вы не забыли поставить лайк и подписаться. Надеюсь, у вас счастливый день мониторинга :)
Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку здесь.