View Full Version : occupation mémoire, charge CPU pour un processus
roms712
04-06-2006, 05:06 PM
Bonjour,
y aurait-il un moyen de connaître la charge CPU et l'utilisation mémoire d'un processus?
par exemple spoolsv.exe utilise 20% du processeur et 2345Ko mémoire?
julio
04-06-2006, 05:52 PM
oauis ca c'est accessible en snmp, ca tout simple a trouver :)
tiens j'ai meme l'oid : 1.3.6.1.2.1.25
Il doit y avoir pas mal de plugins qui existent. Mais au pire tu peux en faire un maison. C'est toujours plus amusant :)
fabrice82
04-07-2006, 11:11 AM
Personnelement j'utilise cacti un remplacant d'mrtg qui tres sympatique =) et super simple a installer.
xspoon
04-07-2006, 03:48 PM
bonjour,
@roms712
le plugin check_snmp_process renvoie les infos que tu recherche en plus de checker si une ou plusieur instance de ce pross est entrain de tourner.
exemple:
13 process matching nagios (> 0), Mem : 0.9Mb OK, Cpu : 0% OK
je ne me souviens plus si cette commande existe de base sur oreon sinon tu la rajoute dans Configuration > commande, check ajouter :
$USER1$/check_snmp_process.pl -H $HOSTADDRESS$ -n $ARG1$ -m $ARG2$ -u $ARG3$ -C $ARG4$
avec les arguments basés sur le fichier Help de la commande nagios:
SNMP Process Monitor for Nagios version 1.2.1
(c)2004 to my cat Ratoune - Author: Patrick Proy
Usage: ./check_snmp_process.pl [-v] -H <host> -C <snmp_community> | (-l login -x passwd) [-p <port>] -n <name> [-w <min_proc>[,<max_proc>] -c <min_proc>[,max_proc] ] [-m<warn Mb>,<crit Mb> -a -u<warn %>,<crit%> ] [-t <timeout>] [-f ] [-r] [-V]
-v, --verbose
print extra debugging information (and lists all storages)
-h, --help
print this help message
-H, --hostname=HOST
name or IP address of host to check
-C, --community=COMMUNITY NAME
community name for the host's SNMP agent (implies SNMP v1)
-l, --login=LOGIN
Login for snmpv3 authentication (implies v3 protocol with MD5)
-x, --passwd=PASSWD
Password for snmpv3 authentication
-p, --port=PORT
SNMP port (Default 161)
-n, --name=NAME
Name of the process (regexp)
No trailing slash !
-r, --noregexp
Do not use regexp to match NAME in description OID
-f, --fullpath
Use full path name instead of process name
(Windows doesn't provide full path name)
-w, --warn=MIN[,MAX]
Number of process that will cause a warning
-c, --critical=MIN[,MAX]
number of process that will cause an error
Notes on warning and critical :
with the following options : -w m1,x1 -c m2,x2
you must have : m2 <= m1 < x1 <= x2
you can omit x1 or x2 or both
-m, --memory=WARN,CRIT
checks memory usage (default max of all process)
values are warning and critical values in Mb
-a, --average
makes an average of memory used by process instead of max
-u, --cpu=WARN,CRIT
checks cpu usage of all process
values are warning and critical values in % of CPU usage
if more than one CPU, value can be > 100% : 100%=1 CPU
-t, --timeout=INTEGER
timeout for SNMP in seconds (Default: 5)
-V, --version
prints version number
-g (--rrdgraph) Create a rrd base if necessary and add datas into this one
--rrd_step Specifies the base interval in seconds with which data will be fed into the RRD (300 by default)
-S (--ServiceId) Oreon Service Id
Note :
CPU usage is in % of one cpu, so maximum can be 100% * number of CPU
example :
Browse process list : <script> -C <community> -H <host> -n <anything> -v
the -n option allows regexp in perl format :
All process of /opt/soft/bin : -n /opt/soft/bin/ -f
All 'named' process : -n named
juste un bémol mineur à ce plugin :
le retour avec l'etat UNKNOWN "ERROR: running table : Received noSuchName(2) error-status" de temps en temps
Hi,
This is a known issue of process check.
The script does :
1) Get the snmp table with index and description
2) Match with the processes
3) Get the status of the selected processes
I've done it like this because it takes a lot of time (and ressources on the
remote host) to get the whole process table.
Problem : if a process on the remote host die at step 2, then the index
won't be valid and you will get an error at step 3....
I've added a "-g" option wich gets the entire table at step 1 : it can help,
but in case processes are dying/respawning very fast the problem will still
be here.
Patrick
nagios AT proy dot org
mais j'utilise ce plugin sans problème
cdlt
surcouf
04-07-2006, 04:11 PM
bonjour,
@roms712
le plugin check_snmp_process renvoie les infos que tu recherche en plus de checker si une ou plusieur instance de ce pross est entrain de tourner.
exemple:
13 process matching nagios (> 0), Mem : 0.9Mb OK, Cpu : 0% OK
je ne me souviens plus si cette commande existe de base sur oreon sinon tu la rajoute dans Configuration > commande, check ajouter :
Non, ce plugin n'existe pas de base avec Oreon car il est écrit par un certain Patrick Roy aka Manu Bulon et son travail est accessible ici:
http://www.manubulon.com/nagios/
xspoon
04-07-2006, 04:31 PM
bravo Manu :D
roms712
04-07-2006, 04:33 PM
merci !!
edit : en effet ça me met UNKNOWN parfois ou ça (dans oreon) avec le statut UNKNOWN
11 process matching apache (> 0), Mem : 23.7Mb OK! ERROR writing file /tmp/tmp_Nagios_proc.192.168.0.211.apache !, Cpu : 4% OK
surcouf
04-07-2006, 06:57 PM
merci !!
edit : en effet ça me met UNKNOWN parfois ou ça (dans oreon) avec le statut UNKNOWN
11 process matching apache (> 0), Mem : 23.7Mb OK! ERROR writing file /tmp/tmp_Nagios_proc.192.168.0.211.apache !, Cpu : 4% OK
Oui, il faut que le plugin puisse écrire dans les fichiers temporaires.
L'erreur classique est souvent de tester le plugin à la main avec un autre utilisateur que celui de nagios si bien que lors de l'intégration dans Nagios, ce dernier se rélève alors incapable d'écrire dans le fichier temporaire...
wistof
04-10-2006, 12:13 AM
Non, ce plugin n'existe pas de base avec Oreon car il est écrit par un certain Patrick Roy aka Manu Bulon et son travail est accessible ici:
http://www.manubulon.com/nagios/
sisi, intégré dans le package d'Oreon depuis les premières RC 1.2.3
roms712
04-18-2006, 12:19 PM
ok, par contre il n'y a aucun moyen pour grapher avec cette commande?
wistof
04-18-2006, 02:33 PM
-g (--rrdgraph) Create a rrd base if necessary and add datas into this one
--rrd_step Specifies the base interval in seconds with which data will be fed into the RRD (300 by default)
-S (--ServiceId) Oreon Service Id
meme principe que les autres...
roms712
04-18-2006, 03:45 PM
oui c'est ce que j'avais fait...
mais en fait au début j'avais oublié de rajouter le -g -S $ARGn$ et le carré
orange ne s'affichait pas même en renommant en check_graph etc...
et en fait jsuis obligé de faire un "modifier" pour chaque service en ne changeant rien (juste en cliquant sur sauvegarder) et de valider pour que ça prenne en compte la modif, c'est normal?
surcouf
04-18-2006, 03:52 PM
oui c'est ce que j'avais fait...
mais en fait au début j'avais oublié de rajouter le -g -S $ARGn$ et le carré
orange ne s'affichait pas même en renommant en check_graph etc...
et en fait jsuis obligé de faire un "modifier" pour chaque service et de valider pour que ça prenne en compte la modif, c'est normal?
Si tu n'avais pas défini de modèle, oui.
Sinon, modifier la commande devrait normalement suffire car il ne faut surtout PAS définir d'argument pour ce genre de service (mais bien ajouter la macro $ARGn$). Oreon se charge normalement seul d'ajouter le ServiceID correct.