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.

SatusCode

 

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.

FrenquentationTXT

FrenquentationGraphique

 

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

Skip to main content