sensu-client 检查内存样本工作正常

sensu-client check-memory sample work working

我正在尝试让 sensu 工作。

以下是sensu-client.log

ubuntu@ip:~$ sudo tail -f  /var/log/sensu/sensu-client.log 
{"timestamp":"2016-09-27T16:07:37.628182-0400","level":"info","message":"completing checks in progress","checks_in_progress":[]}
{"timestamp":"2016-09-27T16:07:38.128912-0400","level":"info","message":"closing client tcp and udp sockets"}
{"timestamp":"2016-09-27T16:07:38.129275-0400","level":"warn","message":"stopping reactor"}
{"timestamp":"2016-09-27T16:07:39.224377-0400","level":"warn","message":"loading config file","file":"/etc/sensu/config.json"}
{"timestamp":"2016-09-27T16:07:39.224487-0400","level":"warn","message":"loading config files from directory","directory":"/etc/sensu/conf.d"}
{"timestamp":"2016-09-27T16:07:39.224528-0400","level":"warn","message":"loading config file","file":"/etc/sensu/conf.d/check_mem.json"}
{"timestamp":"2016-09-27T16:07:39.224573-0400","level":"warn","message":"config file applied changes","file":"/etc/sensu/conf.d/check_mem.json","changes":{}}
{"timestamp":"2016-09-27T16:07:39.224618-0400","level":"warn","message":"applied sensu client overrides","client":{"name":"localhost","address":"127.0.0.1","subscriptions":["test","client:localhost"]}}
{"timestamp":"2016-09-27T16:07:39.230963-0400","level":"warn","message":"loading extension files from directory","directory":"/etc/sensu/extensions"}
{"timestamp":"2016-09-27T16:07:39.231048-0400","level":"info","message":"configuring sensu spawn","settings":{"limit":12}}

/etc/sensu/client.json 包含

{
"rabbitmq": {
    "host": "ipaddressofsensuserver",
    "port": 5672,
    "user": "username",
    "password": "password",
    "vhost": "/sensu"
  },
  "api": {
    "host": "localhost",
    "port": 4567
  },
  "checks": {
    "test": {
      "command": "echo -n OK",
      "subscribers": [
        "test"
      ],
      "interval": 60
    },
    "memory-percentage": {
      "command": "check-memory-percent.sh -w 50 -c 70",
      "interval": 10,
      "subscribers": [
        "test"
      ]
     }
  },
  "client": {
    "name": "localhost",
    "address": "127.0.0.1",
    "subscriptions": [
      "test"
    ]
  }
}

我已将 check-memory-present.sh 复制到 /etc/sensu/conf.d 文件夹中

我希望日志文件每 10 秒 运行 check-memory-percent。我在这里错过了什么?

在 Client.json 中,在 "client" 下,您需要添加订阅。就像在示例 here 中一样。它应该与您检查的 "subscribers" 的定义相匹配。

Sensu 客户端不能完全独立于服务器运行,但它可以将自己的检查安排到 运行 并通过传输(在本例中为 RabbitMQ)将它们发送到服务器。您必须将 "standalone": true 添加到检查配置才能生效,然后重新启动 sensu-client 服务。

因此,文件 /etc/sensu/conf.d/check_mem.json 应该类似于:

"checks": {
  "memory-percentage": {
    "command": "/etc/sensu/conf.d/check-memory-percent.sh -w 50 -c 70",
    "interval": 10,
    "standalone": true
  }
}

记得也从 /etc/sensu/client.json 中删除块,因为如果多次定义相同的检查名称,您可能会得到意想不到的结果。