Установка и настройка мониторинга
На примере Prometheus+Grafana+Node_exporter+autonomys_exporter
Grafana и Prometheus образуют мощную связку для мониторинга и визуализации метрик в режиме реального времени. Grafana — это популярный инструмент для создания информативных и интерактивных дашбордов, который помогает пользователям наглядно отслеживать производительность, логи и уведомления. Prometheus, в свою очередь, представляет собой открытую систему мониторинга и алертинга, разработанную для сбора метрик в высокодинамичных средах, таких как контейнеризированные приложения.
Что мы будем делать
В этой статье мы шаг за шагом разберем, как установить Grafana и Prometheus на вашу систему, а также импортировать дашборд для отслеживания ключевых метрик вашего сервера.
1) Node-exporter
Устанавливаем на сервер, который хотим видеть на графике node-exporter
. <(wget -qO- https://raw.githubusercontent.com/g7AzaZLO/NodeExporter-autoinstaller/main/NodeExporter-auto-install.sh)
Можно проверить, что все хорошо установилосьsudo journalctl -u exporterd -f
**Также можно посмотреть список метрик, которые отдает сервер
Зайти по адресу http://<IP_ADDRESS>:9100/metrics , где <IP_ADDRESS> - ip нашего сервера
2) Prometheus
Устанавливаем на этот же или любой другой сервер Prometheus, он служит как агрегатор метрик и понадобится нам в единичном количестве
wget https://github.com/prometheus/prometheus/releases/download/v2.28.1/prometheus-2.28.1.linux-amd64.tar.gz && \tar xvf prometheus-2.28.1.linux-amd64.tar.gz && \rm prometheus-2.28.1.linux-amd64.tar.gz && \mv prometheus-2.28.1.linux-amd64 prometheus
Добавляем в список целей наш сервер (на котором установлен node-exporter)
Открываем конфиг нашего Prometheus для настройки
nano $HOME/prometheus/prometheus.yml
Добавляем в таргеты наш node-exporter (ip-server + port)
Выдаем права на исполнение нашего файла
chmod +x $HOME/prometheus/prometheus
Создаем сервисный файл для запуска при старте
sudo tee /etc/systemd/system/prometheusd.service > /dev/null <<EOF [Unit] Description=node_exporter After=network-online.target [Service] User=$USER ExecStart=$HOME/prometheus/prometheus --config.file="$HOME/prometheus/prometheus.yml" Restart=always RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload && \sudo systemctl enable prometheusd && \sudo systemctl restart prometheusd
Проверять логи можно такsudo journalctl -u prometheusd -f
Также можно проверить, видна ли цель для мониторинга(наш сервер с экспортером(ми))
Переходим в браузере по адресу:
http://<IP_ADDRESS>:9090/targets
где <IP_ADDRESS> - IP сервера, на который мы только что установили prometheus.
3) Grafana
Графана нам служит для красивого отображения метрик и создания простейших алертов в мессенджеры или на почту
Устанавливаем на любом сервере, в моем случае сервер тот же, где расположен прометеус:
sudo apt-get install -y adduser libfontconfig1 && \wget https://dl.grafana.com/oss/release/grafana_8.0.6_amd64.deb && \sudo dpkg -i grafana_8.0.6_amd64.deb
*можно установить версию свежее
Запускаем и активируем сервис графаной
sudo systemctl daemon-reload && \sudo systemctl enable grafana-server && \sudo systemctl restart grafana-server
sudo journalctl -u grafana-server -f
Наконец, заходим в графану, по-умолчанию путь следующий:
http://<IP_ADDRESS>:3000, где <IP_ADDRESS> - IP сервера, на который мы установили grafana.
4) Добавляем Data Source
Необходимо показать графане, откуда брать данные для построения графиков.
5) Импортируем и редактируем графики
У графаны есть своя галерея дашбордов, в нашем случае подойдет этот:
https://grafana.com/grafana/dashboards/1860-node-exporter-full/
Его можно импортиртировать по ID или целиком
По итогу получаем нечто похожее
Это только базовый дашборд для отслеживания основных метрик сервера, их существует великое множество и легко можно кастомизировать.
В следующей части мы поговорим об алертах и экспортере метрик для Autonomys (Subspace)