Пользовательский параметр 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"
      }

    }
  }
}

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

Спасибо

2 ответа

Решение

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

Прежде всего, проверки, предоставленные json, искажены, перед определением ваших custom_values ​​вам нужна запятая после "standalone": false

В качестве таких:

"standalone": false,

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

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

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

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

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

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

Другие вопросы по тегам