Utilisation de Logparser pour les logs IIS : Status code, erreurs 404, erreurs 500, fréquentation
Bonjour,
Voici quelques requêtes Logparser utiles pour la surveillance d’un serveur Web.
Bonne utilisation,
Sebastien.
Pourcentage des codes de retour
StatusCode.sql
SELECT sc-status as Statut, COUNT(*) as NbRequetes, MUL(PROPCOUNT(*),100) as % FROM ex\*.log GROUP BY sc-status |
A partir des données de sortie, vous pouvez facilement créer un graphique (cf. ci-dessous) avec un copier/coller dans Excel par exemple.
Erreurs 404 - Fichiers inexistants
Url404.sql
SELECT cs-uri-stem as Url, COUNT(*) as NbRequetes FROM ex\*.log WHERE sc-status = 404 GROUP BY cs-uri-stem |
Ce type de requête permet d’identifier les pages/fichiers/images n’existant pas, bien qu’étant toujours référencés par des pages de l’application. Vous pouvez aussi repérer par ce biais, les urls mal orthographiées.
Erreurs 500 - Erreurs ASP.NET
Url500.sql
SELECT cs-uri-stem as Url, COUNT(*) as NbRequetes FROM ex\*.log WHERE sc-status = 500 GROUP BY cs-uri-stem |
Le but est de pouvoir rapidement vérifier si une url/page est la source d’une grande partie des erreurs du site Web.
Url500Completes.sql
SELECT cs-method as Methode, UrlComplete, sc-substatus as SousStatut, sc-win32-status as Win32Statut USING STRCAT(cs-uri-stem, REPLACE_IF_NOT_NULL(cs-uri-query, STRCAT('?', cs-uri-query))) as UrlComplete FROM ex\*.log WHERE sc-status = 500 |
En ajoutant, les informations sur le verbe HTTP et la querystring, il est possible de commencer les investigations.
Fréquentation - Nombre de requêtes par heure
NbRequetesParHeure.sql
SELECT TO_LOCALTIME(QUANTIZE(time,3600)) AS Heure, COUNT(*) AS NbRequetes FROM ex\*.log GROUP BY Heure ORDER BY Heure ASC |
Cette requête est intéressante car elle utilise la fonction "QUANTIZE" qui permet dans ce cas, de regrouper tous les accès par tranches de 3600s (1h). Cela nous permet de visualiser l’évolution de la fréquentation du site Web.
Comme décrit dans mon précédent post, pour utiliser ces requêtes, il vous suffit de lancer le fichier "LancerLogParserSurLogsIIS.cmd" avec le nom du fichier .sql en entrée et le nom du fichier .txt en sortie. Par exemple :
LancerLogParserSurLogsIIS.cmd Url404.sql Url404.txt |
Pour rappel, le fichier LancerLogParserSurLogsIIS.cmd est :
Logparser.exe file:%1 -i:IISW3C -o:TSV > %2 |
Comments
- Anonymous
March 16, 2009
PingBack from http://www.clickandsolve.com/?p=23659