8.Prometheus. Grafana - удобный дашборд

Thank you for reading this post, don't forget to subscribe!

В систе­ме мони­то­рин­га Prometheus для отоб­ра­же­ния мет­рик ранее мы настра­и­ва­ли даш­бор­ды с помо­щью инстру­мен­та PromDash.

С недав­них пор появи­лась воз­мож­ность исполь­зо­вать для этих целей и open-source про­ект Grafana — давай­те разберемся!

Счи­та­ем, что у нас уже уста­нов­ле­на и настро­е­на систе­ма мони­то­рин­га Prometheus.

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

iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
netfilter-persistent save

Запуск сервиса

Раз­ре­ша­ем автозапуск:

systemctl enable grafana-server

Запус­ка­ем:

systemctl start grafana-server

Для настрой­ки Grafana исполь­зу­ет­ся кон­фи­гу­ра­ци­он­ный файл /etc/grafana/grafana.ini, логи по умол­ча­нию пишут­ся в /var/log/grafana, база дан­ных sqlite3 — /var/lib/grafana/grafana.db.

При­ме­ча­ние. Мож­но так­же исполь­зо­вать MySQL или Postgres в каче­стве базы дан­ных для Grafana.

В бра­у­зе­ре пере­хо­дим по адре­су http://[IP-адрес сервера]:3000, вво­дим дан­ные для авто­ри­за­ции (по умол­ча­нию admin/admin) и при­сту­па­ем к настрой­ке отоб­ра­же­ния мет­рик. Сна­ча­ла необ­хо­ди­мо доба­вить источ­ник дан­ных (data source), для этого:

  • в меню сле­ва нажи­ма­ем Data Sources;
  • жмем Add new в меню сверху;
  • выби­ра­ем тип дан­ных Prometheus;
  • в поле URL вво­дим адрес сер­ве­ра Prometheus, (напри­мер http://localhost:9090);
  • жмем кноп­ку Add и Save для сохра­не­ния источ­ни­ка данных.

Для добав­ле­ния ново­го дашборда:

  • в меню сле­ва нажи­ма­ем Dashboards;
  • жмем Home в меню свер­ху и в открыв­шем­ся меню вни­зу + New;
  • клик ввер­ху на зеле­ной вклад­ке, выби­ра­ем Add Panel и Graph.

При­сту­па­ем непо­сред­ствен­но к настрой­ке гра­фи­ка. В поле Query вво­дим инте­ре­су­ю­щую нас мет­ри­ку, напри­мер sum(rate(node_cpu{mode!="idle"}[5m])) by (mode). По сути, это­го уже доста­точ­но для отоб­ра­же­ния гра­фи­ка, для более тон­кой настрой­ки мож­но вос­поль­зо­вать­ся меню, кото­рое рас­по­ло­же­но пря­мо под графиком.

После вне­се­ния изме­не­ний не забудь­те сохра­нить ваш даш­борд нажа­ти­ем на икон­ку дис­ке­ты в верх­нем меню.