M-Detect
Analyseur de log pour IBMI
De MappingDoc
Introduction
Cette documentation décrit le cas d'usage d'un de nos clients de M-Detect permettant de détecter certaines erreurs dans leurs logs IBMI. (QPJOBLOG)
De manière générale, l'analyseur de log M-Detect permet de :
- Anticiper les incidents
- Identifier les erreurs dans la masse d’information
- Réduire le temps consacré à l’analyse
- Prévenir le bon interlocuteur suivant les règles définies
Le but principal étant d'Assurer la qualité de service en anticipant les incidents.
Principe de fonctionnement
Le fichier spool de log QPJOBLOG est envoyé à un serveur ONYX. Un fichier de paramétrage est utilisé pour déterminer quelles lignes du fichier QPJOBLOG doivoient être incluse et/ou excluse du rapport généré et envoyé par email par M-Detect.
Fichier de paramétrage
Le fichier de paramétrage permet de paramétrer les remontés de logs.
Exemple
<param> <spool> <attributes> //Si le spool reçu depuis IMBI respecte les critères suivants <USER cmp="not-contains">MER</USER> //Le nom de l'utilisateur du spool ne contient pas la valeur "MER" <SPLF>QPJOBLOG</SPLF> //Le nom du spool est QPJOBLOG <SPLF>QPJOBLOG1</SPLF> //OU Le nom du spool est QPJOBLOG1 <SPLNUM cmp="-le">1<SPLNUM> //Le numéro de spool est inférieur ou égal à 1 <JOB cmp="begin">FACPRD</JOB> //Le nom du job commence par FACPRD <HOSTNAME>ASP2</HOSTNAME> //Le nom du host vaut FACPRD <NBPAGES cmp="-le">500</NBPAGES> //Le nombre de pages est inférieur ou égal à 500 <OUTQ cmp="-ne">PRT9</OUTQ> //L'OUTQ d'origine IBMI est différent de PRT9 <USRDTA>MY CUSTOM DATA</USRDTA> //L'attribut du spool Référence utilisateur est égale à MY CUSTOM DATA </attributes> <variables> //On initialise des variables avec le contenu du spool <variable name="VARENV" page="1" line="4" col="42" len="3"/> //On crée et initialise la variable VARENV avec le contenu du spool en page 1, ligne 4, colonne 42 sur une longueur de 3 <variable name="test" page="2" line="9" col="60" len="6"/> //On crée et initialise la variable test avec le contenu du spool en page 2, ligne 9, colonne 60 sur une longueur de 6 </variables> <email> //paramétrage de l'envoi d'email <from>citmapping@mappingsuite.com</from> <to>nsmet@mappingsuite.com</to> <to>test@gmail.com</to> <cc>jdieu@mappingsuite.com</cc> <mll-file>ACH600_CDCHS.mll</mll-file> <mll-file>Mailing_list_2.txt</mll-file> <object>[[test]] [[VARENV]]- ASP1 ANO - Journalière - [[JOB]] de [[USER]] n° [[JOBNUM]] - [[DATESPL]] --> QPJOBLOG</object> <message>Ceci est le corps de message de mon mail pour [[USER]]</message> </email> <lines> //paramétrage des lignes à inclure/exclure dans le rapport <include col="58" cmp="-eq">ERR</include> //Inclure si dans la ligne il y a la valeur "ERR" en colonne 58 <include col="40" len="50">err</include> //Inclure si dans la ligne il y a la valeur "err" entre la colonne 40 et la colonne 90 <include>non restauré(s) dans</include> //Inclure si dans la ligne il y a la valeur "non restauré(s)" <include>; code fin 40 .</include> //Inclure si dans la ligne il y a la valeur "'; code fin 40"' <include>; code fin 30 .</include> //Inclure si dans la ligne il y a la valeur "; code fin 30" <include>; code fin 50 .</include> //Inclure si dans la ligne il y a la valeur "; code fin 50" <include>; code fin 20 .</include> //Inclure si dans la ligne il y a la valeur "; code fin 20" <include>; code fin 60 .</include> //Inclure si dans la ligne il y a la valeur "; code fin 60" <include>LOT DEJA TRAITE LE</include> //Inclure si dans la ligne il y a la valeur "LOT DEJA TRAITE LE" <include>lot refuse</include> //Inclure si dans la ligne il y a la valeur "lot refuse" <exclude>: la facture de la précédente</exclude> //Exclure si dans la ligne il y a la valeur ": la facture de la précédente" <exclude>Message....: ERR : données GOP incomplètes</exclude> //Exclure si dans la ligne il y a la valeur "Message....: ERR : données GOP incomplètes" <exclude>ERR : impossible de traiter Org</exclude> //Exclure si dans la ligne il y a la valeur "ERR : impossible de traiter Org" <exclude>ERR : Paramètrage non trouvé.</exclude> //Exclure si dans la ligne il y a la valeur >"ERR : Paramètrage non trouvé." <nextline col="1" len="39" cmp="empty"></nextline> //Si une ligne est vide entre la colonne 11 et la colonne 39, alors la ligne correspond à la suite du message de la ligne d'avant. Celle-ci doit alors être inclus dans le rapport <reject-splf>Spool_demo</reject-splf> //si une ligne correspond à ce critère, alors le spool est entièrement rejeté </lines> </spool> </param>