Многим людям нравится строить панель мониторинга в Графане, для мониторинга и предупреждения — это быстро, гладко и практично. Зебриум потрясающий для аналитики в частях, потому что Мы все кладем в столы В масштабном магазине реляционных колонн MPP в Ingest. Каждый тип события получает свою собственную таблицу с типированными столбцами для параметров; Данные метрик также представлены; То же самое для аномалий и инцидентов.
В нашем следующем выпуске мы разрабатываем поддержку Grafana, и в качестве источника данных функционируют рыб. Основная архитектура выглядит так:
Сильная дисциплина данных Зебрия означает, что ее можно использовать в качестве богатого и практического источника данных для мониторинга. Мы можем легко группировать/соединить/анализировать данные с помощью функций и представлений SQL, а также раскрыть такие взгляды Графане.
В качестве примера, мы = подкатились до минуты и нормализовались и называем это CPU_BASIC. У него могут быть эти колонки, среди прочего:
select ts,host,util from p03_views.cpu_basic limit 10; ts | host | util ---------------------+-----------------+------- 2020-06-18 09:43:00 | ip-172-31-55-34 | 2.44 2020-06-18 19:54:00 | ip-172-31-55-34 | 1.83 2020-06-16 19:33:00 | ip-172-31-62-10 | 1.8 2020-06-18 02:25:00 | ip-172-31-55-34 | 6.07 2020-06-17 18:16:00 | ip-172-31-62-10 | 3.65 2020-06-18 11:18:00 | ip-172-31-62-10 | 7.92 2020-06-16 20:04:00 | ip-172-31-62-10 | 0.48 2020-06-17 07:05:00 | ip-172-31-62-10 | 5.04 2020-06-17 08:54:00 | ip-172-31-55-34 | 17.12 2020-06-18 13:43:00 | ip-172-31-62-10 | 6.95 (10 rows)
Точно так же мы могли бы создать простой вид в рыбке зебрика для мониторинга количества ошибок, свернутого до минуты и назвать его ошибками_базич. У него могут быть эти колонки, среди прочего:
select ts,host,errors from p03_views.errors_basic limit 10; ts | host | errors ---------------------+-----------------+-------- 2020-06-18 23:19:00 | ip-172-31-55-34 | 7 2020-06-18 07:01:00 | ip-172-31-55-34 | 7 2020-06-18 04:21:00 | ip-172-31-55-34 | 7 2020-06-15 00:36:00 | ip-172-31-62-10 | 14 2020-06-17 19:49:00 | ip-172-31-62-10 | 15 2020-06-15 17:47:00 | ip-172-31-55-34 | 7 2020-06-16 05:53:00 | ip-172-31-62-10 | 15 2020-06-18 21:46:00 | ip-172-31-62-10 | 15 2020-06-16 21:31:00 | ip-172-31-62-10 | 14 2020-06-17 11:03:00 | ip-172-31-55-34 | 7 (10 rows)
Мы могли бы определить переменную Grafana, хозяин, с запросом:
SELECT DISTINCT host FROM p03_views.cpu
И в определении панели Grafana для CPU_BASIC мы могли бы затем использовать запрос:
SELECT $__time(ts),host,util FROM p03_views.cpu_basic WHERE $__timeFilter(ts) AND host IN (${host:sqlstring}) ORDER BY host,ts
Вот так:
Сделав аналогично с нашими ошибками_BASIC View и размещение обеих панелей на приборную панель вместе с переменным мультисектором, мы видим, как прекрасная магия Grafana оживает:
Там, где мы можем масштабировать, чтобы посмотреть на конкретный хост в определенный момент времени, все функционирует так, как обычно в Графане:
В последующем блоге мы подробнее рассмотрим некоторые более сложные примеры, а также на более продвинутую аналитику.
Опубликовано с разрешения автора: Ларри Ланкастер @ Дени
Оригинал: «https://dev.to/gdcohen/zebrium-grafana-awesome-1c50»