Мониторинг 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. Подпишитесь на нашу бесплатную еженедельную рассылку здесь.