Vous êtes sur la page 1sur 19

haIntenance Commands portstat(1h)

Ih WebHostIng Last change: 20051115 portstat v.3.34.84



NAME
portstat monItorIng des connexIons tcp/Ip tablIes sur des ports rfrencs, avec possIbIlIt
de comptabIlIsatIon d'InformatIons annexes (monItorIng du nombre de process, ...) et support
de l'excutIon de tches prconfIgures en table sur atteInte de certaInes valeurs seuIls.

VersIon actueIIe
La versIon courante de portstat est la J.J4.84 (portstat -v pour obtenIr versIon et syntaxe)

SYNOPSIS
portstat [f table][Interval][count][header_Interval][keyword1keyword2..]

DESCRIPTION
Le scrIpt portstat est prvu pour effectuer un monItorIng des connexIons tablIes sur certaIns
ports tcp/Ip dclars en table. En outre Il est conu pour permettre d'affIcher en complment
un comptage du nombre de process correspondant un pattern galement prrenseIgn en
table.
En plus de ces deux types d'usages orIents monItorIng la table accepte galement la dfInItIon
d'alertes quI pourront, le cas chant, tre dclanches en fonctIon d'un seuIl donn, avec
excutIon des actIons assocIes.

La table utIlIse par dfaut se nomme portstat.tab. l est possIble de prcIser en lIgne de
commande un nom de table dIffrent, et donc d'utIlIser une varIt de tables en fonctIon des
besoIns.

L'affIchage se faIt selon la mme logIque que les outIls standards de monItorIng (vmstat,
Iostat,..), savoIr une lIgne par mesure, avec affIchage des dIffrentes InformatIons
recherches dans le nombre adquat de colonnes. Le paramtrage de la largeur des colonnes
est possIble, que ce soIt en table comme en lIgne.

Par dfaut une seule mesure est effectue. l est possIble, comme pour les autres outIls de
monItorIng cIts, de prcIser en lIgne de commande le nombre de mesures effectuer, aInsI
que l'Intervalle entre deux mesures conscutIves.


OPTIONS

Les optIons suIvantes sont supportes.

-v
AffIchage de la versIon du scrIpt et rappel de la syntaxe.

-f tabIe>
Permet d'IndIquer la table de rfrence utIlIser. La table par dfaut se nomme portstat.tab.
Les tables doIvent tre localIses dans le mme rpertoIre que la commande portstat.


OPERANDES

haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84

Les oprandes suIvantes sont supportes.

IntervaI>
ntervalle entre deux mesures, dans le cas ou le nombre de mesures est dIffrent de 1.

count>
Nombre de mesures (dfaut=1).

header_IntervaI>
Frquence de rptItIon de l'entte de colonnes. Par dfaut le header est rpt toutes les 20
mesures, de manIere tre toujours apparent sur la fentre d'affIchage. Une valeur de 0 lImIte
l'affIchage au seul header InItIal (pas de rptItIon).


MOT-CLEFS


LIste des motclefs autorIss :


Mots-clefs de paramtrage du header

nodIspIay
Les InformatIons de monItorIng n'apparaIssent pas (statIstIques comme headers).
Ce mode permet de n'affIcher l'cran que les seuls messages prvus cet effet dans les
taches prprogrammes sur dclanchement d'alertes. Ce mode vIte un scrollIng InutIle
l'cran, en donnant acces un monItorIng 'passIf' se lImItant exclusIvement aux seuls messages
d'alerte 'rels'.

noheader
Le header n'apparat pas.

fuIIheader
Le header apparat dans une forme plus complete, savoIr avec rappel des ports
locaux/remotes monItors en plus des enttes de colonnes.


Mots-clefs de paramtrage de la largeur du display

adjust
L'affIchage des colonnes se faIt en adaptant la largeur de cellescI la largeur des enttes eux
mmes, afIn d'optImIser au mIeux l'utIlIsatIon de l'cran (largeur de colonne varIable). Par
dfaut, sI rIen n'est spcIfI en table, la largeur des colonnes est fIxe, sur 6 caracteres.

Femarque :par scurIt, une largeur mInImale de J caracteres est applIque, cecI afIn d'assurer
un affIchage correct pour des valeurs de mesures de connexIons allant jusqu' 999 (valeur
haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84

usuellement suffIsante). CecI est vraI mme sI l'entte de colonne adopte la largeur mInImale
quI puIsse luI tre assIgne, savoIr 2 caracteres. Cette dIsposItIon n'est effectIve que depuIs la
versIon J.24.84.

adjust:vaIue>
L'affIchage des colonnes est 'forc' la valeur passe en arguments. Par dfaut, sI rIen n'est
spcIfI en table, la largeur des colonnes est de 6 caracteres. Pour InformatIon Il est par
exemple possIble d'affIcher jusqu' 15 colonnes sur un cran de 80 caracteres de large, en
utIlIsant la valeur J. 0ans le cas ou les lIbells de colonnes comportent plus de caracteres que
prcIss dans le paramtrage du motclef adujst, ceuxcI seront tronqus l'affIchage, maIs le
fonctIonnement du traItement de portstat n'en sera pas affect. La valeur mInImale accepte
est de 2 caracteres.

Femarque :pour des raIsons hIstorIques, la forme adjust=value reste accepte sous unIx. Elle
est rIgoureusement InterdIte sous wIndows, pour des raIsons d'IncompatIbIlIt dans le parsIng
des varIables.


Mots-clefs de paramtrage du mode excution

exec
ActIvatIon du mode excutIon. Par dfaut aucune excutIon de commande prprogramme en
table n'est effectue en l'absence de cette dclaratIon explIcIte en lIgne de commande, ce quI
permet de procder des lancements de portstat sans rIsquer de dclancher des actIons non
souhaItes.

fuIIexec
ActIvatIon du mode excutIon force. Par dfaut le mode excutIon est Inoprant par scurIt
dans certaIns contextes :

mode debug actIv (voIr les motsclefs assocIs).
lancement de portstat avec une seule mesure (sans prcIsIon du parametre 'count').
lancement de portstat en mode multImesures (parametre 'count' prcIs), maIs avec un
Intervalle entre mesures trop faIble (parametre 'Interval' IndIqu, maIs avec une valeur
InfrIeure ou gale 900 secondes, soIt 15 mInutes).

0ans ces confIguratIons partIculIeres, et sI une excutIon de commandes est malgr tout
souhaIte, la varIante 'fullexec' doIt alors tre utIlIse en remplacement du mot clef classIque
'exec'.


Mots-clefs de paramtrage du mode debug

Iowdebug
ActIvatIon du mode debug 'lIght'.
Ce mot clef permet d'obtenIr, en sus des InformatIons de mesures ellesmmes, un certaIn
nombre de tables et lIstes relatIves aux alertes/tches dclanches, permettant un debug de la
sessIon de monItorIng.

debug
ActIvatIon du mode debug.
haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84

En plus des InformatIons fournIes vIa le motclef 'lowdebug' sont affIches d'autres tables et
lIstes permettant un debug plus pouss.

fuIIdebug
ActIvatIon du mode debug complet.
En plus des InformatIons fournIes vIa le motclef 'debug', sont affIchs le dtaIl de l'ensemble
des cas rencontrs (exploItatIon de la sortIe de la commande netstat Invoque lors du
traItement), aInsI que la lIste des process actIfs pendant le lancement de la sessIon de portstat.


Mots-clefs divers

noptIm (v.3.24.78 et sup.)
0sactIvatIon de l'optImIsatIon de l'excutIon des monItorIng de process Invoquant la
commande ps -ef actIv par dfaut (voIr la sectIon spcIfIque en fIn de manuel).

nofIag (v.3.25.80 et sup.)
0sactIvatIon de l'utIlIsatIon du flag de statut d'actIon normalement affIch par dfaut.

coIor (v.3.2.83 et sup.)
ActIvatIon du mode de colorIsatIon des valeurs monItors et/ou en alerte.

csv:fIchIer> (v.3.34.84 et sup.)
ActIvatIon de la gnratIon d'une trace au format csv, pour exploItatIon vIa une applIcatIon
telle qu'un tableur, etc..
Le sparateur de champ est par dfaut le ' ;'
Le nom complet du fIchIer doIt tre fournI en argument (sans espaces)

Exemple : csv:/tmp/portstat.csv

csvsep:sparateur> (v.3.34.84 et sup.)
|odIfIcatIon du sparateur de champ utIlIs pour la trace csv (dfaut=';').
Le sparateur doIt fIgurer dans la lIste suIvante :
E - # @ + _ = . , ; : et l'espace

Exemple : csvsep:''


FORMAT DE LA TABLE DE CONFIGURATION

Une table de confIguratIon doIt ncessaIrement tre renseIgne pour pouvoIr utIlIser portstat.

La table par dfaut se nomme portstat.tab, maIs Il est possIble au lancement du traItement de
prcIser le nom de la table de son choIx.

Cette possIbIlIt permet de prdfInIr plusIeurs types de tables, apportant chacune leur propre
claIrage sur les connexIons en cours (table utIlIse pour le monItorIng vIa la crontab, table utIlIse
pour un monItorIng dIrect, table permettant d'affIcher le dtaIl de certaIns types de connexIons
pour analyse plus pousse, etc..).
haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84


Le format en est le suIvant (les lIgnes vIerges ou prcdes d'un dIese (#) sont Ignores).

J types de lIgnes sont supportes :

les lIgnes pour monItorIng de connexIons (type 'port')
les lIgnes pour monItorIng d'un nombre de process actIfs (type 'proc')
les lIgnes pour prconfIguratIon de commandes devant tre lances sur atteInte de seuIl (type
'task')

Chaque lIgne comporte un nombre de champs varIables, dont le dtaIl dpend de son type. Le
sparateur de champ est le ' ;'


Premier cas - Type port (monitoring de port)

#CAS 0'UN PDFT
# Type;text;localP;localPort;remoteP;remotePort;columnwIdth ; taskIfmIn ;mInvalue ;taskIfbet ;
maxvalue ;taskIfmax ; equalvalue ;taskIfequal ; notequalvalue ;taskIfnotequal ;

Seuls les champs 'type', 'text' et l'un au moIns des champs 'localP','localPort','remotep' ou
'remotePort' sont requIs.

(0ans le descrIptIf suIvant la valeur entre parentheses correspond au pattern 'abrg' dfInI plus
loIn dans la documentatIon)


champ01: type (IcI 'port')
champ02: text (lIbell de colonne)

champ0J: localp=adresse P locale devant tre monItore (le cas chant)
champ04: localPort=port local devant tre monItor (le cas chant)

champ05: remotep=adresse P remote devant tre monItore (le cas chant)
champ06: remotePort=port remote devant tre monItor (le cas chant)

champ07: columnwIdth =largeur d'affIchage de la colonne (facultatIf - dfaut=6 caracteres -
mInImum=2).

champ08: taskIfmIn=nom de la tache devant tre excute sI le nombre de connexIon observ
est InfrIeur au seuIl mInImum IndIqu (mInvalue).
(valeur abrge='If')
champ09: mInvalue=valeur seuIl 'mInImum'
(valeur abrge='I')


champ10: taskIfbet=nom de la tache devant tre excute sI le nombre de connexIon observ
est suprIeur ou gal au seuIl mInImum IndIqu (mInvalue), et InfrIeur au seuIl
maxImum (maxvalue).
(valeur abrge='If8')


champ11: maxvalue=valeur seuIl 'maxImum'
(valeur abrge='s')
champ12: taskIfmax=nom de la tache devant tre excute sI le nombre de connexIon observ
est suprIeur ou gal au seuIl maxImum IndIqu (maxvalue).
(valeur abrge='IfS')

haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84


champ1J: equalvalue=valeur seuIl 'equal'.
(valeur abrge='e')
champ14: taskIfequal=nom de la tache devant tre excute sI le nombre de connexIon
observ est gal au seuIl equal IndIqu (equalvalue).
(valeur abrge='IfE')


champ15: notequalvalue=valeur seuIl 'not equal'
(valeur abrge='d')
champ16: taskIfnotequal=nom de la tache devant tre excute sI le nombre de connexIon
observ est dIffrent du seuIl not equal IndIqu (notequalvalue).
(valeur abrge='If0')



# exemple : nombre de connexIons http sur le port local 80, avec dclanchement d'une alerte sI le
nombre de connexIons observes est suprIeur ou gal 70. 0ans ce cas la tche execute aura
pour nom 'httpsup70' (voIr l'entre correspondante de type 'task' pour le dtaIl de cellecI).

port;http;;80;;;;;;; 70,httpsup70 ;

Femarque :Il est possIble de spcIfIer dans un champ plusIeurs tches excuter en sparant celles
cI par une vIrgule (versIon J.26.80 et suIvantes)


Remarque sur les libells de colonne dans le cas du monitoring de ports

Le monItorIng de port accepte le support du monItorIng cumul de plusIeurs ports avec
affIchage du rsultat dans une colonne unIque. Dn parle alors de cas de rfrence : sI plusIeurs
monItorIng de ports sont dclars en table en utIlIsant le mme lIbell, alors le premIer cas
dclar est dIt 'de rfrence', et les valeurs observes pour les suIvants seront cumuls dans
cette premIere colonne.

Par exemple les dclaratIons suIvantes :
port;http;;80 ;;;
port;http;;8080 ;;;
port;http;;81 ;;;
permettent de cumuler la totalIt des connexIons observes sur les ports locaux 80, 8080 et 81
dans une seule colonne quI sera lIbelle 'http'.

l est par extensIon possIble de rutIlIser sous plusIeurs formes les mmes lments de
monItorIng de ports.

AInsI, la forme suIvante, un petIt peu plus complexe en apparence :
port;http;;80 ;;;
port;http;;8080 ;;;
port;http;;81 ;;;
port;http80;;80 ;;;
port;http8008;;8080 ;;;
port;http81;;81 ;;;
permet d'affIcher le mme InformatIons de cumul des connexIons http 'tout types confondus'
dans la colonne 'http', maIs galement d'en fournIr la ventIlatIon dans des colonnes ddIes
chaque type de port : en colonne 'http80' pour les connexIons sur le port local 80, 'http8080'
pour celles du port local 8080, etc..

0ernIere prcIsIon : la largeur par dfaut des colonnes est de 6 caracteres. l est par consquent
plus que judIcIeux de choIsIr ses lIbells en se basant sur cette taIlle maxImum. 0ans le cas
haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84

contraIre (nom plus long que 6 caracteres), une troncature est opre l'affIchage : cecI tant,
le regroupement ventuel d'InformatIons sur une seule colonne est toujours bas sur le nom
complet de la colonne, et sera donc correctement effectu. l est possIble de forcer
l'affIchage la largeur de la colonne une valeur autre que 6 caracteres vIa le champ
correspondant de l'entre en table, soIt encore en utIlIsant le motclef 'adjust' (voIr le dtaIl
des motclefs cIdessus).


Second cas - Type proc (monitoring de process)

# CAS 0'UN PFDCESS
# Type; text; command;columnwIdth ; taskIfmIn ;mInvalue ;taskIfbet ; maxvalue ;taskIfmax ;
equalvalue ;taskIfequal ; notequalvalue ;taskIfnotequal ;

Seuls les champs 'type', 'text' et 'command' sont requIs.
(0ans le descrIptIf suIvant la valeur entre parentheses correspond au pattern 'abrg' dfInI plus
loIn dans la documentatIon)

champ01: type (IcI 'proc')
champ02: text (lIbell de colonne)

champ0J: command (syntaxe de la commande lancer)

champ04: columnwIdth=largeur d'affIchage de la colonne (facultatIf - dfaut=6 caracteres -
mInImum=2).

champ05: taskIfmIn=nom de la tache devant tre excute sI le nombre de connexIon observ
est InfrIeur au seuIl mInImum IndIqu (mInvalue).
(valeur abrge='If')
champ06: mInvalue=valeur seuIl 'mInImum'
(valeur abrge ='I')

champ07: taskIfbet=nom de la tache devant tre excute sI le nombre de connexIon observ
est suprIeur ou gal au seuIl mInImum IndIqu (mInvalue), et InfrIeur au seuIl
maxImum (maxvalue).
(valeur abrge ='If8')

champ08: maxvalue=valeur seuIl 'maxImum'
(valeur abrge ='s')
champ09: taskIfmax=nom de la tache devant tre excute sI le nombre de connexIon observ
est suprIeur ou gal au seuIl maxImum IndIqu (maxvalue).
(valeur abrge ='IfS')

champ10: equalvalue=valeur seuIl 'equal'.
(valeur abrge ='e')
champ11: taskIfequal=nom de la tache devant tre excute sI le nombre de connexIon
observ est gal au seuIl equal IndIqu (equalvalue).
(valeur abrge ='IfE')

champ12: notequalvalue=valeur seuIl 'not equal'
(valeur abrge ='d')
champ1J: taskIfnotequal=nom de la tache devant tre excute sI le nombre de connexIon
observ est dIffrent du seuIl not equal IndIqu (notequalvalue).
(valeur abrge ='If0')

# exemple : monItorIng du nombre de process apache (on a choIsI IcI une largeur de colonne
d'affIchage de 5 caracteres, plutot que d'utIlIser les 6 prvus par dfaut).
# proc;HTTP0;ps ef grep [h]ttpd grep v root wc -l ;5 ;
haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84


Femarque :Il est possIble de spcIfIer dans un champ plusIeurs tches excuter en sparant celles
cI par une vIrgule (versIon J.26.80 et suIvantes)


Remarque sur les libells de colonne dans le cas du monitoring de
process.

ContraIrement au cas du monItorIng de port, la rutIlIsatIon des mmes lIbells de colonne est
possIble dans le monItorIng de process. CecIdIt cela est dconseIll pour la lIsIbIlIt de la
sortIe.


Troisime cas - Type task (dclaration dune tche
prprogramme)

# CAS 0'UNE TACHE PFEPFDCFA||EE
#type;text;task

champ1 : type (IcI 'task')
champ2 : text (nom de la tche)
champJ : task (syntaxe de la commande lancer sur dclanchement d'alerte)

#exemple : lancement d'une tche sur atteInte d'une alerte, comportant une crIture de message
dans les logs et l'envoI d'un maIl (nota : la syntaxe de la commande d'envoI de maIl est adapter
en fonctIon de l'operatIng system en prsence). cI la tche se nomme 'httpsup70'.

#task;httpsup70;echo S1:S6 /var/log/portstat_alerts.log EE ( echo S1:S6\n\n\nP
our InformatIon, les 10 dernIeres alertes:\n EE taIl /var/log/portstat_alerts.l
og) maIlx r TDTALws04@total.com s [portstat ws04] nb.connex. S2 : SJ S4 S5
mon_maIl@fr.Ibm.com


Remarque pralable sur les taches prprogrammes

Les 10 dernIers champs des entres de type 'port' ou 'proc' sont rservs au paramtrage de
l'excutIon de taches sur dclanchement d'alertes. l est noter qu'Il est possIble de confIgurer
donc jusqu' 5 alertes dIffrentes par port/process monItor, selon que la valeur observe est
InfrIeure, suprIeure ou IntermdIaIre au/aux seuIl(s) mInImum/maxImum dfInIs, ou encore
gale et/ou dIffrente d'une valeur de rfrence prrenseIgne en table.


Principe de fonctionnement des tches prprogrammes

Pour qu'une tche prprogramme soIt actIve, Il faut que soIent runIes les condItIons
suIvantes :

que le mode 'excutIon' soIt explIcItement IndIqu dans la syntaxe de la lIgne de commande
(voIr les motsclefs 'exec' et 'fullexec' IndIqus plus haut).

Par dfaut, aucune tche n'est lance, et ce pour des raIsons de scurIt et de souplesse
d'utIlIsatIon de la commande : Il est aInsI possIble d'Invoquer portstat sans se poser de questIon
haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84

pralable sur le faIt de savoIr sI l'admInIstrateur du systeme a -ou n'a pas renseIgn des
tches. L'usage par dfaut de la commande releve donc spcIfIquement du monItorIng, sauf
besoIn express.

qu'un couple seuIl de dclanchement/tche prprogramme aI t dfInI en table de
confIguratIon.

Ce poInt est tres Important : Il est tout faIt possIble de dfInIr en table des entres de type
'task' gnrIques l'avance, sans pour cela que cellescI soIent excutes. Pour qu'une entre
correspondant une tche prprogramme soIt effectIve, Il faut que son nom fIgure comme
nom de tche dans au moIns une entre de type 'port' ou 'proc', comme tant la commande
lancer sur atteInte ou dpassement d'un seuIl. Une mme tche peut tre Invoque par
plusIeurs entres : la lIste des entres de type 'task' dclare en table est comprendre
comme une lIste de rfrence des tches susceptIbles d'tre utIlIses. Cette lIste peut donc
tout faIt tre conue comme une lIste gnrIque exhaustIve commune plusIeurs
plateformes.

0ans l'exemple cIdessus, lorsque la commande portstat est Invoque avec le motclef 'exec' ou
'fullexec' (et unIquement dans ces cas), la tche 'httpsup70' dclare comme entre de type
'task' sera execute chaque foIs que le nombre de connexIons sur le port 80 sera suprIeur
70, valeur seuIl IndIque dans l'entre de type 'port' correspondant ce monItorIng. Le nom
'httpsup70' est l'lment quI tablI la correspondance entre les lments du monItorIng (IcI de
type port), et la lIste des tches possIbles prvue. Ce mode de fonctIonnement est IdentIque
que le mode de monItorIng soIt de type 'port' ou de type 'proc' pour monItorIng de process.

Femarque :cette oblIgatIon de la concordance entre un nom de tche dclare en entre de
type 'task' (lIste des tches possIbles) et celuI IndIqu dans l'un des 5 champs correspondants
au nom de la commande Invoquer sur dclanchement d'une actIon sur atteInte de seuIl,
permet par voIe de consquence de prdfInIr des alertes quI ne seront effectIves que quand la
tche apparatra dans la lIste.. cette fonctIonnalIt a pour effet satellIte de permettre une mIse
au poInt plus facIle des entres de type port/proc : Il est possIble de mettre des valeurs
quelconques dans les champs afIn de mIeux matrIser le format de la lIgne, .aussI longtemps
que les noms utIlIss sont absents de la lIste des entres de type 'task'.

Ce prIncIpe est exploIt dans la cratIon d'entres rserves permettant de prrenseIgner
facIlement les nouvelles entres de la table de confIguratIon.


Entres rserves inactives et pattern type pour la table de
configuration

En fonctIon de tout cecI, et afIn de facIlIter le formatage des alertes dans la table de
confIguratIon, Il a t prvu de pouvoIr prrenseIgner la partIe 'alerte' des dfInItIons
proc/port de la table en utIlIsant la chaIne suIvante, quI reprend les 9 champs assocIs tItre
de mnmonIques plus facIles modIfIer en fonctIon des besoIns:
If ;I ;If8 ;s ;IfS ;e ;IfE ;d ;If0
Cette forme peut tout a faIt tre utIlIse comme pattern par dfaut pour la dfInItIon des
champs lIs aux alertes, les valeurs If,If8,IfS,IfE et If0 ayant t pour l'occasIon dsactIves et
de ce faIt InutIlIsables en tant que nom de tche relle.

Les deux modeles 'type' rsultants sont donc ceuxcI :

Cas 'proc'
proc;text;command;6;If;I;If8;s;IfS;e;IfE;d;If0;
Cas 'port'
port;text;localP;localPort;remoteP;remotePort;6;If;I;If8;s;IfS;e;IfE;d;If0;

avec:
haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84

IfI = tche sI valeur observe seuIl mInImum 'I' (cas 'sI InfrIeur')
I = seuIl mInImum
If = tche sI valeur observe seuIl maxImum 's' et = seuIl mInImum 'I'
(cas 'sI comprIs entre')
s = seuIl maxImum
IfS = tche sI valeur observe = seuIl maxImum 's' (cas 'sI suprIeur')
e = valeur de rfrence pour l'galIt
IfE = tche sI valeur observe = valeur de rfrence 'e' (cas 'sI gal')
d = valeur de rfrence pour la dIffrence
If0 = tche sI valeur observe =/= valeur de rfrence 'e' (cas 'sI dIffrent')



exemple de lIgne valIde :
port;text;localP;localPort;remoteP;remotePort;6;IfI;I;If;70;tomsup70;e;IfE;d;If0;

(IcI 'I' renvoIt au cas InfrIeur : 'I' est la valeur seuIl de l'alerte 'mInImum', et 'If' le nom de la
pseudotche dsactIve. 's' renvoIt au cas suprIeur, 'e' au cas gal et 'd' au cas dIffrent
(not equal). Il ne s'agIt que d'un exemple. Seule la tche 'tomsup70' est rellement confIgure
pour l'alerte de seuIl 'maxImum', dclanche sI la valeur observe est suprIeure ou gale 70
connexIons )

Femarque:pour des raIsons vIdentes, Il est conseIll de commenter dans la table toutes les
tches nonactIves. CecI permet la foIs de gagner en lIsIbIlIt, en scurIt, maIs aussI en
performances, en allgeant les traItements.


Complment sur le lancement des tches prprogrammes : le passage
darguments

AfIn de facIlIter l'exploItatIon en aval dans les tches Invoques ellesmmes lors des
dclanchements d'alertes des parametres de monItorIng, l'InvocatIon de cellescI se faIt avec
en accompagnement le passage d'un certaIn nombre d'arguments, quI peuvent donc tre
dIrectement exploIts dans les scrIpts, etc.

Ces arguments sont les suIvants :

argument1 : date (au format YYYY||00HH:||:SS)
argument2 : le lIbell de la colonne
argumentJ : la valeur observe (nombre de connexIons ou nombre de process, suIvant les cas)
argument4 : l'oprateur du test d'alerte (Inf, sup, between, equal ou not_equal)
argument5 : la valeur de rfrence ou valeur 'seuIl'
(valeur 'mInImale' dans le cas d'une tche de type ype TASKF8ET)
argument6 : le mot clef 'and' (unIquement dans le cas d'une tche de type TASKF8ET)
argument7 : la valeur de rfrence 'maxImale'
(unIquement dans le cas d'une tche de type TASKF8ET)
argument8 : une chaIne prformate IndIquant en claIr la nature de l'alerte :

exemple (IcI 'oracle' est le lIbell de colonne, '48' la valeur observe et '40' la valeur de
reference):
The parameter oracle match the followIng rule [found=48] = [reference=40]

argument9 : la lIgne d'entte de la sortIe standard de portstat

exemple :
0ate/TIme HTTP0 8[02] TD|loc TD|rem Tfront lfront rfront Tcaree lcaree rcaree oracle load5'

argument10: la lIgne des valeurs de la sortIe standard de portstat
haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84


exemple :
2005042015:06:00 74 J6 44 5J 67 29 J8 J0 15 15 28 0.54

argument11: l'adresse P locale monItore (unIquement en cas d'un moInItorIng de port)
argument12: le port TCP local monItor (unIquement en cas d'un moInItorIng de port)
argument1J: l'adresse P remote monItore (unIquement en cas d'un moInItorIng de port)
argument14: le port TCP remote monItor (unIquement en cas d'un moInItorIng de port)


Complment sur le lancement des tches prprogrammes :
programmation dalertes sur franchissement de seuils soft et hard

l est aIsment possIble de dfInIr des alertes bases sur des seuIls de dclanchement 'soft' et
'hard', que ce soIt sur des nombres de process ou de connexIons.
Pour ce faIre doIvent tre dfInIs les seuIls mInImaux (mInvalue) et maxImaux (maxvalue).
Le dclanchement d'actIon sur franchIssement de la lImIte 'soft' sera programm vIa le champ
taskIfbet (value comprIse entre/between les deux seuIls), alors que celle assocIe au
franchIssement du seuIl hard le sera vIa le champ taskIfsup.

Les regles sont donc les suIvantes :
Alerte 'soft' : (valeur mInImale) = (valeur observe) (valeur maxImale)
Alerte 'hard' : (valeur maxImale) = (valeur observe)

AttentIon de bIen posItIonner maxvalue une valeur suprIeure mInvalue, et de bIen
renseIgner les deux valeurs ;)

Optimisation de la commande ps (v.3.24.78 et sup)

L'une des utIlIsatIons prIncIpales des tches de types 'proc' est le monItorIng du nombre de
process actIfs suIvant tel et tel crItere.

Ce type de requte tant la foIs tres frquent et tres consommateur en ressources systemes,
son usage a faIt l'objet d'une optImIsatIon spcIfIque.

Une autre raIson cela est la ncessIt d'obtenIr des mesures les plus synchrones les unes aux
autres. A contrarIo des affIchages des lments de monItorIng de ports (nombre de connexIons)
quI eux sont tablIs partIr du mme netstat, chaque monItorIng de type 'proc' est luI
Indpendant des autres, et correspond au lancement IndIvIduel d'une commande spcIfIque.

Concretement, Il est possIble d'obtenIr un traItement optImIs des monItorIngs de nombre de
process actIfs selon les deux dImensIons quI nous Importent, savoIr la sImultanIt des
mesures et la moIndre consommatIon en ressources systemes (obtentIon de mesures sImultanes
tablIes au fInal partIr d'un seul et mme ps) en suIvant les regles suIvantes :

La lIgne de commande IndIque dans la table de confIguratIon doIt obIr un modele du type :
ps -ef [e]grep pattern [ [e]grep -v pattern] wc -l

Les poInts suIvant doIvent tre scrupuleusement respects :
la lIgne doIt commencer par le lancement de ps avec ses optIons '-ef', l'exclusIon de toute
autre optIon.
la commande grep de fIltrage doIt tre prsente avec une seule occurrence (sInon seule la
dernIere est traIte ;) et sans optIons (Il n'est donc pas possIble d'utIlIser IcI l'optIon '-I'.). Le
pattern pass grep peut tre entour de sImples ou doubles quotes. l est possIble de prcIser
un pattern de recherche multIple condItIon d'utIlIser egrep et non grep (exemple : egrep
'tototata')
haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84

une commande grep d'exclusIon peut tre IndIque. Les mmes regles que celles prcIses
dans le cas du grep de fIltrage s'applIquent IcI. L'optIon 'v' doIt tre la seule prsente.
La lIgne doIt se termIner par un 'wc -l' l'exclusIon de toute autre optIon.
Pour plus de suret, Il est fortement conseIll de bIen Isoler le sparateur de commande '' vIa
un espace devant et derrIere.

Femarque fInale : cette optImIsatIon est automatIquement dclanche par dfaut sI les regles
dcrItent sont satIsfaItes. SI l'une des regles n'est pas satIsfaIte la commande sera execute
telle qu'elle, et Il sera donc procd une excutIon spcIfIque du ps en questIon (mcanIsme
de scurIt). SI, pour une raIson quelconque, cette optImIsatIon n'est pas souhaIte, Il suffIt de
prcIser sur la lIgne '/bIn/ps -ef' au lIeu de 'ps -ef' pour en InvalIder la prIse en compte.
0epuIs la versIon J.24.79 un motclef 'noptIm' peut tre Invoqu au lancement pour InvalIder
toute tentatIve d'optImIsatIon.

|ercI de faIre en sorte de passer le plus systmatIquement possIble par ce cas de fIgure en
respectant les modalIts dcrItes : les mesures effectues par portstat n'en seront que plus
sIgnIfIcatIves.. et lgeres pour le systeme ;)


EXEMPLES DEXECUTION

# portstat 60 1000 25

(affIchage de 1000 mesures, effectues 60 secondes d'Intervalles, avec rptItIon du header
toutes les 25 mesures). La table par dfaut portstat.tab est utIlIse.

# portstat f test.tab 20 adjust:5 fullexec

(affIchage contInu des mesures, effectues 20 secondes d'Intervalles, avec rptItIon du
header toutes les 20 mesures par dfaut). La table test.tab est utIlIse. CellecI doIt se trouver
dans le mme rpertoIre que portstat. La largeur des colonnes est fIxe 5 caracteres. Le mot
clef 'fullexec' est prcIs IcI pour forcer l'excutIon des commandes prconfIgures le cas
chant, sI une alerte est programme et dclanche.

Exemple de sortIe :

0ate/TIme HTTP0 8[02] TD|loc TD|rem Tfront lfront rfront Tback lback rback Tcaree lcaree rcaree oracle load5'
2005042015:06:00 74 J6 44 5J 67 29 J8 0 0 0 J0 15 15 28 0.54

Conservation dune trace en fichier

Par dfaut portstat utIlIse la sortIe standard pour affIcher le rsultat de ses mesures.

l est possIble de conserver une trace de son actIvIt dans un fIchIer sur dIsque en redIrIgeant la
sortIe standard vers la destInatIon choIsIe. CecI est par exemple IndIspensable lors d'une
InvocatIon vIa la crontab.

Exemple :
# portstat -f oracle.tab 60 1000 25 /var/log/portstat.log

Conservation dune trace au format csv

En plus de la trace standard Il peut tre Intressant de dIsposer d'une trace au format csv, plus
facIlement Interprtable par des applIcatIons tIers (par exemple des tableurs, etc..)

haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84

Le format csv (comma separated value) est caractrIs par l'utIlIsatIon d'un sparateur de
champ standard, IcI ';' par dfaut.

csv:fIchIer>

L'actIvatIon de cette trace se faIt vIa le motclef 'csv' auquel on adjoInt le nom complet du
fIchIer concern.

Exemple :
# portstat -f oracle.tab 60 1000 25 csv:/var/log/portstat.csv /var/log/portstat.log
(dans cet exemple, les deux traces sont actIves)

Femarques
portstat ne procede jamaIs l'crasement d'un fIchIer prxIstant. SI des donnes sont dj
prsentes dans le fIchIer IndIqu, les nouvelles seront concatnes en fIn de fIchIer. La purge du
fIchIer devra donc, sI ncessaIre, tre gre en dehors de l'utIlIsatIon de portstat.
la trace au format csv est toujours effectue en utIlIsant une largeur de colonne base sur la
pleIne largeur des enttes (avec un mInImum de J caracteres, comme dans le cas de l'emploI du
motclef 'adjust') et ce quelque soIt les parametrages choIsIs pour le formatage de la sortIe
standard. En outre les squences spcIales Insres dans le texte lors de l'utIlIsatIon du mot
clef 'color' ne sont pas ajoutes IcI, afIn de ne pas perturber l'InterprtatIon ultrIeure des
rsultats.

csvsep :sparateur>
Le spareur de champ (par dfaut ';') peut tre remplac par l'une des valeurs suIvantes :
E - # @ + _ = . , ; : et l'espace

Exemple :
# portstat -f oracle.tab 60 1000 25 csv:/var/log/portstat.csv csvsep:''
(dans cet exemple, la trace sera gnre avec un pseudocolonnage utIllIsant le caractere '')



Lancement de portstat via la crontab

Le lancement de portstat est prvu pour tre effectu vIa la crontab, des fIns de monItorIng
rcurrent.

Un exemple d'ImplmentatIon peut tre le suIvant (lIgnes ajoutes la crontab de root):

06 * * * 06 /usr/local/exploIt/shells/portstat f web.tab adjust:4 fullexec /var/log/portstat.log 2E1
11,16,21,26,J1,J6,41,46,51,56,01 62J * * 15 /usr/local/exploIt/shells/portstat f web.tab adjust:4 fullexec
noheader/var/log/portstat.log 2E1

0ans ce cas, deux lIgnes ont t ajoutes dans la crontab.
La premIere permet de monItorer tous les jours de la semaIne, et cecI toutes les heures 06
mInutes (exemple 10:06, 11:06,..) avec crIture du header.
La seconde ajoute un monItorIng ralIs toutes les 5 mInutes du lundI au vendredI, et ce entre
6 heures et 2J heures (tres exactement de 06:01 2J:56). 0ans ce second cas le header n'est
pas affIch pour allger la trace et facIlIter sa lecture.

Le fIchIer de sortIe est /var/log/portstat.log, et la table de confIguratIon de portstat est
web.tab. L'affIchage se faIt avec une largeur de colonnes force 4 caracteres.

Le motclef 'fullexec' IndIque que l'excutIon d'ventuelles tches programmes sur
dclanchement d'alertes est actIve.
haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84


0ans ce second exemple, le mme monItorIng est effectu en 7j/7, et ce 24h24.

L'entte de colonne est affIch une foIs par heure.

01 * * * * /usr/local/exploIt/shells/portstat f web.tab adjust:4 fullexec /var/log/portstat.log 2E1
06,11,16,21,26,J1,J6,41,46,51,56 * * * * /usr/local/exploIt/shells/portstat f web.tab adjust:4 fullexec noheader
/var/log/portstat.log 2E1



NOTES

Gestion du mode maintenance

Lors des opratIons de maIntenance Il est possIble de 'forcer' une nonexcutIon des tches
prprogrammes vIa la cratIon d'un fIchIer flag. Cette possIbIlIt a pour objet d'empcher
qu'un arrt planIfI d'une applIcatIon par exemple n'entraIne le lancement des actIons
normalement prvues pour un contexte de dysfonctIonnement : envoI de maIls, relance
automatIque de l'applIcatIon en cause, etc.
Le fIchIer flag doIt tre cre dans le rpertoIre courant de portstat.
Son nom est portstat_flag_maIntenance.
Le retour au mode normal se faIt par la suppressIon/renommage de ce fIchIer. Ne pas oublIer de
procder en fIn de maIntenance ;)

Femarque :Le code retour alors renvoy en sortIe par portstat est dans ce cas modIfI (voIr la
sectIon suIvante).


Valeur du code retour de portstat

Portstat renvoIt comme code retour la valeur '0' sI aucune alerte n'est dclanche (aucun seuIl
prconfIgur atteInt), ou le nombre d'alertes trouves dans le cas contraIre. Cette InformatIon
n'est renvoye que sI le mode d'excutIon est actIv par l'utIlIsatIon des motclefs adquats
('exec' ou 'fullexec') ou encore qu'un mode de debug est actIf (motclefs 'debug' ou
'fulldebug'), cecI des fIns de monItorIng ponctuel et de dbugage.

Cas partIculIer : mode maIntenance actIv
Lorsque le fIchIer flag tmoIn d'une maIntenance en cours est cr (voIr cIdessus) pour
dsactIver l'excutIon automatIque de tches, le code retour est modIfI de la manIere
suIvante.
Le code renvoy sI aucune alerte n'est dclanche est 100 (au lIeu de '0 ')
Le code renvoy sI des alertes sont prsentes est 100 augment du nombre d'alertes
rencontres (101 pour une alerte, etc..).


Remarque sur les valeurs spcifiques susceptibles dtre affiches

une valeur affIche de ' ::' IndIque non seulement qu'aucune connexIon n'est actIve sur le port
monItor (auquel cas la valeur 'normale' attendue alors est de '0'), maIs en outre que ce port
n'est pas en coute : portstat ralIse en effet systmatIquement une vrIfIcatIon de la bonne
coute des ports qu'Il est en charge de surveIller. Une telle InformatIon peut renvoyer un cas
de chute de process, et donc un IncIdent applIcatIf. Une bonne solutIon est d'utIlIser les
haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84

tches prprogrammes pour dclancher alors une actIon lorsque la valeur observe est
prcIsment de ' ::'

une valeur affIche de '-' est affIche lorsque aucune connexIon n'est observe lors d'un
monItorIng de port dIstant (remote) : Il n'est en effet pas pertInent d'affIcher la valeur '0' dans
ce cas, alors que cette valeur est utIlIse dans le cas des ports locaux pour IndIquer le port est
bIen l'coute, maIs qu'aucune connexIon n'est cependant releve. FIen ne permet de valIder
le faIt que le port est bIen en coute sur le dIstant : aussI on prfere passer par un sImple '-'
pour dIstInguer ce cas partIculIer.


Flag de statut dalertes (v.3.27.81)

Un flag de statut d'alertes est affIch par dfaut en dernIere colonne de monItorIng.

Ce flag se prsente sous la forme d'un caractere entour de parentheses, permettant de
dtermIner a posterIorI l'tat prcIs du contexte complet des alertes ce moment tres prcIs.

Tres concretement, les valeurs suIvantes peuvent tre affIches :

A/Contexte avec le mode excution non actif

(_) Aucune alerte dclanche
(!) Alerte(s) dclanche(s) - voIr note sI dessous


(7arIantes sI le mode 'maIntenance' est actIf)
(-) Aucune alerte dclanche /|ode maIntenance actIf
(S) Alerte(s) dclanche(s) /|ode maIntenance actIf - voIr note sI dessous


B/Contexte avec le mode excution actif

() Aucune alerte dclanche
(+) Alerte(s) dclanche(s)

(7arIantes sI le mode 'maIntenance' est actIf)
(=) Aucune alerte dclanche/|ode maIntenance actIf
(#) Alerte(s) dclanche(s)/|ode maIntenance actIf

note sur les cas ( !) et (S)
Le mode excutIon n'tant pas actIf, ce message doIt tre consIdr comme un warnIng : un
seuIl crItIque confIgur a t franchI, et une actIon auraIt t lance (sI prsente) sI le mode
excutIon avaIt t demand. Cette fonctIonnalIt est partIculIerement pratIque lorsque
portstat est utIlIs en monItorIng InteractIf, par exemple lors de problemes constats sur la
machIne. 0ans ce cas en effet le mode d'excutIon n'est habItuellement pas prcIs dans le
lancement de la commande.


L'ensemble des valeurs sont rsumes dans la table suIvante :

Probleme : |ode excutIon : |aIntenance : flag

non (_) non
non
ouI (-)
haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84

non ()
ouI
ouI (=)

non (!)
non
ouI (S)
non (+)
ouI
ouI
ouI (#)


Les valeurs usuelles classIquement observes sont donc :

|ode excutIon non actIf sans (_) ou avec ( !) probleme.
|ode excutIon actIf sans () ou avec (+) probleme.

Lorsque le mode maIntenance est prsent, ces valeurs devIennent :

|ode excutIon non actIf sans (-) ou avec ( S) probleme.
|ode excutIon actIf avec (=) ou avec (#) probleme.


L'affIchage de ce flag peut tre InvalId en utIlIsant le mot clef 'noflag'


Exemple de sortIe (dans le cas prsent une/des alerte(s) ont t dclanches, et celle(s)cI ont
donn lIeu au lancement des actIons assocIes en table : le flag est '+'. l auraIt t '#' sI le
lancement des actIons prvues dans ce cas avaIent t InvalId par la prsence d'un mode
maIntenance actIf)

0ate/TIme HTTP0 8[02] TD|loc TD|rem Tfront lfront rfront Tback lback rback Tcaree lcaree rcaree oracle load5'
2005042015:06:00 74 J6 44 5J 67 29 J8 0 0 0 J0 15 15 28 0.54(+)

Colorisation (v.3.29.83)

L'utIlIsatIon du motclef 'color' permet l'affIchage d'une colorIsatIon des valeurs selon la
logIque suIvante :

les valeurs monItores (auxquelles sont assocIes des alertes) apparaIssent en gras (bold).
les valeurs monItores ayant donn lIeu un dclanchement d'alerte (seuIl franchI)
apparaIssent en reverse vIdeo.

Cette optIon est destIne facIlIter le monItorIng InteractIf, en faIsant merger les valeurs
crItIques/en alerte. Elle IntervIent en complment du flag de statut d'alertes, dont elle prcIse
le dtaIl.

Exemple de sortIe (dans le cas prsent une alerte a t dclanche ('lfront', en Inverse vIdo), et
celle(s)cI ont donn lIeu au lancement des actIons assocIes en table : le flag est '+'. Une seconde
valeur est monItore ('oracle', en gras) maIs aucun seuIl la concernant n'est franchI).

0ate/TIme HTTP0 8[02] TD|loc TD|rem Tfront lfront rfront Tback lback rback Tcaree lcaree rcaree oracle load5'
2005042015:06:00 74 J6 44 5J 67 29 J8 0 0 0 J0 15 15 28 0.54(+)

Femarque :l'utIlIsatIon du mode colorIsatIon entraIne l'InsertIon dans le texte de squences de
caracteres spcIaux destInes au formatage des InformatIons en mode gras et/ou Inverse vIdo.
En cas de redIrectIon de la sortIe standard pour conservatIon des traces en fIchIer ces
caracteres sont galement Insrs dans le fIchIer construIt sur dIsque.

CecI peut en gner la lecture/l'InterprtatIon ultrIeure : des problemes seront aInsI remarqus
avec les commandes vI ou more, maIs l'affIchage sera par contre correct avec head, taIl, cat ou
pg.
haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84



INSTALLATION ET DOCUMENTATION

Localisation de portstat

L'ensemble des composantes de portstat, savoIr le scrIpt shell luImme, son scrIpt awk
satellIte portstat.awk aInsI que la/les tables de confIguratIon (portstat.tab par dfaut, etc..)
doIvent se trouver dans le mme rpertoIre (/usr/local/exploIt/shells par dfaut).
La commande portstat peut tre Invoque vIa son chemIn absolu
/usr/local/exploIt/shells/portstat (par exemple dans la crontab).

Documentation de portstat

La documentatIon de rfrence est contenue dans portstat.pdf

l est essentIel de se refrer la versIon de manuel correspondant la versIon de portstat
Installe.


Environnement systme

La commande portstat a t valIde sur les envIronnements suIvants:

8| AX [45].x et SUN SolarIs 8.x (UNX), Fed Hat enterprIse J (LNUX) et sous u/wIn,
l'envIronnement unIx fournI par AtEt pour WIndows XP/200[0J].
Nota : le support de l'envIronnement cygwIn sous wIndows est suspendu pour des raIsons
d'IncompatIbIlIt avec la varIante awk Implmente. Seul u/wIn doIt dsormaIs tre utIlIs sous
wIndows.

Portstat est susceptIble de fonctIonner sans probleme sur d'autres envIronnements, et suppose
comme prrequIs un Interprteur ksh, une varIante compatIble de nawk (gawk,..), aInsI que
l'usage de la commande netstat avec ses optIons 'na' et celle de ps avec ses optIons 'ef'.
Tres gnralement Il ne ncessIte comme adaptatIon qu'une ventuelle prIse en compte d'une
varIante locale de la sortIe de la commande netstat.

|ercI de faIre remonter toute demande de portage sur un nouvel envIronnement.


Annexe : Problmes courants

Q1.Lorsque je trace une alerte en utilisant le champ $8 pass en
argument, jobtiens quelque chose du type :
The parameter oracle match the followIng rule [found=48] = x
Au lIeu de:
The parameter oracle match the followIng rule [found=48] = [reference=40]

F1.Ne pas oublIer les quotes dans la table de confIguratIon. 0ans la descrIptIon de la tche vous
avez certaInement un :
echo S1:S8 .
au lIeu de :
haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84

echo S1:S8 .


Q2a.Lorsque je lance un comptage dun nombre de process (monitoring
de type proc), la colonne ne maffiche rien, pas mme un 0.
Q2b.Lorsque je lance un comptage dun nombre de process (monitoring
de type proc), la colonne ne maffiche pas ce que je souhaite.

F2.La commande spcIfIe en table est IncompatIble avec le mcanIsme d'optImIsatIon mIs en
place par dfaut pour ce type de besoIn. Normalement l'ImpossIbIlIt d'actIver l'optImIsatIon
conduIt automatIquement et de manIere transparente au lancement de la commande en mode
classIque, soIt donc dans un process spar. SI nammoIns un tel comportement est observ, par
exemple dans le cas d'une commande plus complexe que le modele standard attendu, procder en
'forant' l'InvalIdatIon de l'optImIsatIon en replaant le 'ps' par un '/bIn/ps'. CecI peut par
exemple arrIver lorsque la commande effectue plus d'un grep de fIltrage (hors grep -v d'exclusIon).

Pour mmoIre le modele de base est le suIvant :

ps -ef [e]grep pattern [ [e]grep -v pattern] wc -l


Q3.Lorsque je lance une commande complexe (monitoring de type
proc), la totalit des actions ne semblent pas tre excute, et la
colonne ne maffiche donc pas ce que je souhaite.

FJ.La commande n'estelle pas composIte de plusIeurs commandes spares par un ' ;' : portstat
utIlIse ce caractere comme sparateur de champ standard dans sa table de confIguratIon, et cecI
constItue une contraInte sur la composItIon des commandes susceptIbles d'y tre Insres


Q4.Lorsque jutilise le mot-clef adjust laffichage des mesures me
semble tronqu.

F4.Le motclef 'adjust' est destIn forcer un affIchage format selon les largeurs des enttes de
colonne. Une valeur dont la largeur seraIt plus Importante que la largeur de l'entte de colonne quI
la concerne sera ncessaIrement tronque : Il est donc Important de choIsIr ses enttes avec soIn.

CecIdIt, et pour des raIsons de scurIt, la largeur mInImale d'une colonne ne peut tre InfrIeure
J caracteres, mme dans les cas ou l'entte adopte sa valeur mInImale propre, savoIr 2
caracteres. CecI a pour but de permettre un affIchage correct des nombres de connexIons jusqu'
999, quelque soIt l'entte choIsI.

0ernIere remarque : cecI ne concerne que l'affIchage. Les dtermInatIons des cas de
franchIssement d'alertes sont toujours effectus en fonctIon de la valeur relle des mesures, telles
que conserves en table.

haIntenance Commands portstat(1h)
Ih WebHostIng Last change: 20051115 portstat v.3.34.84

Q5.Jai bien positionn une alerte sur ma ligne de monitoring (type port
ou proc), mais cette alerte ne se dclanche pas
Q5.Jai bien positionn une tche a excuter dans une entre de type
task, mais cette tche ne se dclanche pas


F5.Les alertes ne sont actIves que sI :
le motclef 'exec' ou 'fullexec' est prsent sur la lIgne de commande.. estce le cas :
le mode maIntenance n'est pas actIv (voIr sI le flag de maIntenance n'a pas oublI d'tre
supprIm apres la dernIere maIntenance, par exemple..)
la valeur observe correspond bIen ce que l'on souhaIte monItorer : le seuIl estIl bIen
atteInt/franchI : L'alerte estelle bIen posItIonne dans le champ correct (ne pas posItIonner une
alerte dans le champ utIlIs pour les alertes 'suprIeur ou gal ' alors que l'on souhaIte traIter le
cas 'InfrIeur ', etc..) :
sI le nom de la tche dclancher est la foIs prsent dans la lIgne de monItorIng ('port' ou
'proc') ET dans une des entres de type 'task' : cette correspondance est IndIspensable.

sI tout cecI semble correct n'estce pas un probleme de formatage (nombre de champs Incorrect,
etc..) :

autre pIste : Il est possIble que l'alerte soIt bIen dclanche par portstat, maIs que le soucIs rsIde
du cot du contenu de la tche excute ellemme : vrIfIer la syntaxe du lancement de
commande IndIqu dans l'entre 'task' et/ou le contenu du scrIpt Invoqu sI Il s'agIt d'un scrIpt.

Pour dIstInguer ce dernIer cas, et mettre hors de cause la confIguratIon de la table de portstat, Il
suffIt de remplacer la tche par une tche plus sImple (par exemple un sImple echo), et vrIfIer que
cellecI est bIen excute.

Vous aimerez peut-être aussi