Sebenarnya ada cara yang jauh lebih mudah untuk melakukan ini.
Unduh / Dokumentasi: autodrgrep.kl.sh
Perintah:
./autodrgrep.kl.sh notchef /tmp/client.log '2016-05-08_08:00:00,2016-05-08_23:00:00' 'INFO' 'a2ensite' 5 10 -show
Penjelasan:
autodrgrep.kl.sh adalah nama alat.
notchef adalah opsi yang diteruskan ke alat untuk memberi tahu apa yang harus dilakukan. Dalam kasus khusus ini, ia memberi tahu alat apa jenis file log /tmp/client.log.
/tmp/client.log tentu saja file log.
2016-05-08_19: 12: 00,2016-05-08_21: 13: 00 adalah rentang tanggal dari dalam log yang ingin Anda pindai
"INFO" adalah salah satu string yang ada di baris log yang Anda minati.
"a2ensite" adalah string lain pada baris yang sama yang Anda harapkan untuk menemukan string "INFO". Menentukan dua string ini (INFO dan a2ensite) mengisolasi dan memproses garis yang Anda inginkan jauh lebih cepat, terutama jika Anda berurusan dengan file log besar.
5 menentukan Peringatan. Dengan menentukan 5, Anda memberi tahu program untuk mengingatkan sebagai PERINGATAN jika setidaknya ada 5 kemunculan string pencarian yang Anda tentukan
10 menentukan Kritis. Dengan menentukan 10, Anda memberi tahu program untuk mengingatkan sebagai KRITIS jika setidaknya ada 10 kemunculan string pencarian yang Anda tentukan.
-show menentukan jenis respons apa yang akan Anda dapatkan. Dengan menentukan -shown, Anda mengatakan jika ada yang cocok dengan pola yang ditentukan, keluaran ke layar.
Contoh dijalankan:
# ./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
Bagaimana jika rentang tanggal atau kerangka waktu yang ditentukan pengguna tidak ada dalam log?
Setiap menjalankan perintah di atas akan selalu memiliki garis (baris terakhir dari output) yang mengatakan "ATWFILF" atau "ETWNFILF".
ATWFILF berarti bahwa rentang tanggal aktual atau kerangka waktu yang Anda minta dicari ditemukan di log. Jadi ini sangat bagus.
ETWNFILF berarti rentang tanggal aktual atau kerangka waktu yang Anda minta dicari TIDAK ditemukan dalam log. Dalam hal ini, waktu terdekat dengan waktu yang Anda tentukan akan dideteksi dan digunakan sebagai gantinya.
^[^ ]+
bagiannya ..