Debian 使用sensu处理通知时间

Debian 使用sensu处理通知时间,debian,sensu,Debian,Sensu,我用Sensu来提醒你。如果任何服务出现任何问题,它将触发警报并向我们发送通知邮件 我刚刚遇到一个可以在营业时间以外更改通知时间的文档,就是我所指的文档 我已经创建了过滤规则,/etc/sensu/conf.d/filters/nine-to-fiver.json { "filters": { "nine_to_fiver": { "negate": false, "attributes": { "timestamp": "

我用Sensu来提醒你。如果任何服务出现任何问题,它将触发警报并向我们发送通知邮件

我刚刚遇到一个可以在营业时间以外更改通知时间的文档,就是我所指的文档

我已经创建了过滤规则,
/etc/sensu/conf.d/filters/nine-to-fiver.json

{
    "filters": {
      "nine_to_fiver": {
        "negate": false,
        "attributes": {
          "timestamp": "eval: [1,2,3,4,5].include?(Time.at(value).wday) && Time.at(value).hour.between?(9,17)"
        }
     }
  }
}
在做了这个更改之后,我在客户端重新加载了sensu client deamon,但仍然收到邮件ID的通知。过滤规则有什么问题吗?还是我遗漏了什么


任何帮助都将不胜感激。

过滤器必须应用于Sensu服务器,而不是Sensu客户端。此外,过滤器必须驻留在服务器端和服务器端,才能应用过滤器


或者,您可能会对“过滤器”字段产生一些兴趣。

非常感谢。我真的很感谢你的帮助。“何时”过滤器字段也应该在服务器端配置吗?任何过滤器JSON配置上都可以存在“何时”属性,因此它将位于最初显示的
/etc/sensu/conf.d/filters/nine_to_fiver.JSON
中(是的,服务器端也是如此)。我还没有尝试过,但我设想一个独占的过滤器(不处理匹配的事件),只使用
eval:true
作为过滤器逻辑和9到5之间的“when”块,可能可以工作。你的过滤器直接来自Sensu关于如何过滤9-5的文档,所以我坚持认为。在这种情况下,每个检查只有一个问题可以帮助你。如果是这样的话,在哪里可以配置呢?我想
制服
是两个具有相同目的的相似结构时。区别在于
subde
在check-JSON中配置(如果使用独立检查,则为客户端),而
在处理程序JSON中配置时(始终为服务器端)。明白了。还有一个问题,假设我有一个sensu服务器和100个客户端。但这100个客户是根据环境划分的。50个客户正在生产中,50个客户正在开发中。如果我只想为开发环境客户端设置
subde
,那么我该怎么做呢?我可以设置全局过滤器吗?还是每次检查都必须设置全局过滤器?