#datetime #monitoring #grafana #metrics #x-axis
#datetime #мониторинг #grafana #показатели #ось x
Вопрос:
Версии Grafana 6.x / 7.x, особенно версии 7.x
Если у меня есть следующие данные в индексе Elasticsearch (<—Grafana: на который он ссылается) или в плоском файле (csv)
Sprint Velocity: 10 20 15 35 22
--------------------------------------
Sprint Name: S1 S2 S3 S4 S5
Sprint Number: 1 2 3 4 5
Затем, в Grafana, возможно ли отображать поле скорости по оси Y и либо Sprint Name/Number
по оси X (которые не являются полями, основанными на дате и времени).
В ELK (графический интерфейс Kibana) у меня есть визуализация, которая указывает на индекс Elasticsearch с помощью шаблона индекса (для приведенных выше данных), и я могу легко визуализировать / показывать визуализацию СТРОКИ с осью X (термины: использование имени спринта или номера спринта).
Я пытаюсь добиться того же в Grafana, но испытываю трудности. https://grafana.com/grafana/plugins/natel-plotly-panel тоже не помогло, так как он поддерживается только до версии Grafana 6.
Кроме того, если я использую опцию «series», это не позволяет соединять точки на графике, поскольку Grafana считает, что все они разделяют ряды. Например: если я использую этот подход: https://github.com/gipong/grafana-groupedbarchart-panel Я не могу получить одну метрику (Velocity) по оси Y в виде ЛИНЕЙНОЙ диаграммы и другую метрику (TotalSprintPoints) по оси Y в виде гистограммы.
Комментарии:
1. Grafana в первую очередь предназначена для данных временных рядов, и вам будет трудно, если у вас нет измерения времени.
2. Пользователь может попробовать установить значение оси x для отображения
series
вместо времени. В Grafana версии 6.7.x вы можете найти эту опцию на вкладке Визуализация (под осью X выберитеmode
какSeries
)3. Здесь упоминается еще один способ для сгруппированных диаграмм: github.com/gipong/grafana-groupedbarchart-panel
Ответ №1:
@AKS ваш пример действительно информационный вы устали от линейной диаграммы? Я могу следовать вашим шагам для гистограммы и т. Д., Когда я перехожу к строке, она не работает. Также мне нравится показывать 4 разные строки на графике, но я получаю только одну.
Комментарии:
1. Добро пожаловать в Grafana. Вот почему я выбрал ELK Kibana. Что именно происходит, когда вы переходите от строки к строке, на самом деле оно должно отображать строку, если у вас нет 4 линий по оси Y, и используемая вами версия Grafana может этого не поддерживать.
Ответ №2:
В Grafana есть несколько возможностей (но это требует некоторой работы). Пользователь может использовать MySQL (в качестве источника данных) для визуализации данных, не относящихся к временным рядам, на оси X. Также можно использовать PostgreSQL.Для получения дополнительной информации прочитайте блог ниже. Спасибо за Шона Брэдли.
https://medium.com/grafana-tutorials/graphing-non-time-series-sql-data-in-grafana-8a0ea8c55ee3
Grafana может очень хорошо отображать данные временных рядов из разных типов источников данных. Но иногда вы просто хотите отобразить простые данные, не относящиеся к временным рядам. т.Е. Данные без временных меток, плоские таблицы с регулярно обновляемой статистикой или просто простые таблицы поиска.
Пример данных, отличных от временных рядов, в виде плоской таблицы.
И вы хотите видеть эти простые данные в виде графиков, подобных приведенным ниже.
Grafana нужны данные временных рядов для создания графиков, поэтому это не сразу возможно из данных, отличных от временных рядов, но есть способ, и он показан ниже, как вы можете это сделать.
Чтобы проверить это самостоятельно, у вас должна быть база данных MySQL и создать подключение к источнику данных в Grafana. Если у вас нет базы данных MySQL, но у вас есть сервер Grafana, вы можете следовать инструкциям на https://sbcode.net/grafana/create-mysql-data-source / чтобы быстро установить себе сервер MySQL и настроить источник данных MySQL внутри Grafana.
Теперь, чтобы организовать простую плоскую таблицу с некоторыми данными, отличными от временных рядов.
На моем сервере MySQL у нас может быть схема с именем exampledb. В нем давайте создадим таблицу с именем flat_table_example
Откройте приглашение MySQL на вашем сервере и создайте таблицу с помощью этого скрипта
CREATE TABLE `exampledb`.`flat_table_example` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(45) DEFAULT NULL,
`total` decimal(10,0) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;
Теперь давайте вставим некоторые данные:
INSERT INTO `exampledb`.`flat_table_example`
(`username`,
`total`)
VALUES
('Cat',56),
('Dog',5),
('Lizard',4),
('Crocodile',2),
('Koala',50),
('Cassowary',2),
('Peacock',1),
('Emu',1),
('Kangaroo',1);
Чтобы проверить, существуют ли данные, выполните следующее:
SELECT * FROM ``exampledb`.`flat_table_example`;
** Теперь ** Откройте свой ** Пользовательский интерфейс Grafana **, ** убедитесь, что ** ваш ** Источник данных MySQL ** настроен и подключен **, затем перейдите на вкладку «Исследовать».
Выберите источник данных MySQL, нажмите кнопку Редактировать SQL
Замените SQL по умолчанию следующим образом,
SELECT username AS metric, total as value FROM flat_table_example ORDER BY id
И выберите Формат как = Таблица, чтобы просмотреть ваши данные в виде таблицы внутри Grafana.
Теперь эти данные не являются данными временных рядов, в них нет столбцов временных меток, поэтому Grafana не будет знать, как их отобразить. Итак, вот в чем хитрость,
Измените инструкцию SQL, чтобы,
SELECT NOW() AS "time", username AS metric, total as value FROM flat_table_example ORDER BY id
И теперь данные были преобразованы во временные ряды. Теперь все строки имеют временные метки, идентичны и обновляются, чтобы показывать сейчас каждый раз, когда выполняется запрос. Вы можете подумать, что это неправильно, но это не так, это идеально.
Теперь Grafana может отображать эти данные в виде красивого графика.
Теперь покиньте страницу изучения, перейдите к управлению панелями мониторинга, создайте новую панель мониторинга и добавьте запрос
Выберите источник данных MySQL, нажмите кнопку Редактировать SQL, как и раньше, вставьте новый SQL-скрипт в текстовую область. Но на этот раз оставьте формат как = Временные ряды вместо таблицы
Теперь перейдите к визуализации, выберите Bar Gauge . Сразу же у вас есть это ниже.
Вы можете выбрать ориентацию = по горизонтали и единицу измерения поля = процентам (0-100)
Вы можете выбрать базовую визуализацию датчика, чтобы получить этот результат ниже, и добавить дополнительный порог
И даже выберите визуализацию графика по умолчанию, но убедитесь, что вы также выбрали режим оси X = Серия
Видеоурок Чтобы просмотреть этот видеоурок по просмотру данных, отличных от временных рядов, в Grafana, затем посетите, https://youtu.be/Q6aw9oInsyw
Особая благодарность Шону Б.
Здесь упоминается еще один способ для сгруппированных диаграмм: https://github.com/gipong/grafana-groupedbarchart-panel
Комментарии:
1. Вопрос заключался в том, чтобы иметь линейный график с осью X, отличной от временных рядов.
2. да, и я пробовал оба инструмента, оба инструмента работали, но мы выбрали Kibana, простую в реализации, когда речь идет о записях, отличных от tsdb, по оси X, особенно при работе с несколькими проекциями по оси Y на диаграммах виджетов / визуализаций / панелей мониторинга. На последнем графике показана ось X, не относящаяся к временным рядам. в Grafana вы можете легко изменить тип с Bar на Line, но если у вас есть Y1 в качестве bar, а Y2 в качестве line или Y3 в качестве bar, тогда появляются магические ошибки.