【Linux】loggerコマンド意図的にログを発生させる

Linux

loggerコマンド

ログを意図的に発生させることができるのが、loggerコマンドです。そういうコマンドがあるということで検証していますが、実際の業務では使ったことないっすね…。

書式

logger [-p ファシリティ.プライオリティ] [-t タグ] メッセージ

検証 loggerコマンド

※検証はCentOS8で検証しています。

syslog、cronにそれぞれメッセージを送ります。

まずはsyslogでloggerコマンドを実行してみます。

コマンドは問題なく実行されたので、実際のログを見てみます。「/var/log/messages」の末尾をtailコマンドで確認してみます。

loggerコマンドで出力されているのは一番最新のlogにあたる「Sep 10 17:28:40 localhost Test[3041]: logger test msg」の部分です。ログに書き込まれています。
次にファシリティをcronにして検証してます。

こちらもログを実際に見てます。ファシリティを「cron」にしたので、「/var/log/cron 」に書き込まれます。

こちらも末尾に「 Sep 10 17:54:15 localhost omoti[3505]: Do you like ricecake? 」というログが出力されています。無事に送れていますね。

systemd-catコマンド

loggerコマンドに似ているコマンドです。systemd-cat [コマンド]で、コマンドの実行結果をjournalに書き込むことができます。これも実際の業務で使ったことないです…。

jounalctlコマンドで表示される末尾を見ましょう。

確かに、freeコマンドの実行結果が書き込まれていますね。

実際の使い道ってなんだろう?

そもそもこの記事でloggerコマンドを検証したのは、LPICのテキストに載っていたからとりあえず実行してみただけで、特に深く使い道なんて考えていなかったんですね。

「ログを意図的に発生させたい状況ってなんだろう?」を私なりに考えてみましたが、ログ監視の検証の際には使えるんじゃないかなと思いました。例えば「/var/log/messagesにfatalという文字列が出力されたらSNMPトラップ送信させたい!」という要件があったとして、その設定がちゃんと反映されているか確認したいときは、loggerコマンドでサクッと検証できますよね。わざわざ事象を再現しなくても、ログ監視の機能だけを見たい場合なんかは、結構使えるんじゃないかな。

…とはいえ、上記で書いた通り私はまじめな目的で使ったことないので、「監視設定を確認するのに便利とか使えるかも」とかは想像ですよ。そういうことしたいと思った人は是非どうぞ試してみてください。

2022/03/18 追記

冒頭に実務で使用したことがないと書きましたが、ついに使ったので追記します。

どんな時に使ったかといいますと、NW機器のファームアップ時のログ転送ができているかを検証する際に使いました。(NW機器からのログは随時出ているのでloggerコマンドが必要だったかは正直微妙でしたが…)

タイトルとURLをコピーしました