私の目的のために、実行中の redis のインスタンスを 1 つと、redis センチネルを 1 つだけ必要です。Redis 3.0.6 を実行しています。Mysentinel.conf
は、quorum が 1 で、通知スクリプト行がコメント解除されていることを除いて、すべてデフォルトです: sentinel notificication-script mymaster /etc/redis/notify_me.sh
. 内部notify_me.sh
では、テスト目的でprint "HEY SOMETHING IS UP WITH REDIS"
.
監視目的のみに redis センチネルを使用したい。後で、redis がダウンしたときにメール/テキスト メッセージを送信する Python スクリプトに何かを記述します。ただし、現在のように、あまりにも頻繁に発砲しています。センチネルがredisが死んだと判断したときに、メッセージを1回だけ受け取りたいです。今すぐ開始すると、ステートメントは最初に1回出力され、次にfailover-state-select-slaveの後にさらに数回出力されます
23863:X 06 Jan 15:26:18.422 # Sentinel runid is db267af1b9257ced70eee9cbd076291db31f9335
23863:X 06 Jan 15:26:18.422 # +monitor master mymaster 127.0.0.1 6380 quorum 1
HEY SOMETHING IS UP WITH REDIS
23863:X 06 Jan 15:27:07.602 # +sdown master mymaster 127.0.0.1 6380
23863:X 06 Jan 15:27:07.602 # +odown master mymaster 127.0.0.1 6380 #quorum 1/1
23863:X 06 Jan 15:27:07.602 # +new-epoch 1
23863:X 06 Jan 15:27:07.602 # +try-failover master mymaster 127.0.0.1 6380
23863:X 06 Jan 15:27:07.604 # +vote-for-leader db267af1b9257ced70eee9cbd076291db31f9335 1
23863:X 06 Jan 15:27:07.604 # +elected-leader master mymaster 127.0.0.1 6380
23863:X 06 Jan 15:27:07.604 # +failover-state-select-slave master mymaster 127.0.0.1 6380
HEY SOMETHING IS UP WITH REDIS
HEY SOMETHING IS UP WITH REDIS
HEY SOMETHING IS UP WITH REDIS
HEY SOMETHING IS UP WITH REDIS
HEY SOMETHING IS UP WITH REDIS
HEY SOMETHING IS UP WITH REDIS
HEY SOMETHING IS UP WITH REDIS
23863:X 06 Jan 15:27:07.682 # -failover-abort-no-good-slave master mymaster 127.0.0.1 6380
最初に印刷したくありません。サーバーが停止したときに一度だけ印刷したいので、後でメール/テキストを1つだけ受け取ります。誰でも、私ができることについて何かヒントはありますか?ありがとう!