[LINUX] Extraire les erreurs de code d'état de la série 400,500 d'Apache (combine_tsv) en spécifiant la plage de temps

Puisque je veux spécifier en notation HH: MM: SS, utilisez sed pour rendre la partie temporelle indépendante. À propos, le numéro de port à la fin de l'adresse IP est également omis. En spécifiant l'heure de début et l'heure de fin dans HH: MM: SS, le code d'état sera modifié dans l'heure spécifiée. Il est possible d'extraire la ligne qui est le code d'erreur.

python


sed -r -e\ 's/(:[0-9]{4,5}|\/202[0-9]:)/ /'{,} /var/log/apache2/20200715/access_log | awk '"HH:MM:SS" <=$5&&$5<= "HH:MM:SS" {if($10>=400&&$10<=599)print $0}'

Quand je l'ai utilisé, cela fonctionnait comme prévu, mais il était assez difficile de modifier l'heure. Alors, est-il possible d'afficher une heure avant l'heure actuelle sans se soucier de la modifier? Suite à une réflexion, j'ai décidé d'utiliser la date et de laisser awk définir la variable.

python


sudo sed -r -e\ 's/(:[0-9]{4,5}|\/202[0-9]:)/ /'{,} /var/log/apache2/20200715/access_log | awk -va=`date -d "60 minute ago" +%H:%M:%S` -vb=`date +%H:%M:%S` '{if($5>a&&$5<b&&$10>=400&&$10<=599)print $0}'

Si vous souhaitez réduire la sortie dans une certaine mesure, spécifiez la pièce à imprimer.

Recommended Posts

Extraire les erreurs de code d'état de la série 400,500 d'Apache (combine_tsv) en spécifiant la plage de temps
Extrayez l'erreur de code d'état de la série 400500 du journal d'accès Apache en spécifiant la plage de temps
Lisez le fichier en spécifiant le code de caractère.