Personal/linux/Prometheus, Grafana, node_e...

6.1 KiB
Raw Blame History

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

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

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

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

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

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

apt update && apt upgrade -y
curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh
apt install git

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

git clone https://github.com/prometheus/prometheus.git

Это скопирует все необходимые файлы для развёртки "Прометея", после того, как процесс завершиться, создадим конфигурационный файл для Прометея
Вводим команду nano /etc/prometheus/prometheus.yml
И вписываем туда следюущий конфиг. Этим действием мы заранее внесём вне необходимые функции в конфиг, так что нам больше не придётся переживать о необходимости его редактировать (в рамках этой работы).

global:
  scrape_interval: 15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["ip_address_of_your_sever:9090"]

  - job_name: "node"
    static_configs:
      - targets: ["ip_address_of_your_sever:9100"]

После этого соберём нашу конфигурацию, не забыв проверить, что контейнер успешно стартанул docker ps -a

docker run -d --name prometheus -p 9090:9090 -v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro prom/prometheus --config.file=/etc/prometheus/prometheus.yml

Переходим в браузере 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 с целью прверить работоспособность службы