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

87 lines
6.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# В данном личном гайде на гите я рассмотрю установку трёх сервисов (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
Далее выполняем команду
```
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 есть [небольшое руководство](https://grafana.com/docs/grafana/latest/getting-started/build-first-dashboard/), рассматривающее создание собственной доски.
В своём-же случае я воспользуюсь уже готовой доской с оффициального сайта 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** с целью прверить работоспособность службы
## Настройка оповещений через ТГ бота