Задача - организовать отдельную вм с Debian на которой будет связка Grafana и Prometheus.
+
Задача - организовать отдельную вм с Debian на которой будет связка Grafana и Prometheus. Без особых изьебов. Чтоб вот просто максимально
+
Что собственно ставим?
+
- Grafana - клевая и стильная система визуализации данных. Проект на гитхаб - [Grafana Labs Github](https://github.com/grafana/grafana)
+
- Prometheus - система сбора данных. Проект на гитхаб - [Prometheus](https://github.com/prometheus/prometheus)
+
- Prometheus Node Exporter - штука которая опрашивает метрики с операционной системы и отображает их по HTTP. Проект на гитхаб - [Prometheus Node Exporter](https://github.com/prometheus/node_exporter)
## Установка Grafana с deb-пакета
Методы описанные с установкой ключа и апдейта с репозиторием к сожалению не работают потому как в моем случае при запросе ключа я получаю:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
+
tcp LISTEN 0 100 127.0.0.1:25 0.0.0.0:*
+
tcp LISTEN 0 4096 *:22 *:*
+
tcp LISTEN 0 100 [::1]:25 [::]:*
+
tcp LISTEN 0 4096 *:9100 *:* # Это Node Exporter
+
tcp LISTEN 0 4096 *:9090 *:* # Это Prometheus
+
```
+
## Проверяем Prometheus и Node Exporter
+
По умолчанию если посмотреть в конфигфаил /etc/prometheus/prometheus.yaml в конце можно увидеть в блоке `scrape_configs`:
+
```yaml
+
- job_name: node
+
# If prometheus-node-exporter is installed, grab stats about the local
+
# machine by default.
+
static_configs:
+
- targets: ['localhost:9100']
+
```
+
Что говорит о том что Prometheus уже собирает метрики с этой вм. Но долетают ли они? Давайте посмотрим curl'ом. Если отсутствует то установите `sudp apt install curl`
# HELP apt_upgrades_held Apt packages pending updates but held back.
+
# TYPE apt_upgrades_held gauge
+
apt_upgrades_held{arch="",origin=""} 0
+
# HELP apt_upgrades_pending Apt packages pending updates by origin.
+
# TYPE apt_upgrades_pending gauge
+
apt_upgrades_pending{arch="",origin=""} 0
+
...
+
```
+
Теперь перейдем в GUI Prometheus ip-or-fqdn:9090. Попробуем вывести какие-нибудь данные, например node_os_version должен вывести версию операционной системы.