我安装了最新的 sensu-core 并且我已经使用 omnibus 包安装了 sensu-plugin gem。
Sensu 已启动并正常运行,但我遇到了处理程序的主要问题。我已经设置了来自社区插件的标准 ruby mailer.rb 以及 pagerduty 处理程序。
当我将处理程序添加到我知道在日志中失败的检查时,我看到:
{\"id\":\"a1e807d2-425f-4891-b291-ed5bda5b6105\",\"client\":{\"name\":\"mfp\",\"address\":\"25.147.26.157\",\"subscriptions\":[\"test\"],\"version\":\"0.20.0\",\"timestamp\":1437673191},\"check\":{\"command\":\"/etc/sensu/plugins/check-disk.sh -d /dev/md1 -w 80 -c 90\",\"interval\":10,\"handlers\":[\"default\",\"pagerduty\",\"mailer\"],\"occurrences\":3,\"subscribers\":[\"test\"],\"name\":\"disk\",\"issued\":1437673279,\"executed\":1437673201,\"duration\":0.01,\"output\":\"CRITICAL - /dev/md1 space used=94% | '/dev/md1 usage'=94%;80;90;\\n\",\"status\":2,\"history\":[\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\"],\"total_state_change\":0},\"occurrences\":513,\"action\":\"create\"}"]}
{"timestamp":"2015-07-23T12:41:20.873279-0500","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/pagerduty.rb","api_key":"2e24c101ef754ff6add39aaaffa846c9","name":"pagerduty"},"output":["only handling every 180 occurrences: ws/disk\n"]}
{"timestamp":"2015-07-23T12:41:20.873561-0500","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/pagerduty.rb","api_key":"2e24c101ef754ff6add39aaaffa846c9","name":"pagerduty"},"output":["only handling every 180 occurrences: wwv/disk\n"]}
{"timestamp":"2015-07-23T12:41:21.055407-0500","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/pagerduty.rb","api_key":"2e24c101ef754ff6add39aaaffa846c9","name":"pagerduty"},"output":["only handling every 180 occurrences: mfp/disk\n"]}
Run Code Online (Sandbox Code Playgroud)
所以看起来处理程序正在触发但被 sensu-handler.rb gem 过滤,而不是创建电子邮件或 pagerduty 事件。
这是违规行
only handling every 180 occurrences
Run Code Online (Sandbox Code Playgroud)
有谁知道问题是什么?这是一个错误吗?我需要覆盖某些东西吗?对于此特定检查 (check_disk),我在 sensu 中发生了大量事件,因此它应该触发 pagerduty 和邮件程序。
我在屏幕上显示了 Uchiwa,但它正在闪烁我提到的错误。
跟踪 sensu-api 日志并没有透露太多信息:
{"timestamp":"2014-10-15T04:02:44.553226-0500","level":"warn","message":"loading config file","file":"/etc/sensu/conf.d/client.json"}
{"timestamp":"2014-10-15T04:02:44.553292-0500","level":"warn","message":"loading config file","file":"/etc/sensu/conf.d/redis.json"}
{"timestamp":"2014-10-15T04:02:44.553386-0500","level":"warn","message":"config file applied changes","file":"/etc/sensu/conf.d/redis.json","changes":{"redis":[null,{"host":"localhost","port":6379}]}}
{"timestamp":"2014-10-15T04:02:44.553472-0500","level":"warn","message":"loading config file","file":"/etc/sensu/conf.d/rabbitmq.json"}
{"timestamp":"2014-10-15T04:02:44.553582-0500","level":"warn","message":"config file applied changes","file":"/etc/sensu/conf.d/rabbitmq.json","changes":{"rabbitmq":[null,{"ssl":{"cert_chain_file":"/etc/sensu/ssl/cert.pem","private_key_file":"/etc/sensu/ssl/key.pem"},"host":"localhost","port":5671,"vhost":"/sensu","user":"sensu","password":"REDACTED"}]}}
{"timestamp":"2014-10-15T04:02:44.553662-0500","level":"warn","message":"loading config file","file":"/etc/sensu/conf.d/api.json"}
{"timestamp":"2014-10-15T04:02:44.553755-0500","level":"warn","message":"config file applied changes","file":"/etc/sensu/conf.d/api.json","changes":{"api":[null,{"host":"localhost","port":4567,"user":"sensu","password":"REDACTED"}]}}
{"timestamp":"2014-10-15T04:02:52.336757-0500","level":"info","message":"GET /info","remote_address":"127.0.0.1","user_agent":null,"request_method":"GET","request_uri":"/info","request_body":""}
Run Code Online (Sandbox Code Playgroud)
至少,对我来说不是。
api 配置是:
[root@ws00 sensu]# cat conf.d/api.json
{
"api": {
"host": "localhost",
"port": 4567,
"user": "sensu",
"password": "REDACTED"
}
}
Run Code Online (Sandbox Code Playgroud)
接下来,是他们在 github 上谈到的健康检查的输出(https://github.com/sensu/uchiwa/blob/master/README.md):
/健康
{"uchiwa":"ok","sensu":{"Sensu":{}}}
Run Code Online (Sandbox Code Playgroud)
/健康/感觉
{"sensu":{"Sensu":{}}}
Run Code Online (Sandbox Code Playgroud)
/健康/内轮
{"uchiwa":"ok"}
Run Code Online (Sandbox Code Playgroud)
紧要关头?
service sensu-api status
Run Code Online (Sandbox Code Playgroud)
报告它正在愉快地运行,不用担心。
无论如何,Google 不会为“Sensu API Sensu 错误”返回任何内容,所以我希望你们能提供帮助!
如果查看其他配置会很方便,请告诉我。
我创建了一个测试检查,现在我想删除它。它似乎并没有远离客户。我使用 uchima 作为前端,支票不再列在
/检查
但如果我查看客户,它仍然有支票。
我发现删除支票的唯一方法是删除节点并让它重新添加自己。我有 300 个客户,我宁愿不这样做。
我刚刚安装了 sensu(使用 debian“omnibus”软件包),但找不到任何更改日志级别的方法。
有没有办法在客户端和服务器上做到这一点?
我一直在按照官方文档一遍又一遍地在 CentOS7.2 上设置 sensu 但是我一直无法让它工作:
我似乎无法连接到 API。Uchiwa 给出了错误:
ALERT
Datacenter site1 returned:
Connection error. Is the Sensu API running?`
Run Code Online (Sandbox Code Playgroud)
我试过:curl -I http://localhost:4567/clients
...我没有得到回应。
这是/var/log/sensu/sensu-api.log http://pastebin.com/wHEHE0bH
我一直在创建一个脚本以使设置可重复。请参阅下面显示我的配置 的脚本:http : //pastebin.com/QEt5Msku 如果您在 CentOS7 上运行该脚本,它应该会重复这个问题。
问题在下面的回答中。在遵循在新 VM 上成功安装 sensu 的非官方指南之后,我比较了两个设置步骤,并在新 VM 上进行了几次构建后,一点一点地交换了步骤,我想出了用非官方指南中的一个替换 repo指向一个稍微不同的 URL 修复了我的问题(CentOS6 的 repo 但它适用于 7,它只安装了一个非当前版本 0.20.3)。
echo '[sensu]
name=sensu-main
baseurl=http://repos.sensuapp.org/yum/el/6/x86_64/
gpgcheck=0
enabled=1' > /etc/yum.repos.d/sensu.repo
Run Code Online (Sandbox Code Playgroud) 尝试设置自定义订阅以使 remediator.rb 在 puppet 的 sensu 模块中工作。
类 sensuJenkinsMasterClient {
类{'感':
purge_config => 真,
rabbitmq_password => '',
rabbitmq_host => 'sensu-master',
#Need for remediator 需要 fqdn
订阅 => ['sensu-default', 'centosJenkinsMaster', '"${::fqdn}'],
use_embedded_ruby => true, #set 下 /etc/default/sensu
}
}