SMTP
big-ip
f5
ロードバランサ
More than 3 years have passed since last update.


BIG-IPでのSMTP設定について

monitor監視とFAILOVER検知のために、SNMPで監視サーバからアラートを出す予定が、

SNMPサーバの構築が間に合わない! ><

と言われたので、直BIG-IPからメールで出せないかと試してみた。

GUIのSystemにSMTP設定できる項目があるけど、

あれは偽物っぽい。というか違う用途で使うのかな?

簡単な流れをいうと2つのconfファイルに設定追加をすればメールが飛ぶ

・ssmtp.conf → SMTPサーバ指定

・alert.conf → メールを出す条件を指定


[ssmtp.conf] の設定変更

コンソールからBIG-IPにログイン

1.1. バックアップ

# cp -p /etc/ssmtp/ssmtp.conf{,.bak}

1.2. 権限変更

# chmod 644 /etc/ssmtp/ssmtpt.conf

1.3. ファイルの修正

メモ帳で下記の行にSMTPサーバを追記

mailhub=192.168.XXX.XXX

FromLineOverride=YES

名前解決できるなら、ドメイン名とかでもOKだと思います。

→BIG-IPにDNS設定したことないからわからないけど……。

書いたらセーブは忘れずにね。

※FromLineOverrideは、#のコメントアウトを外すだけ。

 この設定を有効化しないと、FromAddressが書き換わらない

1.4. 権限修正(元に戻す)

# chmod 444 /etc/ssmtp/ssmtpt.conf

これでSMTPサーバ指定が完了


[alertd.conf] の設定変更

SNMP-Trapを飛ばすところが書かれているconfigファイルを書き換える。

つまりSNMP-Trapが飛ぶタイミングで、SMTPも飛ばす設定を追加しちゃいます。

2.1. バックアップ

# cp -p /etc/alertd/alert.conf{,.bak}

2.2. 権限変更

# chmod 644 /etc/alertd/alert.conf

2.3. conf修正

SMTP-TrapのOIDが書かれているところに下記を追加する

;

email toaddress="toaddress@XXXX.com"
fromaddress="fromaddress@XXXX.com"
body="";

monitor断検知と、FAILOVER検知をしたい場合は下記に追加。

  # monitor 実際はこんなコメントアウトはないよ

alert BIGIP_MCPD_MCPDERR_POOL_MEMBER_MON_STATUS {
snmptrap OID=".1.3.6.1.4.1.3375.2.4.0.10"

}
  # failover 実際はこんなコメントアウトはないよ
BIGIP_SOD_SODERR_SOD_STANDBY {
snmptrap OID=".1.3.6.1.4.1.3375.2.4.0.14";

BIGIP_SOD_SODERR_SOD_ACTIVE {
snmptrap OID=".1.3.6.1.4.1.3375.2.4.0.15";

BIGIP_SOD_SODERR_SOD_UNIT {
snmptrap OID=".1.3.6.1.4.1.3375.2.4.0.16"

実際に追加してみる

# vi /etc/alertd/alert.conf


alert.conf

   alert BIGIP_MCPD_MCPDERR_POOL_MEMBER_MON_STATUS { 

snmptrap OID=".1.3.6.1.4.1.3375.2.4.0.10";
email toaddress="toaddress@XXXX.com"
fromaddress="fromaddress@XXXX.com"
body="";
}

BIGIP_SOD_SODERR_SOD_STANDBY {
snmptrap OID=".1.3.6.1.4.1.3375.2.4.0.14";
email toaddress="toaddress@XXXX.com"
fromaddress="fromaddress@XXXX.com"
body="";
lcdwarn description="CPU Temp too high." priority="3"
}
BIGIP_SOD_SODERR_SOD_ACTIVE {
snmptrap OID=".1.3.6.1.4.1.3375.2.4.0.15";
email toaddress="toaddress@XXXX.com"
fromaddress="fromaddress@XXXX.com"
body="";
lcdwarn description="CPU Temp too high." priority="3"
}
BIGIP_SOD_SODERR_SOD_UNIT {
snmptrap OID=".1.3.6.1.4.1.3375.2.4.0.16";
email toaddress="toaddress@XXXX.com"
fromaddress="fromaddress@XXXX.com"
body="";
}


2.4. 権限修正(元に戻す)

# chmod 444 /etc/alertd/alert.conf

2.5. alertdサービスの再起動

# bigstart restart alertd

再起動で断はなかった。Virtual Addressにpingを打ちながら再起動した結果により。


障害試験

FAILOVERをしたり、

monitor検知が失敗するようサーバの調整をしたりして、

実際にメールが飛ぶかを検証する。

メール送信が失敗したら /var/log/maillog

→ SMTPサーバに25番ポートで接続失敗ログが出た

あと、もしmgmtポートからSMTP通信をしたい場合は、management-routeの設定を追加かな。

→できませんでした。うーん、無理なのかな。


メモ

・config syncしない

→ HAを組んでいたら、両機ともに設定変更が必要

・Archive で作られるucsファイルには保存されない


追記

20160324追記

・FromLineOverrideのコメントアウト

・ssmtpも権限変えて更新する手順に変更