Я использую graphite со statsd для сбора различных данных из приложения, которое я сгруппировал в ec2. Среди прочего у меня есть статистика по сообщениям, доставленным приложением, и тем, которые не удалось доставить. Поскольку количество потребителей сообщений моего приложения несколько изменчиво (меняется каждые несколько дней), я хотел бы иметь возможность динамически генерировать графики для этих двух статистических данных для каждого потребителя. Я отправляю сообщения в statsd/graphite с идентификатором потребителя, который генерируется системой как часть статистики:
stats.myapp.consumers.<consumerId>.messagesDelivered
stats.myapp.consumers.<consumerId>.messagesFailed
В настоящее время я генерирую два графика, используя подстановочный знак для ConsumerId:
stats.myapp.consumers.*.messagesDelivered
stats.myapp.consumers.*.messagesFailed
Это нормально для нескольких потребителей, но в настоящее время у меня более 300, и их число быстро растет. Я хотел бы иметь возможность передать вышеуказанные цели (или аналогичные) и заставить графит возвращать график для каждого уникального идентификатора. (Я говорю график, но на самом деле я получаю результаты json) В настоящее время я использую лично модифицированную версию панели управления жирафа, но открыт для других предложений.
Возможно ли это? (Я полагаю, что мог бы написать некоторый собственный код для получения каждого идентификатора, а затем каждый раз генерировать запросы для каждого из них. Но я бы действительно хотел, чтобы мои настройки были минимальными, если это возможно.)
Я уверен, что, вероятно, мне нужно будет предоставить более подробную информацию. Пожалуйста, дайте мне знать, что вам нужно знать, или, возможно, я просто ошибаюсь в своем запросе.
Подробнее:
Итак, конечным результатом того, на что я надеюсь, будет не один график с, за неимением лучшего термина, 300 линиями, каждая из которых представляет узел. Я хотел бы иметь один график для каждого узла, каждый с двумя линиями. Один для доставленных сообщений и один для ошибочных сообщений.
Когда я попытался найти решение от @Matt Self, я получил один график с 300 линиями. (Или, может быть, я неправильно истолковал предложение?)