Grafana предоставляет веб-интерфейс для создания дашбордов и управления алертами.
# Ubuntu/Debian
sudo apt install -y apt-transport-https software-properties-common
wget -q -O - https://apt.grafana.com/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/grafana.gpg
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | \
sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt update && sudo apt install grafana
# Запуск
sudo systemctl enable grafana-server
sudo systemctl start grafana-server
# Grafana доступна на http://server:3000
# Логин по умолчанию: admin / admin
Настройка Data Source через Grafana UI или provisioning:
# /etc/grafana/provisioning/datasources/influxdb.yml
apiVersion: 1
datasources:
- name: InfluxDB
type: influxdb
access: proxy
url: http://localhost:8086
jsonData:
version: Flux
organization: mycompany
defaultBucket: monitoring
secureJsonData:
token: YOUR_API_TOKEN_HERE
Пример Flux-запроса для дашборда CPU:
from(bucket: "monitoring")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r._measurement == "cpu")
|> filter(fn: (r) => r._field == "usage_idle")
|> filter(fn: (r) => r.cpu == "cpu-total")
|> map(fn: (r) => ({r with _value: 100.0 - r._value}))
|> aggregateWindow(every: v.windowPeriod, fn: mean)
|> yield(name: "CPU Usage %")
Для автоматического развёртывания дашбордов используйте provisioning:
# /etc/grafana/provisioning/dashboards/default.yml
apiVersion: 1
providers:
- name: 'default'
orgId: 1
folder: 'Infrastructure'
type: file
disableDeletion: false
editable: true
options:
path: /var/lib/grafana/dashboards
foldersFromFilesStructure: true
Скачайте готовые дашборды с grafana.com/grafana/dashboards. Популярные дашборды для TIG-стека: ID 928 (Telegraf System), ID 8159 (Telegraf Host Metrics). Импортируйте через Grafana UI: Dashboards → Import → указание ID.
Оставить комментарий