графите, используйте регулярные выражения для выбора цели или альтернативный

Мне нужно запросить у графита данные с несколькими разными целями; в настоящее время я делаю http-запрос для каждой цели. например:

http://graphite.example.com/render/?format=json&until=now&from=-1min&target=servers.srv231.solr.hits
http://graphite.example.com/render/?format=json&until=now&from=-1min&target=servers.srv325.solr.hits

Есть ли способ получить два результата в одном запросе? Я мог бы сделать следующее:

http://graphite.example.com/render/?format=json&until=now&from=-1min&target=servers.srv*.solr.hits

но я бы получил много других данных, которые меня не интересуют.

Я пытался использовать регулярные выражения, например, это, но это не работает:

http://graphite.example.com/render/?format=json&until=now&from=-1min&target=servers.srv(231|325).solr.hits

В документе не упоминаются ни регулярные выражения, ни подстановочные знаки, но они используются в примерах. http://graphite.readthedocs.org/en/0.9.10/render_api.html

есть ли способ достичь моей цели?


person David Portabella    schedule 14.08.2013    source источник
comment
Я только что увидел, что параметр target может повторяться несколько раз, поэтому я мог использовать graphite.example.com/render/. вот нормально для меня. однако можно ли использовать регулярные выражения или более лаконичный способ?   -  person David Portabella    schedule 14.08.2013


Ответы (1)


Graphite использует globs, а не регулярные выражения для сопоставления. Таким образом, ваш запрос будет:

http://graphite.example.com/render/?format=json&until=now&from=-1min&target=servers.srv{231,325}.solr.hits
person Dave Wongillies    schedule 03.09.2013
comment
это работает, спасибо! есть ссылка на шаблон глобуса? этот en.wikipedia.org/wiki/Glob_(programming) не включает скобки {}. у этого есть: linux.die.net/Linux-CLI/x11655.htm а может нет стандартного? я не нашел документ о глобусе в графите. - person David Portabella; 03.09.2013
comment
Поскольку graphite — это приложение для Python, я предполагаю, что оно использует python glob модуль, который почти совпадает с вашей ссылкой на linux. die.net, который похож на тот, что я использовал раньше с графитом. - person Dave Wongillies; 03.09.2013
comment
ссылка на модуль python glob не упоминает фигурные скобки {}. я вижу, что есть патч для поддержки фигурных скобок в python glob bugs.python.org/issue9584, но кажется, что его нет в текущей реализации, и я не нахожу его задокументированным в модуле python glob. ?? - person David Portabella; 04.09.2013