ログを見るならこれを見よ!~Postfix編~

クー
2022-12-15
2023-06-09
目次

スライド1

どうも、クーです!

ログ、見てますか?

何かあったらとりあえずログを見ろ、とはよく言いますが
何も分からない状態でログを見てもなんのこっちゃって感じですよね。

ログを調べるためにログの調べ方を調べて、、、
なんてしてるうちに時間が過ぎてしまうこともあるかと思います、、

そんなあなたの為に!
とりあえず「ログを調べるならここを見てほしい」ってポイントをお伝えしていこうかと思います

今回はメールサーバーでお馴染み「Postfix」のログについて簡単にポイントをまとめます!

Postfixとログ

PostfixMTA(メール転送エージェント)というメールサーバーの動作に使用するソフトウェアです。
同じ系統のソフトで言うと「Sendmail」「Qmail」などが上げられますね。

こちらMTAということでメールの送受信を行うソフトなのですが、
送受信したメールの情報はデフォルトだと/var/log/maillogにログとして出力されます

基本的には/var/log/maillogを見ることで、メールの送受信についての情報が
丸わかりということですね。

試しにメールログについてcatなどで見てみましょう!
(表示が多い場合は「ctrl+C」などで表示を止めてください)

 

cat /var/log/maillog

、、、どうでしょうか?
頻繁にメールの送受信を行っているサーバーですと、大量の文字列が出たかと思います。

これを一つ一つ調べ上げていては時間がいくつあっても足りませんね、、、

それではここで抑えるポイントをお教えします!

ここを見よう!抑えるポイント

1. grepで必要なログを絞り込もう
 
2. キューIDを見つけよう
 
3. <from> <to> <status>を確認しよう

基本はこの3つを押さえておけば誰でもログを調べられます!

まず「1. grepで必要なログを絞り込もう」ですが、
grepというのは該当の文字列を含む行を出力するコマンドです。

試しに調べたいメールアドレスについて、下記コマンドを入れてみましょう

cat maillog |grep "調べるメールアドレス"

どうでしょうか。該当のメールアドレスを含む行のみが出力されるので、
さっきよりもかなり見やすくなったと思います!


次に「2. キューIDを見つけよう」です。
キューIDというのはログの日時の後の部分になります。

Nov 11 12:34:56  postfix/qmgr[X]: キューID: from=<送信元アドレス>, size=xxxxx, nrcpt=x (queue active)

このIDは1つのメールログの最初から最後まで共通のものになってます。
つまりこれでメールログを絞り込むことで、調べたいメールのセッションを
ひとまとまりで抜き出すことができますね!

早速grepを使って絞り込んでみましょう!

コマンド

cat maillog |grep "キューID"

結果

Nov 11 12:34:56 postfix/smtpd[X]: キューID: client=xxxxxxx[xxx.xxx.xxx.xxx]

Nov 11 12:34:56 postfix/cleanup[X]: キューID: message-id=<xxxxx>

Nov 11 12:34:56  postfix/qmgr[X]: キューID: from=<送信元アドレス>, size=x, nrcpt=x (queue active)

Nov 11 12:34:56 postfix/pipe[X]: キューID: to=<送信先アドレス>, relay=plesk_virtual, delay=x, delays=x/x/x/x, dsn=x, status=sent (delivered via plesk_virtual service)

Nov 11 12:34:56 postfix/qmgr[X]: キューID: removed


やりました!
やっとメールがどのように送信されたのかが確認できますね!


それでは最後のポイントである「3. <from> <to> <status>を確認しよう」に移ります!

これはもうそのままですが、抜き出したログの中の<from> <to> <status>を確認してみてください!

それぞれfromは送信アドレスtoは受信アドレスstatusはメールの送信がどうなったのかが記載されているので、ここを見ることでメールログの内容がわかります!

また、statusは下記の3種類となっています。

status=sent :送信成功
status=bounced :メールがブロックされている
status=deferred :メール送信が延期されている

送信失敗した場合はstatusの後ろにエラーメッセージが表示されるので、
送信がうまくいかなかった場合は個々のエラーメッセージを確認してみてください!

最後に

postfixのログについて確認するべきポイントをまとめてみましたがいかがでしたか?

皆様がログの確認に費やす時間を少しでも減らせたなら幸いです!


以上、クーでした!