ソフトバンク・au・ドコモの方は、公式のオンラインショップを利用すれば頭金不要で通常のショップよりお得に購入できます。
サーバエンジニアの仕事の一つといえば、サーバ稼働とログの監視することです。
しかし、サーバの数が多かったら、ログを見ることが大変になりますよね。
サーバに一台ずつ入らなければならないし、毎回コマンドを入力し、出力データを神経質に見なければなりません。
最低!最悪だ!
そういうめんどくさい現実を変えましょう!
自分のメールアドレスにログファイルを送る事ができれば、自分のパソコンで、ゆっくり、コーヒーを飲みながら、サーバ状態のログを確認できる、楽ではありませんか。
つまり、今回の記事はログ送信についての提案です。
まず、今回使用しているソフトはmuttとssmtpです。
実行例
1 |
$ mutt -s subject -a filename mail@host.jp |
という非常に簡単なコマンドで、メールを送れます。
-s : 件名(Subject)
-a : 添付ファイル(filename)
mail@host.jp : 受けるメールアドレス。
設定方法
muttはメールクライアントとして、便利なツールですが、自分でメールを送る事が出来ないので、ssmtpとペアリングしないといけません。
基本的にmuttはsendmailと一緒に使われていますが、ログ送信のために複雑なメールシステム(sendmailやpostfixなど)を構築するのが無駄なので、ssmtpツールを使用して、共有smtpメールサーバを使ったほうが賢いではありませんか。
というわけで、ssmtpのコンフィグファイルを設定
ssmtpの設定
1 2 3 4 5 6 7 8 |
/etc/ssmtp/ssmtp.conf root=reports@host.jp # メールを送っていくアドレス mailhub=smtp.host.jp:465 # smtpサーバ(例、smtp.gmail.com:587) hostname=localhost # サーバのローカルホスト名 UseTLS=Yes # TLS暗号化接続 AuthUser=reports@host.jp # メールアッカウントのローギン AuthPass=qwerty # パスワード。。。当たり前 FromLineOverride=Yes # From:というマーク変更可能 |
1 2 3 4 |
/etc/ssmtp/revaliases root:reports@host.jp:smtp.host.jp:465 <h1>ローカルユーザ:メールアドレス:smtpサーバ:ポート</h1> |
テスト的に、メールを送ってみましょう
1 |
$ echo -e "From: reports@host.jp\nSubject: [MAIL]\n\n Hello!" | ssmtp -v -s admin@host.jp |
ssmtpはメールを送る機能があるのですが、シンプルすぎるソフトです、例えば、ファイルを添付できません。
ですので、ファイルを送りたい場合には、muttを併せて使うと便利です。muttの設定を行いましょう。
ユーザフォルダにある「.muttrc」ファイルを設定:
muttの設定
1 2 3 |
set sendmail="/usr/local/sbin/ssmtp" # 使用smtpクライアント set realname="Report sender" # 実際な差出名 set from="reports@host.jp" # 「From:」に表示のメールアドレス |
ファイナルテスト:
1 2 |
$ echo "TEST" | mutt –s admin@host.jp $ mutt -a /var/log/messages –s admin@host.jp |
さらに便利にするために・・・
最後に、今回記載したものだけでなくシステムタスクマネジャーを正しく設定すれば、シンプルな方法で、自動的にログと様々なサーバの情報が送信できます。
それに加えて、awkを使えば、より間違えがないと思います。必要なデータだけフィルタリングして、レポートの見やすさが改善できると思います。