Files
Personal/linux/Prometheus, Grafana, node_exporter.md
2026-03-13 10:10:08 +00:00

6.2 KiB
Raw Blame History

В данном личном гайде на гите я рассмотрю установку трёх сервисов (Prometheus, Grafana, node_exporter) и уведомлений в ТГ боте на сервере

В данном гайде все работы будут производиться на ОС Debian 13 и VPS и ресурсах = 1/2/30

Prometheus - мощная система сбора и хранения метрик

Для сбора метрик об оппаратном обеспечении используется и операционой системы серверов используется node_exporter

Grafana - инструмент для виртуализации. Она подключается к Prometheus и позволяет создавать интерактивные дашборды

Для начала работы подготовим среду и необходимое ПО.

apt update && apt upgrade -y

Далее выполняем команду

apt install prometheus

Это установит нам прометей, Далее nano /etc/prometheus/prometheus.yml
И вписываем туда следующее Вместо ip_address_of_your_sever можно исопльзовать хостнеймы, при условии, что они внесены в etc hosts . Тут виден сценарий для развёртки на несколько нод

global:
  scrape_interval: 15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["ip_address_of_your_sever:9090","prometheus1:9100","prometheus2:9100"]
#
#  - job_name: "node"
#    static_configs:
#      - targets:
#        - '192.168.100.8:9100'
#        - '192.168.100.9:9100'


Переходим в браузере http://ip_address_of_your_sever:9090 и оказываемся на главной странице "Прометея"
Радуемся, что он у нас заработал.

Теперь приступим к установке Grafana

Качаем пакет Grafana с файлового зеркала Tencent (т.к. заблокирована установка с IP-адрессов РФ)
Плюс установим необходимые дополнительные пакеты и создадим нунжные зависимости

wget https://mirrors.cloud.tencent.com/grafana/apt/pool/main/g/grafana/grafana_12.0.3_amd64.deb
apt install adduser libfontconfig1 musl -y
dpkg -i grafana_12.0.3_amd64.deb

Так-же на всякий случай ручками запустим графану, добавим её в автозагрузку, и проверим её статус

sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo systemctl status grafana-server

После этого Ваша Grafana должна быть доступна по http://ip_address_of_your_sever:3000
По-умолчанию пароль и логин admin + admin, но програма, после первой авторизации предложит нам их поменять
После входа в панель идём по пути

  • Connections
  • Data Sources
  • Add Data source
    После этого добавляем новое подключение, выбирая само-собой, Prometheus
    Указываем его url и спускаемся в самый низ, нажимая save & test
    Если всё прошло успешно, то идём на вкладку Dashboards

Создание доски

В Grafana можно использовать разнообразные доски для отображения метрик. На официальном сайте Grafana есть небольшое руководство, рассматривающее создание собственной доски.
В своём-же случае я воспользуюсь уже готовой доской с оффициального сайта Grafana, которая собирает достаточно стандартные данные системы мониторинга.
Чтобы автоматически добавить таблицу нужно:

  • Открыть страницу dashboard
  • Нажать кнопку new
  • Из выпадающего списка выбрать New Dashboard
  • Нажать кнопку import dashboard
  • Ввести идентификатор доски, который указан на сайте. В моём случае 1860
  • Нажать на кнопку Load
    После этого нас перебросит на наш новый дашбоард, который можно конфигурить полностью по своему усмотрению

Настройка экспортера node_exporter

apt install prometheus-node-exporter
systemctl start prometheus-node-exporter

Проверим статус запущенной службы systemctl start prometheus-node-exporter
Так-же можно перейти на http://ip_address_of_your_sever:9090/metrics с целью прверить работоспособность службы

Настройка оповещений через ТГ бота

В целом, для настройки уведомлений не требуется совершать каких-то экстраординарных действий Для начала создаём contact point, в котором указываем куда нам будут отправляться уведомления (в моём случае это ТГ бот, почту лень было поднимать) После этого создаём alert rule в котором выбираем, при достижении какого уровня нам будет отправляться уведомление и contact point отправки Далее сохраняем, нагружаем систему и видим наше уведомление!