More Related Content
More from azumakuniyuki 🐈 (16)
2013 11-30-mailqueue-monitoring
- 1. Monitoring Casual Talk in Kyoto @はてなさん 2013/11/30(土)
Mail queue monitoring
メールキューの監視、主にSendmailの。
@azumakuniyuki
Cubicroot Co. Ltd.
- 2. Monitoring Casual Talk in Kyoto@はてなさん 2013/11/30(土)
2
自己紹介
@azumakuniyuki
あずま(猫)@京都
別のあずまさんと識別の為、最近+=(猫)。
主にサーバ管理者
プログラム書く時は/bin/sh or Perl
bouncehammer,Haineko
主にメール関係の何かを開発することが多いです。
Mail queue monitoring @azumakuniyuki / Cubicroot Co. Ltd.
- 3. Monitoring Casual Talk in Kyoto@はてなさん 2013/11/30(土)
3
Mail queue monitoring @azumakuniyuki / Cubicroot Co. Ltd.
- 4. Monitoring Casual Talk in Kyoto@はてなさん 2013/11/30(土)
4
Mail queue Monitoring
だいたい異常はメールキューに現れる
Mail queue monitoring @azumakuniyuki / Cubicroot Co. Ltd.
- 5. Monitoring Casual Talk in Kyoto@はてなさん 2013/11/30(土)
5
What MTA do you use?
どのMTA使ってはります?
Mail queue monitoring @azumakuniyuki / Cubicroot Co. Ltd.
- 6. Monitoring Casual Talk in Kyoto@はてなさん 2013/11/30(土)
6
Major MTAs
- 歴史と伝統・信頼と実績の Sendmail
- 西暦2000年代の主流MTA Postfix
- 堅牢性と安全、信者の為の qmail
- Exim
- Courier MTA
- OpenSMTPD
Mail queue monitoring @azumakuniyuki / Cubicroot Co. Ltd.
- 7. Monitoring Casual Talk in Kyoto@はてなさん 2013/11/30(土)
7
現在の状況と背景
- 前職の時はラック10本ぐらい
- 現職は他社(顧客)のサーバ監視をすることが殆ど
- エージェントを必要とする監視ソフトウェア=NG
- L8? L9? 政治層の問題で...
- 監視サーバを顧客ネットワークだけに置くならOK
- 死活監視はNagios
- リソース監視はMunin or CloudForecast
- 監視ページ・サーバが複数個所に散らばってる
Mail queue monitoring @azumakuniyuki / Cubicroot Co. Ltd.
- 8. Monitoring Casual Talk in Kyoto@はてなさん 2013/11/30(土)
8
うちは主にSendmail
- 構築するMTAは原則としてSendmail
- Maildir/とMilter対応でソースビルドして構築
- 標準的な内容から不要なもの削ったsendmail.cf
- 自分が一番慣れてるし
- 必要ならルールセットも書く
- Mailboxがいる場合はDovecotも構築
- それとMDAとしてprocmail,maildropも
- ルールセット書かないならSendmailは難しくない
- 正しくチューニングすれば遅くない
Mail queue monitoring @azumakuniyuki / Cubicroot Co. Ltd.
- 9. Monitoring Casual Talk in Kyoto@はてなさん 2013/11/30(土)
9
普通の監視しかやってない
- MTAが複数台あるネットワークはMuninを設置
- Muninの標準プラグインの
- Sendmail email traffic
- Sendmail email volumes
- Sendmail queued mails
- 追加で
- Sendmail quarantined mails ←隔離キュー数
- plugins/sendmail_mailqueueをコピーして作成
Mail queue monitoring @azumakuniyuki / Cubicroot Co. Ltd.
- 10. Monitoring Casual Talk in Kyoto@はてなさん 2013/11/30(土)
10
普通のキュー数観測
Mail queue monitoring @azumakuniyuki / Cubicroot Co. Ltd.
- 11. Monitoring Casual Talk in Kyoto@はてなさん 2013/11/30(土)
11
隔離したキュー数観測
Mail queue monitoring @azumakuniyuki / Cubicroot Co. Ltd.
- 12. Monitoring Casual Talk in Kyoto@はてなさん 2013/11/30(土)
12
キューを隔離する
- # sendmail -QSEND_20131201 -qRdocomo.ne.jp -v
- 隔離するキュー(いつ届いても良い系)
- 夜中に流れると苦情が来る(携帯電話宛とか)
- 21時過ぎたら残ってるのは隔離、朝9時に復帰。
- # sendmail -QGOMI -qSinfo@example.jp -v
- 隔離するキュー(もう捨てても良い系)
- ドメイン打ち間違い(DNS引けずに滞留、邪魔)
- 期限内に送れなかった(短期間キャンペーンとか)
Mail queue monitoring @azumakuniyuki / Cubicroot Co. Ltd.
- 13. Monitoring Casual Talk in Kyoto@はてなさん 2013/11/30(土)
13
キューの急激な増加
- 大きめの配信が始まると急増
- 負荷対策(こっちとあっち)の為、一旦キューに入れる
- 配送に失敗したら勝手に別MTAに流れて行く
- Nagiosでのキュー数監視
- 大きめの閾値・滅多にアラートは来ない
- だいたいディスクIOで負荷が上がる
- /var/spoolをioDriveにすれば解決
- やってみたい
Mail queue monitoring @azumakuniyuki / Cubicroot Co. Ltd.
- 14. Monitoring Casual Talk in Kyoto@はてなさん 2013/11/30(土)
14
キューがたまりすぎ
- だいたいネットワーク系の障害(こっちかあっちか)
- 相手側MTAからブロックされてる?
- そもそも普段の行いが悪い
- 死んでるアドレス管理とか行儀の悪い配信とか
- とりあえずキューにあるメールを全部隔離
- ログ見る・手動接続 telnet 25
- あかんとこ以外を復帰させてキュー処理
- あかんとこは個別対処(別MTAとか明日送るとか)
- アプリ側でSMTP接続失敗例外処理あるならMTA停止可
Mail queue monitoring @azumakuniyuki / Cubicroot Co. Ltd.
- 15. Monitoring Casual Talk in Kyoto@はてなさん 2013/11/30(土)
15
全体のキュー数見たい
- # imomushi -cC queues.cf ⏎
mta01 ------------- 1/10000 キュー数/閾値
mta02 ----------- 314/ 1000
mta03 ------------- 0/
500
mx1 --------------- 4/
20
mx2 --------------- 2/
10
bulk1 --------- 44551/50000 50%超でアラート来る
bulk2 ---------- 3334/50000
Mail queue monitoring @azumakuniyuki / Cubicroot Co. Ltd.
- 16. Monitoring Casual Talk in Kyoto@はてなさん 2013/11/30(土)
16
まとめ
- 大きめの配信では必ずキューが急増
- グラフの変化を見ると異常な感じがするけど...
- 万単位の配信なら普通
- Disk I/O対策で一旦キューに保存してあとで配信
- メモリがあるなら/dev/shmとかmfsとか使う
- 消えないように!
- 恒常的に残ってるキュー数の方が問題
- MTAを沢山用意して負荷が急上昇しにくい対策を
- 自分やチームが慣れているMTAが一番
Mail queue monitoring @azumakuniyuki / Cubicroot Co. Ltd.