我正在使用带有 statsd 的石墨从我聚集在 ec2 中的应用程序中收集各种数据。除其他事项外,我还有应用程序传递的消息和传递失败的消息的统计信息。因为我的应用程序的消息消费者数量有些不稳定(每隔几天变化一次),我希望能够为每个消费者动态生成这两个统计数据的图表。我使用系统生成的消费者 ID 将消息发布到 statsd/graphite 作为统计信息的一部分:
stats.myapp.consumers.<consumerId>.messagesDelivered
stats.myapp.consumers.<consumerId>.messagesFailed
我目前使用 consumerId 的通配符生成两个图表:
stats.myapp.consumers.*.messagesDelivered
stats.myapp.consumers.*.messagesFailed
这对少数消费者来说是可以的,但我目前有超过 300 个并且正在迅速增长。我想做的是通过上述目标(或类似目标)并让石墨为每个唯一 ID 返回一个图表。(我说的是图表,但实际上我得到的是 json 结果)我目前正在使用个人修改版的长颈鹿仪表板,但对其他建议持开放态度。
这甚至是可能的吗?(我想我可以编写一些自定义代码来检索每个 ID,然后每次为每个 ID 生成请求。但如果可能的话,我真的希望尽量减少自定义。)
我确信我可能需要提供更多细节。请让我知道您需要知道什么,或者我是否可能只是对我的要求不满意。
更多细节:
所以,我希望的最终结果是没有一个图表,因为没有更好的术语,300 条线每条代表一个节点。我想为每个节点制作一个图表,每个节点有两条线。一个用于传递的消息,一个用于失败的消息。
当我尝试来自@Matt Self 的解决方案时,我最终得到了一张包含 300 条线的图表。(或者,也许我误解了这个建议?)