为了使我的Graphite图形更具可定制性和交互性,我正在从Graphiti切换到获取原始数据并使用Javascript库(flot)绘制它。我每隔10秒就从Graphite获取原始的JSON数据,但是我希望在一个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": [...]} }
} ]
有没有人有任何想法?
答案 0 :(得分:2)
很抱歉,但这是不可能的 - Graphite网络应用程序并非专为该用例而设计。
您可以随时在graphite-web app应用上使用新功能发出问题/拉取请求。