87 lines
6.1 KiB
Markdown
87 lines
6.1 KiB
Markdown
# В данном личном гайде на гите я рассмотрю установку трёх сервисов (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** с целью прверить работоспособность службы
|
||
|
||
|
||
|
||
## Настройка оповещений через ТГ бота
|
||
|
||
|