Grafana будем ставить из deb-пакета:
# Ссылку на свежий пакет находим тут: https://grafana.com/grafana/download
sslverify=0
vi /etc/yum.repos.d/grafana.repo
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
Теперь можно устанавливать:
yum install grafana
... и отвечаем Y на все запросы.
Настройка брандмауэра
По умолчанию, Grafana работает на порту 3000. Для возможности подключиться к серверу открываем данный порт в фаерволе:
firewall-cmd --permanent --add-port=3000/tcp
firewall-cmd --reload
Запуск сервиса
Разрешаем автозапуск:
systemctl enable grafana-server
Запускаем:
systemctl start grafana-server
http://172.17.10.130:3000
http://172.17.10.130:3000/dashboard/import
wget https://dl.grafana.com/oss/release/grafana_5.4.2_amd64.deb
C:\work\pscp C:\Users\ifast\downloads\grafana_5.4.2_amd64.deb root@172.17.10.130:/root/monitoring/
yum install ./grafana_5.4.2_amd64.deb
wget --no-check-certificate https://dl.grafana.com/oss/release/grafana_5.4.2_amd64.deb
systemctl stop grafana-server
systemctl daemon-reload
systemctl start grafana-server
systemctl status grafana-server
systemctl enable grafana-server
iptables -A INPUT -p tcp -m tcp --dport 3000 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 9100 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 9090 -m state --state NEW -j ACCEPT
Далее идем на порт 3000 с логином и паролем admin. Grafana сразу предложит сменить пароль. Дальше проходим незамысловатые диалоги,
и добавляем Prometheus в качестве источника данных.
Настройка дашбордов с нуля может быть довольно трудоемким делом. К счастью, у Grafana есть каталог готовых дашбордов практически на все случаи жизни.
Мне, например, понравился вот такой готовый дашборд для Node Exporter. Для его установки идем в диалог Import Dashboard.
Только диалог довольно хитро спрятан в интерфейсе. У меня он открывается по следующей ссылке:
http://172.17.10.130:3000/dashboard/import
Далее копируем JSON с сайта и получаем красивую картинку вроде такой:
Grafana и дашборд Node Exporter Full
Интерфейс у Grafana поначалу кажется немного странным. По-видимому, это связано с тем, что в интерфейсе максимум места отведено под графики.
Таким образом, большинство элементов управления представляют собой небольшие иконки, в которых первое время трудно ориентироваться.
Но к интерфейсу быстро привыкаешь. Оглянуться не успеете, как вы начнете мастерски заполнять дашборды десятками кастомных графиков!
Заключение
Конечно же, данное кратенькое введение не претендует на полноту.
Например, Prometheus позволяет настраивать еще и алерты, умеет интегрироваться с Kubernetes, через так называемые адаптеры данные из Prometheus можно
складывать в аналитические базы данных (ClickHouse, ну или в PostgreSQL хотя бы), есть собственный язык запросов PromQL, в котором даже есть джоины,
а метрики можно не только pull’ить, но и отправлять push’ем через Push Gateways.
Также нелишним будет знать некоторые особенности устройства Prometheus. В частности, по умолчанию все данные хранятся в течение 15 дней,
метрики собираются раз в 15 секунд, а одна метрика в среднем занимает два байта на сэмпл. Обладая этой информацией, и зная количество метрик,
можно прикинуть, сколько дискового пространства вам понадобится для их хранения. Следует также принять во внимание, что сторадж Prometheus
не позиционируется, как супер надежный. Если вдруг у вас очень ценные метрики, рекомендуется сохранять их куда-то еще через адаптеры.
За дополнительной информацией рекомендуется обращаться к официальной документации. Подробности устройства стораджа описаны здесь.
Если же вам очень нужна система, чтобы как Prometheus, только распределенная, обратите внимание на проект Thanos.