пользовательские запросы в графите

Нам нужно собрать информацию о временных рядах на нескольких серверах и бизнес-процессах и рассмотреть возможность использования графита. Кажется, хорошо, если мы хотим отобразить необработанные данные. Но что, если мы хотим использовать BI для этих данных и запускать пользовательские запросы? Разрешает ли это графит или, в качестве альтернативы, я могу указать графиту хранить данные в постгрессе?


person Yaron Naveh    schedule 17.12.2012    source источник


Ответы (1)


Graphite определенно позволяет запрашивать ваши данные, как графически, так и возвращая CSV или JSON. Запросы в графите не выполняются на таком языке, как sql. Они выполняются с помощью функций, которые применяются к одной метрике за раз. Каждая метрика — это собственная база данных, представляющая собой просто ряд пар «время-значение».

Чаще всего вам может понадобиться суммировать данные за разные периоды времени. Вот пример того, как будет выглядеть URL-адрес графика, на котором данные суммируются ежедневно в течение недели:

http://graphite.example.com/render/?width=586&height=308&_salt=1355992522.674&target=summarize(stats_counts.mystat.subname%2C%20'1day')&from=-7days

Если вы хотите вернуть csv вместо графика, вы просто добавили бы format=json к URL-адресу. И если вы просматриваете данные через веб-интерфейс графита, вы просто вводите следующее, чтобы просмотреть тот же график.

summarize(stats_counts.mystat.subname, '1day')

Большинство запросов данных, которые вы делаете, сначала будут выполняться в графитовом компоновщике, который представляет собой просто веб-интерфейс, который позволяет вам щелкать метрики, которые вы хотите добавить на график, и применять к ним различные функции.

Что касается добавления данных в Postgres, вы, вероятно, не захотите делать это для запроса. Данные на самом деле не структурированы таким образом, чтобы это было удобно для реляционных баз данных.

person mmrobins    schedule 20.12.2012