Bunu yapmanın çok daha kolay bir yolu var.
İndirme / Dökümantasyon: autodrgrep.kl.sh
Komut:
./autodrgrep.kl.sh notchef /tmp/client.log '2016-05-08_08:00:00,2016-05-08_23:00:00' 'INFO' 'a2ensite' 5 10 -show
Açıklama:
autodrgrep.kl.sh aracın adıdır.
notchef, ne yapması gerektiğini bildirmek için araca geçirilen bir seçenektir. Bu özel durumda, araca /tmp/client.log dosyasının ne tür bir günlük dosyası olduğunu söyler.
/tmp/client.log elbette günlük dosyasıdır.
2016-05-08_19: 12: 00,2016-05-08_21: 13: 00, taramak istediğiniz günlükteki tarih aralığı
"BİLGİ", ilgilendiğiniz günlük satırlarında bulunan dizelerden biridir.
"a2ensite", "INFO" dizesini bulmayı beklediğiniz satırın aynı satırında başka bir dizedir. Bu iki dizenin belirtilmesi (INFO ve a2ensite), özellikle çok büyük bir günlük dosyasıyla uğraşıyorsanız, daha çok istediğiniz satırları ayırır ve işler.
5, Uyarı'yı belirtir. 5 belirterek, belirttiğiniz arama dizelerinin en az 5 örneği varsa, programa UYARI olarak uyarmasını söylersiniz.
10, Kritik'i belirtir. 10 belirterek, belirttiğiniz arama dizelerinin en az 10 tanesi varsa, programa KRİTİK olarak uyarmasını söylersiniz.
-show ne tür bir cevap alacağınızı belirtir. -Shown'u belirterek, belirtilen kalıplarla eşleşen bir şey bulunup bulunmadığını, ekrana çıktısını söyleyin.
Örnek çalışma:
# ./autodrgrep.kl.sh notchef /tmp/client.log '2016-05-08_19:12:00,2016-05-08_21:13:00' 'INFO' 'a2ensite' 5 10 -show
[2016-05-08 19:12:58-07:00] INFO: Processing template[/usr/sbin/a2ensite] action create (apache2::default line 90)
[2016-05-08 19:12:58-07:00] INFO: Processing execute[a2ensite default] action run (apache2::default line 24)
[2016-05-08 19:12:58-07:00] INFO: execute[a2ensite default] ran successfully
[2016-05-08 19:13:09-07:00] INFO: Processing execute[a2ensite nagios3.conf] action run (logXrayServer::install line 24)
[2016-05-08 19:13:12-07:00] INFO: execute[a2ensite default] sending restart action to service[apache2] (delayed)
[2016-05-08 19:42:57-07:00] INFO: Processing template[/usr/sbin/a2ensite] action create (apache2::default line 90)
[2016-05-08 19:42:57-07:00] INFO: Processing execute[a2ensite default] action run (apache2::default line 24)
[2016-05-08 19:42:57-07:00] INFO: execute[a2ensite default] ran successfully
[2016-05-08 19:43:08-07:00] INFO: Processing execute[a2ensite nagios3.conf] action run (logXrayServer::install line 24)
[2016-05-08 19:43:11-07:00] INFO: execute[a2ensite default] sending restart action to service[apache2] (delayed)
[2016-05-08 20:12:58-07:00] INFO: Processing template[/usr/sbin/a2ensite] action create (apache2::default line 90)
[2016-05-08 20:12:58-07:00] INFO: Processing execute[a2ensite default] action run (apache2::default line 24)
[2016-05-08 20:12:58-07:00] INFO: execute[a2ensite default] ran successfully
[2016-05-08 20:13:10-07:00] INFO: Processing execute[a2ensite nagios3.conf] action run (logXrayServer::install line 24)
[2016-05-08 20:13:12-07:00] INFO: execute[a2ensite default] sending restart action to service[apache2] (delayed)
[2016-05-08 20:42:59-07:00] INFO: Processing template[/usr/sbin/a2ensite] action create (apache2::default line 90)
[2016-05-08 20:42:59-07:00] INFO: Processing execute[a2ensite default] action run (apache2::default line 24)
[2016-05-08 20:42:59-07:00] INFO: execute[a2ensite default] ran successfully
[2016-05-08 20:43:09-07:00] INFO: Processing execute[a2ensite nagios3.conf] action run (logXrayServer::install line 24)
[2016-05-08 20:43:12-07:00] INFO: execute[a2ensite default] sending restart action to service[apache2] (delayed)
[2016-05-08 21:12:59-07:00] INFO: Processing template[/usr/sbin/a2ensite] action create (apache2::default line 90)
[2016-05-08 21:12:59-07:00] INFO: Processing execute[a2ensite default] action run (apache2::default line 24)
[2016-05-08 21:12:59-07:00] INFO: execute[a2ensite default] ran successfully
23
2---78720---23---ATWFILF---(2016-05-08)-(19:12)---(2016-05-08)-(21:13) SEAGM
Kullanıcı belirtilen tarih aralığı veya zaman dilimi günlükte değilse ne olur?
Yukarıdaki komutun her çalışması daima "ATWFILF" veya "ETWNFILF" yazan bir satıra (çıktının son satırı) sahip olacaktır.
ATWFILF, aranmasını istediğiniz gerçek tarih aralığının veya zaman çerçevesinin kayıt defterinde bulunduğu anlamına gelir. Yani bu çok iyi.
ETWNFILF, aranmasını istediğiniz gerçek tarih aralığını veya zaman çerçevesini kayıt defterinde bulunamadı. Bu durumda, belirttiğiniz zamana en yakın zaman tespit edilir ve bunun yerine kullanılır.
^[^ ]+