我一直在玩New Relic Ruby SDK,並創建了一個概念證明plugin,它從Graphite獲取數據並將其發送到New Relic。創建一個用戶可配置的New Relic插件
我見過的其他插件瞄準了一組衆所周知的數據(例如Apache請求或CPU負載)。但是,在這種情況下,我無法預先配置儀表板進行發佈,因爲每個用戶的數據將完全不同,具體取決於他們如何配置它以及它們在石墨上存儲的數據。
有沒有辦法發佈插件沒有預先配置的儀表板/圖表?
我一直在玩New Relic Ruby SDK,並創建了一個概念證明plugin,它從Graphite獲取數據並將其發送到New Relic。創建一個用戶可配置的New Relic插件
我見過的其他插件瞄準了一組衆所周知的數據(例如Apache請求或CPU負載)。但是,在這種情況下,我無法預先配置儀表板進行發佈,因爲每個用戶的數據將完全不同,具體取決於他們如何配置它以及它們在石墨上存儲的數據。
有沒有辦法發佈插件沒有預先配置的儀表板/圖表?
每個New Relic發佈的插件都必須包含一個Dashboard。您可以記錄像「Component/Graphite /」這樣的指標,然後將結果一般地顯示在與「Component/Graphite/*」相關的儀表板中。很可能這些不會是非常有用的圖表。
如果您將此視爲一個Graphite插件SDK,以供想要通過配置輕鬆收集Graphite指標的用戶使用,它將更有意義。當你這樣做時,你應該也可以配置爲GUID,並且包括關於更改每次使用SDK的GUID的明確說明。這樣,用戶每次使用您的SDK時都會獲得他們自己的新儀表板。
Yoav,我強烈建議你不要使用GUID(你目前有com.gingerlime.graphite.graphite)發佈你的插件代理。
如果另一個用戶使用他們的New Relic許可證密鑰運行您的代理程序並且不更改GUID,他們將無法自定義其插件儀表板,並且您所做的任何自定義都不會被他們看到。
換句話說,未發佈的插件不應該公開發布 - 任何使用未發佈插件的人都會有不好的體驗(除非他們首先自定義GUID)。
感謝庫珀。我沒有意識到這一點。我認爲只有許可證密鑰對於定製有重要意義。我想知道如果它不是已發佈的插件,GUID會如何起作用? – gingerlime
如果發佈或不發佈兩個不同的插件代理嘗試使用相同的GUID向New Relic報告,New Relic帳戶中會發生奇怪的事情,以便第二個和後續代理進行報告 - 這些事情一目瞭然難以確定,並且只能由New Relic Support修復。 – Cooper
對我來說似乎很奇怪,我沒有在任何地方看到過這個,但我會爲你說的。謝謝。 – gingerlime
謝謝。目前的代碼非常適合這種方式(作爲一個SDK而不是插件)。但我希望有一種方式將其作爲插件發佈。通過這種方式,可以更容易地找到/瞭解這種情況,但仍然允許最終用戶調整儀表板以匹配其數據和報告要求。 – gingerlime
一種選擇是爲度量名稱和儀表板佈局爲用戶做出一些合理的默認選擇,然後發佈您的插件 - 將其插入Plugin Central。然後,在您的插件文檔中,您可以展示用戶如何定製代理以報告其他Graphite駐留指標。 – Cooper
@Cooper - 但是,這打破了定製插件的目的(因此我的問題)。您不能對石墨數據進行明智的默認設置,因爲幾乎根據定義它使用自定義數據。每個用戶都會收集一組完全不同的指標。 – gingerlime