sendmailを利用しているserverのload averageが上がってmailが送信されなくなった
「QueueLA」と「RefuseLA」の規定値を変更する
規定値は
QueueLA=8
RefuseLA=12
QueueLA
- Load Averageが閾値を超えている場合、配送せずにmail queueに溜める
RefuseLA
- Load Averageが閾値を超えている場合、新規受付を拒否する
■確認方法
下記ファイル内を確認
/etc/mail/sendmail.cf
386 # load average at which we just queue messages
387 #O QueueLA=8
388
389 # load average at which we refuse connections
390 #O RefuseLA=12
/etc/mail/sendmail.mc
72 dnl define(`confQUEUE_LA', `12')dnl
73 dnl define(`confREFUSE_LA', `18')dnl
どちらもコメントアウトされてる
mail queueに溜まったmailを再送させるコマンド
/usr/sbin/sendmail -q
■設定方法
/etc/mail/sendmail.mc
define(`confQUEUE_LA', `12')dnl
define(`confREFUSE_LA', `18')dnl
コメントアウト(dnl)をはずし、任意の数値を入力する
※コンフィグを変更する際に、現在のコンフィグをコピーしておく
設定をcfファイルに反映
# m4 sendmail.mc > sendmail.cf
sendmailの再起動(設定ファイルの再読込み)
# /etc/init.d/sendmail restart
----------------------------------------------------
備考1
clientmqueueに溜まったメールは下記コマンドで送信可能
# sendmail -q -Ac
「-v」オプションつけると詳細情報取得
※下記はエラーのとき
Running /var/spool/clientmqueue/mail queue ID (sequence 1 of 8)
ドメイン: Name server timeout
メールアドレス... Transient parse error -- message queued for future delivery
Name server timeoutになってるので「dig」で確認
dig @DNSサーバ ドメイン mxとか
引けなければ、/etc/resolv.conf とか設定かなぁ~
----------------------------------------------------
備考2
/var/log/maillogを確認すると、こんなエラーもあったので
Authentication-Warning: ***.******.co.jp: nagios set sender to ***** using -f
「-f」オプションつけて、強制送信してたので、warningをなくすために
/etc/mail/trusted-users に信頼できるユーザとして nagios を追加する
sendmailの再起動は不要
こんな感じになりもした
# trusted-users - users that can send mail as others without a warning
# apache, mailman, majordomo, uucp, are good candidates
nagios
以上
0 件のコメント:
コメントを投稿