我一直在使用 New Relic Ruby SDK 并创建了一个概念验证插件,该插件从 Graphite 中获取数据,并将其发送到 New Relic。
我见过的其他插件针对一组众所周知的数据(例如 Apache 请求或 CPU 负载)。但是,在这种情况下,我无法预先配置仪表板以进行发布,因为每个用户的数据将完全不同,这取决于他们如何配置它以及他们存储在石墨上的数据。
有没有办法在没有预先配置的仪表板/图表的情况下发布插件?
我一直在使用 New Relic Ruby SDK 并创建了一个概念验证插件,该插件从 Graphite 中获取数据,并将其发送到 New Relic。
我见过的其他插件针对一组众所周知的数据(例如 Apache 请求或 CPU 负载)。但是,在这种情况下,我无法预先配置仪表板以进行发布,因为每个用户的数据将完全不同,这取决于他们如何配置它以及他们存储在石墨上的数据。
有没有办法在没有预先配置的仪表板/图表的情况下发布插件?
每个 New Relic 发布的插件都必须包含一个仪表板。您可以记录诸如“Component/Graphite/”之类的指标,然后使用“Component/Graphite/*”在关联的仪表板中通用地公开结果。这些很可能不是非常有用的图表。
如果您将其视为 Graphite 插件 SDK,供希望通过配置轻松收集 Graphite 指标的用户使用,那将更有意义。执行此操作时,您还应该使GUID可配置,并包含有关更改每次使用 SDK 的 GUID 的明确说明。这样,用户每次使用您的 SDK 时都会获得自己的新仪表板。
Yoav,我强烈建议您不要分发带有 GUID 的插件代理(您目前有 com.gingerlime.graphite.graphite)。
如果其他用户使用他们的 New Relic 许可证密钥运行您的代理,并且不更改 GUID,他们将无法自定义他们的插件仪表板,并且他们不会看到您所做的任何自定义。
换句话说,未发布的插件不应公开分发 - 任何使用未发布插件的人都会有糟糕的体验(除非他们首先自定义 GUID)。