设置sensu“sensu必须是哈希”时出错

时间:2018-01-24 14:25:18

标签: linux sensu

我正在接受此错误

{"timestamp":"2018-01-24T18:59:32.875053+0530","level":"fatal","message":"sensu must be a hash","object":[{"name":"Datacenter 1","host":"localhost","port":4567}]}

我的配置是: config.json

{}

conf.d / api.json

{
  "api": {
    "host": "127.0.0.1",
    "bind": "0.0.0.0",
    "port": 4567

  }
}

conf.d / client.json

{
  "client": {
    "name": "sensu-server",
    "address": "127.0.0.1",
    "environment": "development",
    "subscriptions": [
      "dev",
      "ubuntu"
   ],
    "socket": {
      "bind": "127.0.0.1",
      "port": 3030
    }
  }
}

conf.d / redis.json

{
  "redis": {
    "host": "127.0.0.1",
    "port": 6379
  }
}

conf.d / rabbitmq.json

{
  "rabbitmq": {
    "host": "127.0.0.1",
    "port": 5672,
    "vhost": "/sensu",
    "user": "sensu",
    "password": "secret"
  }
}

conf.d / transport.json

{
  "transport": {
    "name": "rabbitmq",
    "reconnect_on_error": true

 }
}

我的感知日志是

{"timestamp":"2018-01-24T19:11:00.726690+0530","level":"warn","message":"loading config file","file":"/etc/sensu/conf.d/transport.json"}
{"timestamp":"2018-01-24T19:11:00.726728+0530","level":"warn","message":"config file applied changes","file":"/etc/sensu/conf.d/transport.json","changes":{}}
{"timestamp":"2018-01-24T19:11:00.726751+0530","level":"warn","message":"loading config file","file":"/etc/sensu/conf.d/rabbitmq.json"}
{"timestamp":"2018-01-24T19:11:00.726780+0530","level":"warn","message":"config file applied changes","file":"/etc/sensu/conf.d/rabbitmq.json","changes":{"rabbitmq":[null,{"host":"127.0.0.1","port":5672,"vhost":"/sensu","user":"sensu","password":"REDACTED"}]}}
{"timestamp":"2018-01-24T19:11:00.726804+0530","level":"warn","message":"loading config file","file":"/etc/sensu/conf.d/check_disk_usage_linux.json"}
{"timestamp":"2018-01-24T19:11:00.726838+0530","level":"warn","message":"config file applied changes","file":"/etc/sensu/conf.d/check_disk_usage_linux.json","changes":{"checks":{"check-disk-usage-linux":[null,{"handlers":["mailer"],"command":"/opt/sensu/embedded/bin/check-disk-usage.rb -w 80 -c 90","interval":60,"occurrences":5,"subscribers":["linux"]}]}}}
{"timestamp":"2018-01-24T19:11:00.726864+0530","level":"warn","message":"loading config file","file":"/etc/sensu/conf.d/check_memory_linux.json"}
{"timestamp":"2018-01-24T19:11:00.726902+0530","level":"warn","message":"config file applied changes","file":"/etc/sensu/conf.d/check_memory_linux.json","changes":{"checks":{"check_memory_linux":[null,{"handlers":["mailer"],"command":"/opt/sensu/embedded/bin/check-memory-percent.rb -w 90 -c 95","interval":60,"occurrences":5,"subscribers":["linux"]}]}}}
{"timestamp":"2018-01-24T19:11:00.726934+0530","level":"fatal","message":"sensu must be a hash","object":[{"name":"Datacenter 1","host":"localhost","port":4567}]}
{"timestamp":"2018-01-24T19:11:00.726957+0530","level":"fatal","message":"SENSU NOT RUNNING!"}

并且我的配置json格式正确,仍然显示此erorr

1 个答案:

答案 0 :(得分:1)

您可以使用 JQ (apt-get install jq)或jsonlint来验证您的配置。 “sensu必须是哈希”问题可能是由于格式错误的json文件或丢失的配置文件引起的。

  • 您不需要为config.json提供空文件,只需删除它
  • 即可
  • 默认情况下,API将绑定到0.0.0.0,您无需指定。