Установка INFLUXDB и АНАЛИЗ МЕТРИК СИСТЕМЫ С ПОМОЩЬЮ INFLUXDB

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

InfluxDB – это база дан­ных вре­мен­ных рядов, мет­рик и ана­ли­ти­ки. БД вре­мен­ных рядов пред­на­зна­че­ны для хра­не­ния дан­ных, полу­чен­ных в резуль­та­те после­до­ва­тель­ных изме­ре­ний, выпол­нен­ных в тече­ние опре­де­лен­но­го пери­о­да вре­ме­ни. Эти дан­ные могут состо­ять из таких эле­мен­тов, как систем­ные мет­ри­ки (напри­мер, исполь­зо­ва­ние CPU и памя­ти) и мет­ри­ки при­ло­же­ния (ошиб­ки при­ло­же­ния и вызо­вы конеч­ной точ­ки REST и т.д.).

Чем доль­ше рабо­та­ет систе­ма, тем боль­ше будет объ­ем накоп­лен­ных дан­ных. Инстру­мент InfluxDB предо­став­ля­ет сред­ство для эффек­тив­но­го хра­не­ния этих дан­ных. Он пред­на­зна­чен для рабо­ты с DevOps, мет­ри­ка­ми, дан­ны­ми дат­чи­ков, а так­же мони­то­рин­га и ана­ли­ти­ки в реаль­ном вре­ме­ни. Исполь­зуя InfluxDB, вы може­те быст­ро создать мощ­ную инфра­струк­ту­ру мони­то­рин­га в реаль­ном вре­ме­ни, кото­рая так­же обес­пе­чи­ва­ет исто­ри­че­ский анализ.

1: Установка InfluxDB

InfluxDB рас­про­стра­ня­ет­ся как авто­ном­ная систе­ма. Это озна­ча­ет, что у нее нет внеш­них зави­си­мо­стей; все, что вам нуж­но для запус­ка базы дан­ных, предо­став­ля­ет­ся в паке­те рели­за, кото­рый исполь­зу­ет­ся во вре­мя уста­нов­ки, что упро­ща­ет весь процесс.

Сна­ча­ла обно­ви­те систе­му, что­бы на сер­ве­ре были послед­ние исправ­ле­ния оши­бок и безопасности.

sudo yum -y update

Уста­но­ви­те послед­нюю вер­сию InfluxDB.

sudo yum -y install  https://s3.amazonaws.com/influxdb/influxdb-latest-1.x86_64.rpm

При­ме­ча­ние: Вер­сия может отличаться.

После это­го в /opt/influxdb/versions/0.8.8 появят­ся новые фай­лы, а в /etc/init.d будут созда­ны сим­лин­ки для сер­ви­сов управ­ле­ния InfluxDB.

2: Настройка и запуск InfluxDB

Теперь нуж­но настро­ить InfluxDB: отклю­чить ано­ним­ную пере­да­чу дан­ных и рас­ши­рить уста­нов­лен­ный по умол­ча­нию пре­дел вре­ме­ни чтения.

Основ­ной кон­фи­гу­ра­ци­он­ный файл InfluxDB – это /opt/influxdb/shared/config.toml. Он исполь­зу­ет удо­бо­чи­та­е­мый (бла­го­да­ря сво­ей оче­вид­ной семан­ти­ке) фор­мат TOML, кото­рый очень похож на фор­мат кон­фи­гу­ра­ции INI.

Преж­де чем начать настрой­ку, сде­лай­те резерв­ную копию ори­ги­на­ла конфигурации.

sudo cp /opt/influxdb/shared/config.toml /opt/influxdb/shared/config.toml_backup

Начи­ная с вер­сии 0.7.1, InfluxDB пере­да­ет ано­ним­ные дан­ные на m.influxdb.com каж­дые 24 часа. Что­бы мини­ми­зи­ро­вать исполь­зо­ва­ние поло­сы про­пус­ка­ния, отклю­чи­те эту отчет­ность. Сна­ча­ла открой­те кон­фи­гу­ра­ци­он­ный файл в тек­сто­вом редакторе.

sudo nano /opt/influxdb/shared/config.toml

Най­ди­те кон­фи­гу­ра­ци­он­ный ключ reporting-disabled и изме­ни­те его зна­че­ние на true. После это­го раз­дел дол­жен выгля­деть так:

. . .
# Change this option to true to disable reporting.
reporting-disabled = true
[logging]
. . .

Затем нуж­но обно­вить вре­мя чте­ния по умол­ча­нию, что­бы дать соеди­не­ни­ям немно­го боль­ше вре­ме­ни. Этот пара­метр кон­тро­ли­ру­ет, как дол­го соеди­не­ния с базой дан­ных могут ждать, преж­де чем они будут закрыты.

В том же фай­ле кон­фи­гу­ра­ции най­ди­те read-timeout и изме­ни­те его зна­че­ние с 5s на 10s.

. . .
# However, if a request is taking longer than this to complete, could be a problem.
read-timeout = "10s"
[input_plugins]
. . .

Сохра­ни­те и закрой­те файл.

Теперь запу­сти­те демон InfluxDB:

sudo /etc/init.d/influxdb start

При успеш­ном запус­ке сце­на­рий мене­дже­ра сер­ви­сов предо­ста­вит сле­ду­ю­щий вывод.

Setting ulimit -n 65536
Starting the process influxdb [ OK ]
influxdb process was started [ OK ]

После запус­ка InfluxDB перей­ди­те по адре­су http://your_server_ip:8083 в бра­у­зе­ре, что­бы убе­дить­ся, что сер­вис InfluxDB запу­щен и рабо­та­ет. На стра­ни­це будет интер­фейс управ­ле­ния по умол­ча­нию, кото­рый состо­ит из раз­де­лов Connect и Hostname and Port Settings.

3: Изменение учетных данных InfluxDB

Каж­дый экзем­пляр InfluxDB постав­ля­ет­ся с набо­ром учет­ных дан­ных адми­ни­стра­то­ра по умол­ча­нию. В целях без­опас­но­сти вы долж­ны обя­за­тель­но изме­нить этот пароль.

Вой­ди­те в поль­зо­ва­тель­ский интер­фейс InfluxDB, исполь­зуя имя по умол­ча­нию root и пароль root в раз­де­ле Connect. Оставь­те базу дан­ных пустой и нажми­те синюю кноп­ку Connect.

В верх­нем меню на сле­ду­ю­щей стра­ни­це выбе­ри­те Cluster Admins. Это откро­ет стра­ни­цу адми­ни­стри­ро­ва­ния поль­зо­ва­те­лей. В раз­де­ле Username нажми­те root и изме­ни­те пароль, два­жды вве­дя новый пароль и нажав синюю кноп­ку Change Password.

Что­бы убе­дить­ся, что пароль изме­нил­ся, нажми­те кноп­ку Disconnect, а затем сно­ва вой­ди­те в систе­му с помо­щью ново­го пароля.

4: Создание базы данных

Све­жий экзем­пляр InfluxDB изна­чаль­но не содер­жит реаль­ных баз дан­ных, поэто­му вам необ­хо­ди­мо само­сто­я­тель­но создать базу дан­ных, кото­рую вы буде­те исполь­зо­вать для хра­не­ния метрик.

Нажми­те на Databases в верх­нем меню веб-интер­фей­са. В раз­де­ле Create a Database (под Database Details) вве­ди­те metrics в каче­стве име­ни базы дан­ных. Пара­мет­ры по умол­ча­нию в настрой­ках Shard Spaces мож­но оста­вить. Затем нажми­те синюю кноп­ку Create Database в пра­вом ниж­нем углу, что­бы создать базу данных.

Если база дан­ных была успеш­но созда­на, вы уви­ди­те ее в верх­ней части экра­на рядом со ссыл­кой Explore Data.

Что­бы убе­дить­ся, что база дан­ных, кото­рую мы созда­ли, рабо­та­ет пра­виль­но, мож­но запи­сать и про­ве­рить в ней тесто­вые дан­ные, исполь­зуя интер­фейс UI. Нажми­те на Explore Data, что­бы перей­ти к интер­фей­су дан­ных. Вы уви­ди­те экран Data Interface.

Здесь вы може­те запи­сать неко­то­рые тесто­вые дан­ные в базу дан­ных. Вы так­же смо­же­те выпол­нять спе­ци­аль­ные запро­сы к дан­ным, хра­ня­щим­ся в БД, и создать базо­вую визуализацию.

Для вво­да дан­ных с помо­щью веб-интер­фей­са необ­хо­ди­мо ука­зать имя и зна­че­ния вре­мен­но­го ряда. Имя вре­мен­но­го ряда пред­став­ля­ет собой бук­вен­но-циф­ро­вую стро­ку без про­бе­лов, а поле зна­че­ния долж­но быть запи­са­но в фор­ма­те JSON.

В раз­де­ле Write Point в поле Time Series Name вве­ди­те test_metric, а в Values вве­ди­те {«value»: 23.4}. Затем нажми­те кноп­ку Write Point, что­бы вве­сти дан­ные. Вы уви­ди­те всплы­ва­ю­щее окно 200 OK.

Повто­ри­те про­цесс , ука­зы­вая то же имя вре­мен­но­го ряда, для каж­до­го из сле­ду­ю­щих зна­че­ний: {«value»: 13.1}, {«value»: 13.1}, {«value»: 78.1} и {«value»: 90.4}. Обра­ти­те вни­ма­ние, что зна­че­ние 13,1 наме­рен­но запи­сы­ва­ет­ся два­жды. В общей слож­но­сти полу­чит­ся пять значений.

Теперь, когда мы запи­са­ли несколь­ко точек дан­ных, мы можем их про­ве­рить. В раз­де­ле Read Points в верх­ней части стра­ни­цы в поле Query вве­ди­те сле­ду­ю­щий запрос:

select * from test_metric

Нажми­те кноп­ку Execute Query. В резуль­та­те долж­ны быть все точ­ки дан­ных для вре­мен­но­го ряда test_metric, кото­рые хра­нят­ся в БД. На экране появит­ся график.

Этот экран пока­зы­ва­ет линей­ный гра­фик, кото­рый сум­ми­ру­ет тен­ден­цию мет­рик во вре­мен­ном ряду, и таб­ли­цу, кото­рая сум­ми­ру­ет дан­ные, хра­ня­щи­е­ся в базе.

Так­же мож­но исполь­зо­вать иден­ти­фи­ка­то­ры столб­цов, что­бы сузить область поис­ка. Напри­мер, что­бы най­ти собы­тия со зна­че­ни­ем 13,1, вве­ди­те сле­ду­ю­щий поис­ко­вый запрос:

select * from test_metric where value = 13.1

Это выве­дет две строки.

Для боль­шей дета­ли­за­ции дан­ные в InfluxDB орга­ни­зо­ва­ны по вре­мен­ным рядам, в нашем при­ме­ре это test_metric. Каж­дый вре­мен­ной ряд име­ет набор точек дан­ных, соот­вет­ству­ю­щих собы­тию. Мы созда­ли пять собы­тий, когда вве­ли дан­ные. Каж­дое собы­тие име­ет вре­мя, поряд­ко­вый номер и несколь­ко столб­цов, ана­ло­гич­ных мет­ри­ке, кото­рую нуж­но отсле­дить. В дан­ном при­ме­ре у нас есть одна мет­ри­ка value в каж­дом из пяти событий.

5: Установка и настройка collectd

На этом эта­пе нуж­но настро­ить collectd для сбо­ра мет­рик систе­мы. collectd – это демон Unix, кото­рый соби­ра­ет, пере­да­ет и хра­нит дан­ные о про­из­во­ди­тель­но­сти. Он помо­га­ет под­дер­жи­вать обзор доступ­ных ресур­сов для обна­ру­же­ния суще­ству­ю­щих или потен­ци­аль­ных узких мест.

Сна­ча­ла вклю­чи­те репо­зи­то­рий EPEL (Extra Packages for Enterprise Linux):

sudo yum -y install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

Уста­но­ви­те демон:

sudo yum -y install collectd

После успеш­ной уста­нов­ки паке­та будет создан ряд дво­ич­ных фай­лов, общих биб­лио­тек и фай­лов кон­фи­гу­ра­ции. Основ­ные фай­лы, о кото­рых сле­ду­ет знать, это файл кон­фи­гу­ра­ции collectd, /etc/collectd.conf, и основ­ной дво­ич­ный файл демо­на, /usr/sbin/collectd. Сна­ча­ла создай­те копию исход­но­го фай­ла конфигурации.

sudo cp /etc/collectd.conf /etc/collectd.conf_backup

Затем открой­те кон­фи­гу­ра­ци­он­ный файл:

sudo nano /etc/collectd.conf

Основ­ной файл кон­фи­гу­ра­ции collectd содер­жит мно­же­ство настро­ек, боль­шин­ство из кото­рых по умол­ча­нию неак­тив­ны, посколь­ку они заком­мен­ти­ро­ва­ны. Давай­те рас­ком­мен­ти­ру­ем и изме­ним неко­то­рые из них.

В верх­ней части кон­фи­гу­ра­ции, в раз­де­ле Global, вы уви­ди­те сле­ду­ю­щее. То, что нуж­но отре­дак­ти­ро­вать, выде­ле­но жирным.

. . .
#Hostname    "localhost"
#FQDNLookup   true
#BaseDir     "/var/lib/collectd"
#PIDFile     "/var/run/collectd.pid"
#PluginDir   "/usr/lib64/collectd"
#TypesDB     "/usr/share/collectd/types.db"
. . .

Рас­ком­мен­ти­руй­те поля Hostname, BaseDir, PIDFile, PluginDir и TypesDB, уда­лив сим­вол # в нача­ле стро­ки. Кро­ме того, уста­но­ви­те в поле Hostname зна­че­ние influenxdb. В резуль­та­те этот раз­дел фай­ла дол­жен выгля­деть сле­ду­ю­щим образом:

Hostname    "influxdb"
#FQDNLookup   true
BaseDir     "/var/lib/collectd"
PIDFile     "/var/run/collectd.pid"
PluginDir   "/usr/lib64/collectd"
TypesDB     "/usr/share/collectd/types.db"

Затем про­кру­ти­те вниз до раз­де­ла LoadPlugin, где в алфа­вит­ном поряд­ке пере­чис­ле­но боль­шое коли­че­ство пла­ги­нов. Най­ди­те и рас­ком­мен­ти­руй­те стро­ки LoadPlugin network и LoadPlugin uptime, уда­лив сим­вол # в нача­ле строки.

Затем нуж­но настро­ить collectd для отправ­ки дан­ных в InfluxDB.

Про­кру­ти­те вниз до раз­де­ла Plugin Configuration. После раз­де­ли­те­ля раз­де­лов (как пока­за­но ниже) добавь­те кон­фи­гу­ра­цию сете­во­го пла­ги­на (она выде­ле­на жирным).

. . .
##############################################################################
# Plugin configuration                                                       #
#----------------------------------------------------------------------------#
# In this section configuration stubs for each plugin are provided. A desc-  #
# ription of those options is available in the collectd.conf(5) manual page. #
##############################################################################
<Plugin network>

Server "127.0.0.1" "8096"

</Plugin>
#<Plugin "aggregation">

Сохра­ни­те и закрой­те файл. Теперь нуж­но про­ве­рить кон­фи­гу­ра­цию и убе­дить­ся, что в ней нет оши­бок или опе­ча­ток. Для это­го мож­но исполь­зо­вать collectd:

sudo /usr/sbin/collectd -t

Если в кон­фи­гу­ра­ции collectd нет оши­бок, эта коман­да не вер­нет выво­да. Если в фай­ле обна­ру­же­ны какие-либо ошиб­ки, они будут пере­чис­ле­ны в терминале.

Как толь­ко в кон­фи­гу­ра­ции будут исправ­ле­ны все ошиб­ки, пере­за­пу­сти­те collectd, что­бы акти­ви­ро­вать новую кон­фи­гу­ра­цию. Это может занять неко­то­рое время.

sudo service collectd start

6: Настройка InfluxDB для обработки метрик collectd

Что­бы сохра­нить мет­ри­ки систе­мы, соби­ра­е­мые с помо­щью collectd, в InfluxDB, нуж­но вклю­чить и настро­ить пла­гин InfluxDB для вво­да collectd.

Сна­ча­ла открой­те файл кон­фи­гу­ра­ции InfluxDB в редакторе.

sudo nano /opt/influxdb/shared/config.toml

Най­ди­те пла­гин input_plugins.collectd, кото­рый выгля­дит так. То, что нуж­но отре­дак­ти­ро­вать, выде­ле­но жирным.

. . .
# Configure the collectd api
[input_plugins.collectd]
enabled = false
# address = "0.0.0.0" # If not set, is actually set to bind-address.
# port = 25826
# database = ""
# types.db can be found in a collectd installation or on github:
https://github.com/collectd/collectd/blob/master/src/types.db
typesdb = "/usr/share/collectd/types.db" # The path to the collectd types.db file
. . .

Изме­ни­те его в соот­вет­ствии с при­ве­ден­ным ниже при­ме­ром, вне­ся сле­ду­ю­щие изменения:

  • В enabled уста­но­ви­те зна­че­ние true.
  • Изме­ни­те порт на 8096.
  • Ука­жи­те имя БД — metrics.
  • Рас­ком­мен­ти­руй­те стро­ки port, database, and typesdb.

. . .
# Configure the collectd api
[input_plugins.collectd]
enabled = true
# address = "0.0.0.0" # If not set, is actually set to bind-address.
port = 8096
database = "metrics"
# types.db can be found in a collectd installation or on github:
https://github.com/collectd/collectd/blob/master/src/types.db
typesdb = "/usr/share/collectd/types.db" # The path to the collectd types.db file
. . .

Сохра­ни­те и закрой­те файл. Пере­за­пу­сти­те InfluxDB, что­бы акти­ви­ро­вать новую конфигурацию.

sudo /etc/init.d/influxdb restart

Теперь убе­ди­тесь, что InfluxDB при­ни­ма­ет дан­ные collectd. В Data Interface в UI, кото­рый вы исполь­зо­ва­ли в раз­де­ле 5, вве­ди­те сле­ду­ю­щий запрос в поле Query под Read Points, а затем нажми­те кноп­ку Execute Query.

list series

Если InfluxDB полу­ча­ет дан­ные из collectd, вы долж­ны уви­деть длин­ный спи­сок вре­мен­ных рядов.

Теперь мож­но начать ана­лиз про­из­во­ди­тель­ность систе­мы, изу­чив эти дан­ные, как в раз­де­ле 5. Напри­мер, сле­ду­ю­щий запрос поз­во­лит вам наблю­дать за исполь­зо­ва­ни­ем памя­ти в вашей системе:

select * from "influxdb/memory/memory-used"

Визу­а­ли­за­ция дан­ных чет­ко пока­зы­ва­ет изме­не­ния в исполь­зо­ва­нии памя­ти, кото­рые были запи­са­ны для ваше­го экзем­пля­ра InfluxDB.

7: Установка и запуск Grafana

Веб-интер­фейс InfluxDB мож­но исполь­зо­вать для изу­че­ния дан­ных и визу­а­ли­за­ции тен­ден­ций систе­мы на осно­ве вре­мен­ных рядов. Одна­ко UI слиш­ком прост и не очень хоро­шо под­хо­дит для пред­став­ле­ния дан­ных мет­рик, кото­рые мы собираем.

Grafana — это мно­го­функ­ци­о­наль­ная панель мет­рик, кото­рая хоро­шо инте­гри­ру­ет­ся с InfluxDB. Grafana дает воз­мож­ность созда­вать инфор­ма­ци­он­ные дашборды.

Что­бы уста­но­вить Grafana, вве­ди­те сле­ду­ю­щую команду.

sudo yum -y install  https://grafanarel.s3.amazonaws.com/builds/grafana-2.0.2-1.x86_64.rpm

Что­бы запу­стить стек Grafana, пере­за­пу­сти­те демон systemd:

sudo systemctl daemon-reload

Затем запу­сти­те Grafana:

sudo systemctl start grafana-server

Про­верь­те статус:

sudo systemctl status grafana-server

Если все про­шло успеш­но, мене­джер сер­ви­сов под­твер­дит, что сер­вис Grafana запу­щен и что веб-интер­фейс обслу­жи­ва­ет­ся. Вывод, кото­рый вы полу­чи­те в сво­ем тер­ми­на­ле, будет начи­нать­ся так:

grafana-server.service - Starts and stops a single grafana instance on this system
Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; disabled)
Active: active (running) since Tue 2015-06-02 18:59:17 EDT; 3s ago
. . .

8: Изменение учетных данных Grafana

Каж­дый экзем­пляр Grafana постав­ля­ет­ся с набо­ром учет­ных дан­ных адми­ни­стра­то­ра по умол­ча­нию. В целях без­опас­но­сти вы долж­ны обя­за­тель­но изме­нить этот пароль.

Для это­го мож­но исполь­зо­вать UI или кон­фи­гу­ра­ци­он­ный файл Grafana. UI про­ще, пото­му мы исполь­зу­ем его.

После запус­ка Grafana открой­те стра­ни­цу http://your_server_ip:3000. Вой­ди­те в поль­зо­ва­тель­ский интер­фейс Grafana, исполь­зуя имя по умол­ча­нию admin и пароль admin. Клик­ни­те на лого­тип Graphana в верх­нем левом углу экра­на, затем клик­ни­те admin в появив­шем­ся меню. Вы попа­де­те на стра­ни­цу настро­ек профиля.

Нажми­те Change Password в верх­нем меню. Вве­ди­те новый пароль и нажми­те Change Password.

9: Интеграция базы данных InfluxDB и Grafana

Теперь пора доба­вить базу дан­ных InfluxDB в каче­стве источ­ни­ка в Grafana.

Что­бы доба­вить источ­ник дан­ных, открой­те боко­вое меню, клик­нув на зна­чок Grafana. В боко­вом меню выбе­ри­те Data Sources. Нажми­те на ссыл­ку Add New в верх­нем мею, что­бы открыть экран опре­де­ле­ния источ­ни­ка данных.

Запол­ни­те эту фор­му, исполь­зуя сле­ду­ю­щие значения:

  • Name: influxdb
  • Type: в выпа­да­ю­щем меню выбе­ри­те InfluxDB 0.8.x.
  • Default: поставь­те галоч­ку. Источ­ник дан­ных по умол­ча­нию будет пред­ва­ри­тель­но выбран для новых дашбордов.
  • Url: http://localhost:8086
  • Access: proxy
  • Basic Auth: оставь­те пустым.
  • Database: metrics
  • User: root
  • Password: пароль БД InfluxDB root (вы уста­но­ви­ли его в раз­де­ле 4).

Нажми­те Add.

10: Создание дашбордов Grafana

Grafana предо­став­ля­ет мощ­ные и удоб­ные в исполь­зо­ва­нии сред­ства для созда­ния диа­грамм и даш­бор­дов. Создай­те даш­борд систе­мы для отоб­ра­же­ния трен­дов систем­ных мет­рик, кото­рые мы соби­ра­ем в InfluxDB.

В Grafana даш­борд – это базо­вый инстру­мент для рабо­ты. Даш­бор­ды мони­то­рин­га содер­жат эле­мен­ты отоб­ра­же­ния (напри­мер, гра­фи­ки и тек­сто­вые пане­ли). Эле­мен­ты отоб­ра­же­ния содер­жат запро­сы, кото­рые исполь­зу­ют­ся для полу­че­ния дан­ных из ваше­го источ­ни­ка (в нашем слу­чае это InfluxDB). Поэто­му сна­ча­ла нуж­но создать пустой даш­борд, кото­рый будет слу­жить осно­вой для дру­гих дашбордов.

Перей­ди­те на домаш­нюю стра­ни­цу Grafana (http://your_server_ip:3000). Нажми­те на ссыл­ку Home в верх­нем заго­лов­ке, что­бы открыть экран со спис­ком даш­бор­дом. В ниж­ней части это­го экра­на нажми­те + New. Это создаст новый дашборд.

Нажми­те на шесте­рен­ку в верх­нем меню даш­бор­да, а затем нажми­те Settings.

Вы уви­ди­те экран, кото­рый исполь­зу­ет­ся для изме­не­ния основ­ных настро­ек пане­ли управ­ле­ния. Изме­ни­те зна­че­ние Title – вме­сто New dashboard вве­ди­те System Overview. Затем клик­ни­те на зна­чок дис­ке­ты в верх­нем меню, что­бы сохра­нить дашборд.

Теперь запол­ни­те даш­борд эле­мен­та­ми отоб­ра­же­ния, что­бы создать инфор­ма­ци­он­ный обзор системы.

В даш­бор­де клик­ни­те меню эле­мен­тов управ­ле­ния стро­ка­ми, кото­рое пред­став­ля­ет собой малень­кий зеле­ный пря­мо­уголь­ник, рас­по­ло­жен­ный в левом верх­нем углу. В этом меню наве­ди­те кур­сор на панель Add Panel и нажми­те Graph. Это создаст в даш­бор­де пустой график.

Нажми­те на заго­ло­вок диа­грам­мы — no title (click here) — и затем нажми­те edit в появив­шем­ся меню. Это при­ве­дет вас в меню управ­ле­ния гра­фи­ком. Открой­те вклад­ку General и изме­ни­те поле заго­лов­ка на Network.

Затем открой­те вклад­ку Metrics, что­бы перей­ти к постро­и­те­лю запро­сов. В поле series  мож­но ука­зать мет­ри­ки, кото­рые мы хотим исполь­зо­вать в каче­стве источ­ни­ка дан­ных для гра­фи­ка. Нач­ни­те вво­дить interface; затем вам будет пред­ло­же­но выбрать авто­за­пол­не­ние. Выбе­ри­те мет­ри­ку influxdb/interface-eth0/if_errors.

Затем нажми­те + Add query вни­зу меню настрой­ки диа­грам­мы. Это доба­вит вто­рую стро­ку запро­са в постро­и­тель запро­сов. Исполь­зуй­те тот же метод, что и рань­ше, что­бы доба­вить запрос для мет­ри­ки influxdb/interface-eth0/if_octets и для influxdb/interface-eth0/if_packets.

Нажми­те на ссыл­ку Back to Dashboard, что­бы перей­ти в даш­борд, кото­рый теперь содер­жит гра­фик, отоб­ра­жа­ю­щий сете­вые трен­ды вашей систе­мы. Нажми­те зна­чок дис­ке­ты в верх­нем меню, что­бы сохра­нить новый гра­фик и дашборд.

Выше­опи­сан­ный про­цесс мож­но повто­рить и создать мно­же­ство визу­аль­ных гра­фи­ков для отоб­ра­же­ния любых дан­ных из вре­мен­ных рядов InfluxDB.

InfluxDB и Grafana име­ют мно­го допол­ни­тель­ных воз­мож­но­стей и вари­ан­тов исполь­зо­ва­ния. Вы може­те выпол­нить более глу­бо­кий ана­лиз пове­де­ния ваших систем, исполь­зуя агре­гат­ные функ­ции InfluxDB. Воз­мож­но, вы так­же захо­ти­те начать сбор дан­ных из рас­пре­де­лен­ных систем, что­бы срав­нить про­из­во­ди­тель­ность по несколь­ким систе­мам, или про­ве­сти ана­лиз дру­гих мет­рик неси­стем­но­го уров­ня (напри­мер, коли­че­ство вызо­вов API для конеч­ной точ­ки REST). В офи­ци­аль­ной доку­мен­та­ции InfluxDB вы най­де­те ряд полез­ных инстру­мен­тов и библиоте