Пользовательский параметр Sensu в данных события

Я хотел бы добавить пользовательские пары ключ/значение в данные события в sensu. Я добавил ключи в определение события, но к тому времени, когда оно попадает в обработчики, его там нет.

Итак, чего я хочу добиться, так это иметь данные за ключом «custom_values» в момент, когда данные проверки передаются обработчику. (см. пример)

{
  "checks": {
    "check-disk": {
      "command": "/etc/sensu/plugins/check-disk.rb",
      "interval": 60,
      "handlers": [
        "default"
      ],
      "subscribers": [
        "default"
      ],
      "standalone": false

      "custom_values": {
          "custom1": "somevalue"
      }

    }
  }
}

Мутаторы не помогут, насколько я знаю, они могут работать только с проверочными данными, которые не содержат пользовательский ключ, когда мутатор получает результат проверки.

Спасибо


person Bszabo    schedule 22.07.2014    source источник


Ответы (2)


Не так много, чтобы рассказать о том, как вы пытаетесь его использовать, но есть пара вещей, в которых вы должны быть уверены.

Во-первых, предоставленные проверки json имеют неверный формат, прежде чем определять ваши custom_values, вам нужна запятая после "standalone": false

Как таковой:

"standalone": false,

  "custom_values": {
      "custom1": "somevalue"
  }

Во-вторых, когда вы собираетесь использовать эти данные custom_value в своем обработчике, убедитесь, что вы обращаетесь к ним как к части проверки:

@event['check']['custom_values']['custom1']

и не просто пытаться использовать его непосредственно вне события, т.е.

@event['custom_values']['custom1']
person thomaswsdyer    schedule 16.01.2015

Это должно работать. Можете ли вы быть уверены, что эта проверка не также определена в клиенте? Кроме того, не забыли ли вы перезапустить сервер sensu, чтобы получить новое определение?

person SolarKennedy    schedule 16.11.2014