高可用性ロードバランサのセットを確立するプロジェクトに取り組んでいます。負荷分散と高可用性ソフトウェアはうまく動作しているようです(ロードバランスにCrossroadsを使用し、負荷分散サーバーを高可用性にするためにKeepalived、ロードバランサのヘルスチェック用Conntrackdを使用しています)が、構成を設定する際に問題があります状態遷移が発生したときにKeepalivedが電子メールを送信するファイル(master-> backup/backup-> master)。私は電子メール通知を設定する方法を教えてくれるmanページ(man keepalived.conf)の指示に従っていますが、予想される時刻に電子メールを受信できません。私はスペルチェックや単純なエラーが発生する傾向がありますが、この問題を約10時間見渡した後、何かを見つけられないようで、試してみることが不足しています。SMTPアラートがキープアライブされていない
私が使用しているサーバの1つ(loadbalance1という名前)は、変更が発生したときにsmtp_alertを使用して電子メールを送信することがありますが、バックアップからマスター(マスターではなく)バックアップ)。動作しない場合、ログファイル(/ var/log/messagesと/ var/log/syslog)は、SMTPエラーステータス550が発生したことを通知します。私は、これらの問題が設定ファイルで指定された不正確な電子メールアドレスに関連するものであると理解していますが、私が知る限り正確です。キープアライブまたは設定ファイルが間違っていることを示唆しているのは、sysadminが '{'が不適切なメール受信者であるというメッセージを電子メールで送信することだけです。私はsmtpポートをコンピュータ上で開いています。起こっているもう一つの奇妙なことは、キープアライブがメールサーバーに連絡しようとするとき、ローカルマシンがないときにローカルマシンを見たい場合があることです。私はメールサーバを他の場所に指定していますが、何らかの理由でローカルに見たいと思っています。
他のサーバーloadbalance2は、どのような状態遷移に関係なく、電子メールを送信するためにsmtp_alertを送信しません。キープアライブ(/ var/log/messagesと/ var/log/syslog)のログファイルでは、バックアップサーバloadbalance2がMASTER状態に移行しますが、メールは送信されません。これはloadbalance1と同じエラーを出しますが、ここではうまく動作しません。 loadbalance1と同じ設定ファイルがあります。いくつかの矛盾が、私は謝罪設定ファイルである場合
次は、設定ファイル、keepalived.conf
global_defs
{
notification_email
{
[email protected]
}
notification_email_from [email protected]
##Mail server below##
smtp_server www.xxx.yyy.zzz
smtp_connect_timeout 30
lvs_id NLB_MASTER
vrrp_sync_group
{
group
{
loadbalance1
loadbalance2
}
##The following scripts don't seem to work properly either##
##The scripts are not executed at expected times ##
notify_master "/path/to/script.sh master"
notify_backup "/path/to/script.sh backup"
notify_fault "/path/to/script.sh fault"
notify "/path/to/script.sh"
smtp_alert
}
vrrp_instance loadbalance1
{
state MASTER
interface eth0
virtual_router_id 20
priority 100
#In some examples online smtp_alert is here
virtual_ipaddress
{
www.xxx.yyy.zzz/24 brd www.xxx.yyy.255 dev eth0
}
##Not entirely sure if this is correct##
notify_master "/path/to/script.sh master"
notify_backup "/path/to/script.sh backup"
notify_fault "/path/to/script.sh fault"
notify "/path/to/script.sh"
smtp_alert
}
vrrp_instance loadbalance2
{
state MASTER
interface eth0
virtual_router_id 30
priority 100
#In some examples online smpt_alert is here
virtual_ipaddress
{
www.xxx.yyy.zzz/24 brd www.xxx.yyy.255 dev eth1
}
##Not entirely sure if this is correct##
notify_master "/path/to/script.sh master"
notify_backup "/path/to/script.sh backup"
notify_fault "/path/to/script.sh fault"
notify "/path/to/script.sh"
smtp_alert
}
です。どんな提案、助け、または意見もありがとうございます。これ以上の情報が必要な場合は、私は喜んで喜んでくれるでしょう。
電子メールが送信されるときと送信されないときのパターンは異なります。 – dawebber