NAGIOS - EPOCH KEPADA TARIKH SENANG BACA

Kadang-kadang malas nak baca maklumat dari GUI. Maklumat yang sama boleh diperolehi dari nagios.log atau folder arkibnya.

Yang tak berapa menarik adalah tarikhnya adalah dalam bentuk epoch. Jadi terpaksalah ditukarkan kepada tarikh yang senang nak di baca.

Pendek cerita, buat sahaja macam di bawah:

perl -pe's/([\d.]+)/localtime $1/e;' nagios.log

Selain ini, boleh juga guna script dari laman ini.

Kalau malas nak klik, ini dia script asal dari laman tersebut:

#!/usr/bin/perl

# ------------------------------------------------------------
# fixnag.pl
# ------------------------------------------------------------
# a script to take nagios.log records as input, and then
# output them with the date field converted to something
# human-readable
# ------------------------------------------------------------

sub epochtime
{
  my $epoch_time = shift;
  ($sec,$min,$hour,$day,$month,$year) = localtime($epoch_time);

  # correct the date and month for humans
  $year = 1900 + $year;
  $month++;

  return sprintf("%02d/%02d/%02d %02d:%02d:%02d", $year, $month, $day, $hour, $min, $sec);
}

while (<>)
{
  my $epoch = substr $_, 1, 10;
  my $remainder = substr $_, 13;
  my $human_date = &epochtime($epoch);
  printf("[%s] %s", $human_date, $remainder);
}

exit;

Comments