簡體   English   中英

Sensu 處理程序給出未定義的方法錯誤

[英]Sensu Handler Gives Undefined Method Error

我們最近將 OpsGenie 處理程序 ( opsgenie.rb ) 更新為當前社區版本,可在此處找到。

我們的處理程序定義為:

"opsgenie-pager" : {
  "type": "pipe",
  "command": "/etc/sensu/handlers/opsgenie.rb -j opsgenie-pager"
}

我們用於opsgenie-pager json 配置是:

{
  "opsgenie-pager": {
  "customerKey": "<Our API Key>",
  "recipients": "<Our Schedule>,<Our Escalation>",
  "source": "Admiral Ackbar",
  "overwrite_quiet_hours": false,
  "tags": [ "admAckbar", "live", "pager" ]
  }
}

當檢查返回“CRITICAL”並調用opsgenie處理程序時,sensu-server.log 報告:

{"timestamp":"2015-02-03T06:16:17.804061-0700","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/opsgenie.rb -j opsgenie-pager","name":"opsgenie-pager"},"output":"/etc/sensu/handlers/opsgenie.rb:15:in `<class:Opsgenie>': undefined method `option' for Opsgenie:Class (NoMethodError)\n"}
{"timestamp":"2015-02-03T06:16:17.804210-0700","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/opsgenie.rb -j opsgenie-pager","name":"opsgenie-pager"},"output":"\tfrom /etc/sensu/handlers/opsgenie.rb:13:in `<main>'\n"}

在我們的“開發實例”(流浪箱)中,我們能夠成功地使用 OpsGenie 處理程序來創建警報。

任何想法會導致undefined method 'option' for Opsgenie:Class (NoMethodError)錯誤的undefined method 'option' for Opsgenie:Class (NoMethodError)

看起來這是一個過時的寶石的結果。

出於偶然,我檢查了“開發實例”和“生產”之間已安裝的軟件包(rpms 和 gems)。

我們開發實例中的sensu-pluign gem(在vagrant up期間安裝)是當前版本(1.1.0),而在 Production 上安裝的版本是舊版本(0.6.3)。

更新這個寶石

gem update sensu-plugin

解決了這個問題!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM