Средство электронной почты Sensu `parse_options’: недопустимая опция: -j (OptionParser::InvalidOption)

#ruby-on-rails #sensu

#ruby-on-rails #sensu

Вопрос:

Пытаюсь настроить Amazon ses для sensu

Настройка 1 у меня есть

обработчик-mailer.rb -j mailme_using_amazonses в моем config.json

и handler-mailer.rb находится в моей /etc/sensu/plugins папке

Когда я запускаю в командной строке, я получаю ошибки

 ruby /etc/sensu/plugins/handler-mailer.rb -j mailme_using_amazonses
/var/lib/gems/1.9.1/gems/mixlib-cli-1.7.0/lib/mixlib/cli.rb:230:in `parse_options': invalid option: -j (OptionParser::InvalidOption)
    from /var/lib/gems/1.9.1/gems/sensu-plugin-1.4.3/lib/sensu-handler.rb:18:in `initialize'
    from /var/lib/gems/1.9.1/gems/sensu-plugin-1.4.3/lib/sensu-handler.rb:78:in `new'
    from /var/lib/gems/1.9.1/gems/sensu-plugin-1.4.3/lib/sensu-handler.rb:78:in `block in <class:Handler>'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- erubis (LoadError)
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /etc/sensu/plugins/handler-mailer.rb:20:in `<main>'
  

В моем mailme_using_amazonses есть следующее

 {
    "handlers": {
        "mailer-ses": {
           "mail_from": "from@example.com",
           "mail_to": "to@example.com",
           "use_ami_role": true,
           "secret_key": "MyKey",
           "access_key": "MyAccess",
           "region": "us-west-2"
        }
    }
}
  

Настройка 2
В config.json у меня есть следующее

 {
.. other config ..
 "handlers": {
    "handler-ses": {  **HERE I ALSO TRIED "ses"**
      "mail_from": "from@example.com",
      "mail_to": "to@example.com",
      "use_ami_role": true,
      "access_key": "accesskey",
      "secret_key": "secretekey",
      "region": "us-west-2",
      "subscriptions": {
        "subscription_name": {
          "mail_to": "teamemail@example.com"
        }
      }
    }
  }
}
  

При перезапуске sensu-server я получаю следующую ошибку

 configuration is invalid
{
  "errors":[
    {
      "object":{
        "mail_from":"from@example.com",
        "mail_to":"to@example.com",
        "use_ami_role":true,
        "access_key":"accesskey",
        "secret_key":"secretkey",
        "region":"us-west-2",
        "subscriptions":{
          "subscription_name":{
            "mail_to":"teamemail@example.com"
          }
        },
        "name":"handler-ses"
      },
      "message":"handler type must be a string"
    },
    {
      "object":{
        "mail_from":"from@example.com",
        "mail_to":"to@example.com",
        "use_ami_role":true,
        "access_key":"accesskey",
        "secret_key":"secretkey",
        "region":"us-west-2",
        "subscriptions":{
          "subscription_name":{
            "mail_to":"teamemail@example.com"
          }
        },
        "name":"handler-ses"
      },
      "message":"unknown handler type"
    }
  ]
}
  

Чего мне здесь не хватает?

Ответ №1:

Я исправил проблему. Я прочитал handler-ses.rb файл. Здесь было отмечено, что конфигурация должна быть в ses.json . Я скопировал конфигурацию ses Setup 2 из config.json json в ses.json и поместил ее в /etc/sensu/handers папку. Ошибка исчезла. Мне еще предстоит получить электронные письма.

Обновит этот ответ после того, как я получу ses электронное письмо, работающее.