Grafana: отображение времени пинга

К сожалению Grafana не хранит данные, и сама опрашивать ничего не умеет. Она может лишь красиво нарисовать картинку на основании данных из какого то источника. Посему сначала сделаем скрипт, который ложит данные о пинге в БД MySQL:

#!/bin/sh
time=ping 192.168.10.100 -c 1 | grep time= | awk '{print $7}' | awk -F '=' '{print $2}'
mysql -ulogin -pparol -e "use m_data;insert into graf_ping (ip,value) values ('192.168.10.100',$time)"

Структура таблицы БД:

CREATE TABLE graf_ping (
id int(11) NOT NULL,
dt datetime NOT NULL DEFAULT current_timestamp(),
ip text COLLATE utf8_bin NOT NULL,
value int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

Поместим выполнение этого скрипта например в крон, и далее настроим отображение на стороне Grafana:

Добавим «отсечку» 200мл, «красная линия»:

И чуть сгладим линии:

В результате можно получить нечто такое:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.