web-dev-qa-db-ja.com

UchiwaがCentOS7のデータセンターを監視できないのはなぜですか?

この投稿 と組み合わせて YUMを使用してSensuをインストール を使用して、Sensuおよび関連サービスをインストール、構成、および開始しました。

Sudo yum install -y erlang && \
Sudo rpm -Uvh http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.0/rabbitmq-server-3.5.0-1.noarch.rpm && \
Sudo yum install -y redis && \
echo '[sensu]
name=sensu
baseurl=http://sensu.global.ssl.fastly.net/yum/$basearch/
gpgcheck=0
enabled=1' | Sudo tee /etc/yum.repos.d/sensu.repo && \
Sudo yum install -y sensu && \
Sudo yum install -y uchiwa && \
for s in rabbitmq-server redis.service sensu-server sensu-api uchiwa; do Sudo systemctl restart $s; done && \
Sudo rabbitmqctl add_vhost /sensu && \
Sudo rabbitmqctl add_user sensu secret && \
Sudo rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"

分析

  • :3000に移動すると、uchiwaダッシュボードが表示され、Connection error. Is the Sensu API running?と表示されます
  • /var/log/sensu/sensu-api.logは、

{"timestamp":"2016-07-03T22:58:58.532905+0000","level":"warn","message":"config file does not exist or is not readable","file":"/etc/sensu/config.json"}
{"timestamp":"2016-07-03T22:58:58.533069+0000","level":"warn","message":"ignoring config file","file":"/etc/sensu/config.json"}
{"timestamp":"2016-07-03T22:58:58.533137+0000","level":"warn","message":"loading config files from directory","directory":"/etc/sensu/conf.d"}
{"timestamp":"2016-07-03T22:58:58.712175+0000","level":"info","message":"api listening","protocol":"http","bind":"0.0.0.0","port":4567}

  • Config.jsonが存在しないようです(/etc/sensu/config.json: No such file or directory
  • サンプルconfig.json をダウンロードしてsensu-apiを再起動しても問題は解決しませんでした

{
  "rabbitmq": {
    "Host": "localhost",
    "vhost": "/sensu",
    "user": "sensu",
    "password": "secret"
  },
  "redis": {
    "Host": "localhost",
    "port": 6379,
    "password": "secret"
  }
}

  • redisポートはリッスンしています:

LISTEN     0      128    127.0.0.1:6379                     *:*

  • rabbitmqポートも:

LISTEN     0      100          *:4567                     *:* 
  • うちわはデータセンターに接続できません

{
  "sensu": [
    {
      "name": "Site 1",
      "Host": "localhost",
      "port": 4567,
      "timeout": 10
    },
    {
      "name": "Site 2",
      "Host": "localhost",
      "port": 4567,
      "ssl": false,
      "path": "",
      "user": "",
      "pass": "",
      "timeout": 10
    }
  ],
  "uchiwa": {
    "Host": "0.0.0.0",
    "port": 3000,
    "refresh": 10
  }
}

{"timestamp":"2016-07-03T23:34:32.990067621Z","level":"warn","message":"GET http://localhost:4567/stashes returned: 500 Internal Server Error"}
{"timestamp":"2016-07-03T23:34:32.990102095Z","level":"warn","message":"Connection failed to the datacenter Site 1"}
{"timestamp":"2016-07-03T23:34:32.990115588Z","level":"info","message":"Updating the datacenter Site 2"}
{"timestamp":"2016-07-03T23:34:32.991462585Z","level":"warn","message":"GET http://localhost:4567/stashes returned: 500 Internal Server Error"}
{"timestamp":"2016-07-03T23:34:32.991492978Z","level":"warn","message":"Connection failed to the datacenter Site 2"}

  • <IPADDRESS>:4567に移動すると、次の結果になります。

{"error":"redis and transport connections not initialized"}

  • redis返信

Sudo redis-cli ping
PONG

  • redisパスワードが設定されましたが、問題は解決しません

Sudo redis-cli
127.0.0.1:6379> auth secret
OK
4
030

簡潔

sensu-clientには、実行中のrabbitmq-serverが必要なようです。このメッセージブローカーは実行されていないようだったため、sensu-clientを開始することも、Uchiwaダッシュボードで監視することもできませんでした。

詳細

次のエラーの場合:

{"error":"redis and transport connections not initialized"}

が表示され、redisがリッスンしています。rabbitmqが実行されていることを確認し、rabbitmq-statusを使用してrabbitmqポートを確認してください:

Sudo systemctl status rabbitmq-server

今日、上記のエラーが表示され、rabbitmqポートがチェックされたときに、特定のポートがリッスンしていないように見えました:

{listeners,[{clustering,25672,"::"},{amqp,5672,"::"}},

SSLが構成されたので、ポート5671は/etc/rabbitmq.configで構成する必要があります。メッセージブローカーサーバーが再起動されると、sslポート5671がリッスンし始め、問題は解決しました:

{listeners,[{clustering,25672,"::"},{amqp,5672,"::"},{'amqp/ssl',5671,"::"}]},

私のrabbitmq設定は:

[
{rabbit, [ 
{ssl_listeners, [5671]},
{ssl_options, [{cacertfile,"/etc/rabbitmq/ssl/cacert.pem"},
               {certfile,"/etc/rabbitmq/ssl/cert.pem"},
               {keyfile,"/etc/rabbitmq/ssl/key.pem"},
               {verify,verify_peer},
               {fail_if_no_peer_cert,true}]}
 ]}
  ].
1
Jaber Zare

Rabbitmq.jsonで正しいSSL設定をセットアップすると、最初にRabbitMQが機能しました。これは Sensu Webサイト の例を示しています。その後、それはただ言った:「エラー」:「redisに接続されていない」

次に、sensu構成の「localhost」から「12.7.0.1」に変更することで、Redisを機能させました。 RedisはIPv6をリッスンしておらず、「localhost」は:: 1と127.0.0.1の両方を解決したため、正しく機能しませんでした。

これはDebian 8への新規インストールでした。

3
Max Gebert