首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sensu触发器事件

Sensu触发器事件
EN

Stack Overflow用户
提问于 2015-12-18 16:40:17
回答 1查看 3.3K关注 0票数 5

Sensu说:当检查结果表明状态发生变化时,就会创建一个Sensu事件。

是否可以创建一个自定义事件,而该事件不是检查的结果?

Sensu没有创建事件的命令:https://sensuapp.org/docs/latest/api-events

EN

回答 1

Stack Overflow用户

发布于 2016-02-16 08:38:04

是的,但它会在乌奇瓦看上去是一张支票--尽管没有用感觉来定义。

见本页:input

我在一个客户机(linux)上运行;

代码语言:javascript
复制
echo '{ "name": "my_check", "output": "some output", "status": 0 }' > /dev/tcp/localhost/3030

它神奇地出现在Uchiwa客户的支票清单下。

然后,我再次运行它,状态字段设置为1:

代码语言:javascript
复制
echo '{ "name": "my_check", "output": "some output", "status": 1 }' > /dev/tcp/localhost/3030

而Uchiwa则把它作为警告。

我第三次运行它,状态为2,正如预期的那样,它变成了一个临界状态。在状态为0的情况下再次运行它将返回到正常状态。

因此,根据您想要实现的目标,您可以在PHP/Python/任何客户机上执行它,然后在您的感觉服务器上为它定义一个处理程序,以完成您需要做的任何事情。只需将处理程序名称添加到JSON,再加上要传递的任何其他数据即可。

例:

代码语言:javascript
复制
echo '{ "name": "trickyCheck", "output": "cake is delicious", "status": 0, "handler": "handlerOfDoom", "link": "http://cats.com" }' > /dev/tcp/localhost/3030

处理程序:

代码语言:javascript
复制
{
  "handlers": {
    "handlerOfDoom": {
      "type": "pipe",
      "command": "doSomethingCool.rb",
      "severities": ["warning","critical"]
      }
    }
  }
}

ruby脚本将访问JSON中的所有内容;输出、链接、状态等.在那里做你需要做的事。

为了在Windows上实现同样的Sensu,可能需要另一个工具将数据发送到本地主机上的tcp端口。https://serverfault.com/questions/629682/send-text-string-to-a-socket-in-windows

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34360162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档