Nagios のログの日付を変換しながら読むには
監視ソフトウェア Nagios のログファイル「/var/log/nagios/nagios.log」は日付フォーマット(=最初のカラム)がエポック秒になっています。これを見やすいように変換する簡単なスクリプト nagioslogview.rb を書いたので、以下に公開しておきます。同様に小さなストレスを抱えている方の解決策になれば嬉しいです。(^-^)
■nagioslogview.rb
#!/usr/bin/env ruby if (ARGV.size == 0) nagios_log_file="/var/log/nagios/nagios.log" else nagios_log_file=ARGV[0] end File.open(nagios_log_file) do |f| while line = f.gets column = line.split column[0] = Time.at(column[0].slice(/\d+/).to_i) column[0] = column[0].to_s.split[0 .. 3].join(" ") column[0] = column[0].to_s.insert(0, "[").insert(-1, "]") puts column.join(" ") end end
■使い方
$ nagioslogview.rb /var/log/nagios/nagios.log
■変換前(エポック秒のため実際の時間がわかりづらい)
$ less /var/log/nagios/nagios.log (... snip ...) [1274194965] Auto-save of retention data completed successfully. (... snip ...)
■変換後
$ nagioslogview.rb /var/log/nagios/nagios.log (... snip ...) [Wed May 19 00:02:45] Auto-save of retention data completed successfully. (... snip ...)