En realidad, hay una manera mucho más fácil de hacer esto.
Descarga / Documentación: autodrgrep.kl.sh
Mando:
./autodrgrep.kl.sh notchef /tmp/client.log '2016-05-08_08:00:00,2016-05-08_23:00:00' 'INFO' 'a2ensite' 5 10 -show
Explicación:
autodrgrep.kl.sh es el nombre de la herramienta.
notchef es una opción que se pasa a la herramienta para decirle qué hacer. En este caso particular, le dice a la herramienta qué tipo de archivo de registro es /tmp/client.log.
/tmp/client.log es, por supuesto, el archivo de registro.
2016-05-08_19: 12: 00,2016-05-08_21: 13: 00 es el rango de fechas desde el registro que desea escanear
"INFO" es una de las cadenas que se encuentra en las líneas de registros que le interesan.
"a2ensite" es otra cadena en la misma línea en la que espera encontrar la cadena "INFO". Especificar estas dos cadenas (INFO y a2ensite) aísla y procesa las líneas que desea mucho más rápido, especialmente si se trata de un archivo de registro enorme.
5 especifica Advertencia. Al especificar 5, le está diciendo al programa que avise como ADVERTENCIA si hay al menos 5 apariciones de las cadenas de búsqueda que especificó
10 especifica Crítico. Al especificar 10, le está diciendo al programa que avise como CRÍTICO si hay al menos 10 ocurrencias de las cadenas de búsqueda que especificó.
-show especifica qué tipo de respuesta obtendrás. Al especificar -shown, está diciendo si se encuentra algo que coincida con los patrones especificados, salida a la pantalla.
Ejecución de muestra:
# ./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
¿Qué sucede si el intervalo de fechas o el marco de tiempo especificado por el usuario no está en el registro?
Cada ejecución del comando anterior siempre tendrá una línea (última línea de la salida) que dice "ATWFILF" o "ETWNFILF".
ATWFILF significa que el intervalo de fechas o el marco de tiempo real que solicitó buscado se encontró en el registro. Entonces esto es muy bueno.
ETWNFILF significa que el intervalo de fechas o el marco de tiempo real que solicitó buscar NO se encontró en el registro. En este caso, se detectará y utilizará en su lugar el tiempo más cercano al tiempo que especificó.
^[^ ]+
parte ..