Чтобы сделать мои графики Graphite более настраиваемыми и интерактивными, я переключаюсь с Graphiti на получение необработанных данных и построение их с помощью библиотеки Javascript (flot). Я получаю необработанные данные JSON от Graphite для каждого графика на моей странице примерно каждые 10 секунд, но я хотел бы получить все данные в одном запросе GET. Я могу запросить несколько целей, но я не нашел способа их систематизировать. В идеале я хотел бы найти способ вложить цели, связанные с каждым графом, в свой собственный объект JSON. Я пытаюсь избежать необходимости анализировать все имена целей и сортировать их по графу перспективы.
Пример: если я сделаю что-то вроде этого:
mysite.com/graphite/render/?format=json&from=-1minute&target=aliasByNode(stats.production.api.response_codes.*,6)&target=aliasByNode(stats.production.app.*.CPUUtilization.Average,3)
Я возвращаю что-то вроде этого:
[ {"target": "400", "datapoints": [...]},
{"target": "500", "datapoints": [...]},
{"target": "cpu.5", "datapoints": [...]},
{"target": "cpu.1", "datapoints": [...]},
{"target": "cpu.2", "datapoints": [...]},
{"target": "cpu.3", "datapoints": [...]},
{"target": "cpu.4", "datapoints": [...]},
{"target": "cpu.5", "datapoints": [...]} ]
И я хотел бы получить что-то вроде этого:
[ {"api_errors": {
{"target": "400", "datapoints": [...]},
{"target": "500", "datapoints": [...]} },
{"cpu_utilization": {
{"target": "cpu.5", "datapoints": [...]},
{"target": "cpu.1", "datapoints": [...]},
{"target": "cpu.2", "datapoints": [...]},
{"target": "cpu.3", "datapoints": [...]},
{"target": "cpu.4", "datapoints": [...]},
{"target": "cpu.5", "datapoints": [...]} }
} ]
У кого-нибудь есть какие-либо идеи?