はじめに
- 前回、気になったポイントの検証と整理
気になったポイント
sensu-server
の設定でRabbitMQ
の接続先をELB
に指定した場合ってどうなるの?Redis
もクラスタ化する必要もある?
なにはともあれやってみた。
sensu-server の設定で RabbitMQ の接続先を ELB に指定した場合ってどうなるの?
構成図
設定
sensu-server
の config.json
を以下のように修正。
{ "rabbitmq": { "host": "internal-rabbit-123456789.ap-northeast-1.elb.amazonaws.com", "port": 5672, "user": "sensu", "password": "xxxxx", "vhost": "/sensu" },
rabbitmq
の接続先を ELB
に向けるだけ。
結果
Redis もクラスタ化する必要もある?
Dashboard の同期が取れない(おそらく監視データの同期も取れてない)ので Redis
もレプリケーションを設定してクラスタ化が必要かなと思ってやってみた。
構成図
Redis のレプリケーション
スレーブとなるホストの redis.conf
を以下のように設定する。
--- redis.conf.bk 2014-03-29 11:23:27.250256990 +0900 +++ redis.conf 2014-03-29 11:24:03.549980114 +0900 @@ -194,7 +194,7 @@ # so for example it is possible to configure the slave to save the DB with a # different interval, or to listen to another port, and so on. # -# slaveof <masterip> <masterport> +slaveof ${マスターの IP} 6379 # If the master is password protected (using the "requirepass" configuration
マスターとなるホストの redis.conf
を以下のように修正する。
--- redis.conf.bk 2014-03-29 11:19:58.491360811 +0900 +++ redis.conf 2014-03-29 11:27:30.468336727 +0900 @@ -62,7 +62,7 @@ # # bind 192.168.1.100 10.0.0.1 # bind 127.0.0.1 -bind 127.0.0.1 +bind 0.0.0.0
簡単。設定後は redis を再起動する。
スレーブとなるホストの sensu の設定修正
redis
サーバーの接続先を修正する。
--- config.json.bk 2014-03-29 11:25:03.061526162 +0900 +++ config.json 2014-03-29 11:25:17.189418389 +0900 @@ -7,7 +7,7 @@ "vhost": "/sensu" }, "redis": { - "host": "localhost", + "host": "${マスターの IP}", "port": 6379 }, "api": {
sensu-server
を再起動する。
結果
sensu-dashboard
の設定反映が双方のダッシュボードで確認することが出来たRedis
自身のデータをちゃんと確認する必要があるが監視データに関しても同期は取られているようだ
現時点での結論
図
以下のような構成が良いかなー。