1

我正在使用https://github.com/portertech/chef-monitor食谱来设置 sensu 客户端,因为节点被引导到厨师服务器。默认配方应安装 sensu 组件、ssl、json 配置以及 sensu 客户端服务。

然而,rabbitmq.json 没有被创建,厨师客户端运行失败,因为它试图在最后启动厨师客户端服务。

有一个为 SSL 创建的数据包。 node["monitor"]["master_address"]已设置

rabbitMQ 的值已在节点中作为覆盖提供

{
    "sensu": {
    "rabbitmq": 
        {
            "host": "myhost.com",
            "port":5671,
            "vhost":"/sensu",
            "user":"sensu",
            "password":"secret",
            "ssl": {
                "cert_chain_file":"/etc/sensu/ssl/cert.pem",
                "private_key_file":"/etc/sensu/ssl/key.pem"
                }
            }
        }
    }
}

但是rabbitmq.json没有被创建,因此启动服务不工作并且日志说无法连接到rabbit mq

"level":"fatal","message":"传输连接错误","error":"连接rabbitmq失败"

4

1 回答 1

0

再次阅读 sensu 食谱自述文件。它在客户端不需要 rabbitMQ.json。config.json /etc/sensu/config.json应该有rabbitmq 的条目供客户端连接。它还将具有 redis 和 api 的条目。

确保你传递了node.monitor.master_address:sensu 服务器 ip 或者如果你没有,它应该寻找节点monitor::master配方并选择它的 ip。

问题出在 SSL grrrr ......似乎数据包中的 ssl 很糟糕,重新生成了 ssl 并为所有人传播,之后工作正常。

cd examples/ssl
./ssl_certs.sh generate
knife data bag create sensu
Use the plain-text data bag item:

knife data bag from file sensu ssl.json
Or, encrypted it with your data bag secret. See Encrypt a Data Bag for more information.

knife data bag --secret-file /path/to/your/secret from file sensu ssl.json
./ssl_certs.sh clean
于 2014-09-30T20:10:03.673 回答