En realidad hay una manera mucho más fácil de hacer esto.
Descarga/Documentación: autodrgrep.kl.sh
Comando:
./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 indicarle lo que debe 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 fecha dentro del log que se desea escanear
“INFO” es una de las cadenas que está en las líneas de logs 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 quieres mucho más rápido, particularmente si estás tratando con un archivo de registro enorme.
5 especifica Advertencia. Al especificar 5, le está diciendo al programa que alerte como ADVERTENCIA si hay al menos 5 ocurrencias de las cadenas de búsqueda que especificó
10 especifica Crítico. Al especificar 10, le está diciendo al programa que alerte como CRÍTICO si hay al menos 10 ocurrencias de las cadenas de búsqueda que especificó.
-show especifica qué tipo de respuesta obtendrá. Al especificar -shown, está diciendo que si se encuentra algo que coincida con los patrones especificados, se muestre en pantalla.
Ejecución de ejemplo:
# ./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é pasa si el rango 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 (la última línea de la salida) que dice “ATWFILF” o “ETWNFILF”.
ATWFILF significa que el rango de fechas real o el marco de tiempo que usted solicitó buscar fue encontrado en el registro. Esto es muy bueno.
ETWNFILF significa que el intervalo de fechas o el marco temporal que solicitó buscar NO se encontró en el registro. En este caso, se detectará la hora más cercana a la especificada y se utilizará en su lugar.