Charge CPU d'une machine Linux par SNMP?

Charge CPU d'une machine Linux par SNMP? - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 12-05-2006 à 10:59:38    

Bonjour,
 
Ma question est formulé dans le sujet...
 
En fait j'ai bien trouvé cet OID (.1.3.6.1.4.1.2021.11.11.0) :
[root@localhost ~]# snmpget -v2c -c public machineA .1.3.6.1.4.1.2021.11.11.0
UCD-SNMP-MIB::ssCpuIdle.0 = INTEGER: 97

 
ainsi j'ai le % d'idle, mais "apparamment" (je peux me tromper) il correspond à la charge (d'idle) moyenne en pourcentage depuis minuit... Moi, j'aimerais avoir la charge des 15, 5 voire de la dernière minute... avec snmp... c'est possible?  
 
il y a moyen d'avoir le load average des 15,5 et dernière minutes :
 
1.3.6.1.4.1.2021.10.1";   # net-snmp load table
1.3.6.1.4.1.2021.10.1.2"; # text 'Load-1','Load-5', 'Load-15'
1.3.6.1.4.1.2021.10.1.3"; # effective load table
 
Mais je préfèrais le % d'idle qui me paraît plus parlant... alors si quelqu'un avait déjà eu affaire à cela... :)


Message édité par arn100 le 12-05-2006 à 11:08:58
Reply

Marsh Posté le 12-05-2006 à 10:59:38   

Reply

Marsh Posté le 12-05-2006 à 12:42:06    

pour info, pour mes scripts MRTG j'utilise ces OID pour la charge cpu :
 
.1.3.6.1.4.1.2021.11.50.0 (UCD-SNMP-MIB::ssCpuRawUser.0)
 
.1.3.6.1.4.1.2021.11.52.0 (UCD-SNMP-MIB::ssCpuRawSystem.0)
 
.1.3.6.1.4.1.2021.11.51.0 (UCD-SNMP-MIB::ssCpuRawNice.0)


---------------
bashfr  | Meilleur ami de l'homme | Gallerie
Reply

Marsh Posté le 12-05-2006 à 18:53:13    

azerty_92 a écrit :

pour info, pour mes scripts MRTG j'utilise ces OID pour la charge cpu :
 
.1.3.6.1.4.1.2021.11.50.0 (UCD-SNMP-MIB::ssCpuRawUser.0)
 
.1.3.6.1.4.1.2021.11.52.0 (UCD-SNMP-MIB::ssCpuRawSystem.0)
 
.1.3.6.1.4.1.2021.11.51.0 (UCD-SNMP-MIB::ssCpuRawNice.0)


 
Merci, j'avais vu également ces oids, mais, sur mes machines linux, les valeurs sont genre 6584521,... enfin, des valeur rafraichis toutes les 1 ou 2 secondes mais je ne sais pas les exploiter (car elle ne sont pas en pourcentage...)
 
Ces valeurs chez toi sont en %tage?

Reply

Marsh Posté le 15-05-2006 à 21:42:56    

Bonjour à tous..
 
Cela fait une semaine que je travail sur MRTG en stage dans le cadre de ma formation....
 
J'aimerais savoir comment je pourrais récupérer ces fameuses OID,, cela me simplifirait la configuration de mon fichier .cfg
 
A la base je suis censé superviser le bande passante du quarantaine de switchs, mais je l'utilise également chez moi pour d'autre infos comme la charge CPU...
 
Débutant sous linux, mais trés intérressé !!!
 
Merci à vous  ;)

Message cité 2 fois
Message édité par Shy FX le 15-05-2006 à 21:43:46
Reply

Marsh Posté le 16-05-2006 à 09:21:40    

Shy FX a écrit :

Bonjour à tous..
 
Cela fait une semaine que je travail sur MRTG en stage dans le cadre de ma formation....
 
J'aimerais savoir comment je pourrais récupérer ces fameuses OID,, cela me simplifirait la configuration de mon fichier .cfg
 
A la base je suis censé superviser le bande passante du quarantaine de switchs, mais je l'utilise également chez moi pour d'autre infos comme la charge CPU...
 
Débutant sous linux, mais trés intérressé !!!
 
Merci à vous  ;)


 
On vas pas pourrir ce topic, mais tu as pas créer tes script avec l outil de mrtg ? configmaker ( ou un truc comme ca ) pour les espaces disk moi j ia un truc comme ca :  

Citation :


##############################
#Monitoring des espaces disks#
##############################
Target[monserveur.fr_disk]: .1.3.6.1.4.1.2021.9.1.9.1&.1.3.6.1.4.1.2021.9.1.9.2: public@monserveur.fr:
Title[monserveur.fr_disk]: Taux d'occupation des partitions /home et /var  pour le serveur Nath
PageTop[monserveur.fr_disk]: <H1>Taux d'occupation des partitions /home et /var pour le serveur Nath</H1>
 <TABLE>
   <TR><TD><A HREF="/mrtg/index.html" style="text-decoration:none;color:black;"><H3>Index MRTG</H3></A><TD>&nbsp;</TD></TD><TD><A HREF="/mrtg/nath/index.html" style="text-decoration:none;color:black;"><H3>Index Nath</H3></A></TD></TR>
   <TR><TD>System:</TD>     <TD>monserveur.fr</TD></TR>
   <TR><TD>Description:</TD><TD>Bi-proc Xeon 3GHZ</TD></TR>
   <TR><TD>Ip:</TD>         <TD>192.168.0.1</TD></TR>
 </TABLE>
Options[monserveur.fr_disk]: growright, nopercent, gauge, noinfo
Unscaled[monserveur.fr_disk]: dwmy
Maxbytes[monserveur.fr_disk]: 100
YLegend[monserveur.fr_disk]: Espace Disque %
ShortLegend[monserveur.fr_disk]: %
LegendI[monserveur.fr_disk]: /home
LegendO[monserveur.fr_disk]: /var
Legend1[monserveur.fr_disk]:% occupe sur /home
Legend2[monserveur.fr_disk]:% occupe sur /var


---------------
bashfr  | Meilleur ami de l'homme | Gallerie
Reply

Marsh Posté le 21-05-2006 à 01:31:32    

Shy FX a écrit :

Bonjour à tous..
 
Cela fait une semaine que je travail sur MRTG en stage dans le cadre de ma formation....
 
J'aimerais savoir comment je pourrais récupérer ces fameuses OID,, cela me simplifirait la configuration de mon fichier .cfg
 
A la base je suis censé superviser le bande passante du quarantaine de switchs, mais je l'utilise également chez moi pour d'autre infos comme la charge CPU...
 
Débutant sous linux, mais trés intérressé !!!
 
Merci à vous  ;)


 
Utilise Getif sous Windows par exemple... ;).

Reply

Marsh Posté le 25-05-2006 à 22:07:02    

Merci du conseil, mais je tiens à rester sous Linux. La boîte ne me donne pas le choix.


Message édité par Shy FX le 25-05-2006 à 22:52:28
Reply

Marsh Posté le 27-05-2006 à 16:07:23    

T'as pas un PC à côté sous Windows ?
 
Ca te sert juste à récupérer les OID rien de plus...  
 
Il existe sûrement le même genre de logiciels pour Linux... Au pire utilise snmpwalk.

Reply

Marsh Posté le 27-05-2006 à 17:19:17    

Bonjour,
 
Pour trouver une solution à mon problème (intitulé du topic), j'ai installé (et découvert cacti) : hyper simple à installer et il possède des template qui permettent l'affichage des charges cpu de mes machines via snmp.
 
Donc je ne m'occupe plus de trouver le bon oid et de faire des scripts... cacti me le fait!
 
PS: il y a surement d'autes outils qui le font également... mais pour connaître et avoir utilisé MRTG de nombreuses fois... je préfère cacti.


Message édité par arn100 le 27-05-2006 à 17:19:56
Reply

Marsh Posté le 29-05-2006 à 01:19:29    

Disons que Cacti ça tend plutôt vers l'usine à gaz... Mais sinon ça sort de jolis trucs et sans trop se crever le popotin...
 
La contrainte principale, c'est l'obligation d'avoir une base SQL... M'enfin c'est pas la mort non plus.

Reply

Marsh Posté le 29-05-2006 à 01:19:29   

Reply

Marsh Posté le 29-05-2006 à 12:53:41    

Modprobe a écrit :

Disons que Cacti ça tend plutôt vers l'usine à gaz...


C'est ce que je pensais au début... et après l'avoir installé et utilisé je me rend compte qu'il est relativement bien fait... et puis on le détare et c'est bon... tout est en php.
 

Modprobe a écrit :


 Mais sinon ça sort de jolis trucs et sans trop se crever le popotin...


C'est le but!  :D  
 

Modprobe a écrit :


La contrainte principale, c'est l'obligation d'avoir une base SQL... M'enfin c'est pas la mort non plus.


Oui je trouve ca dommage aussi... je me serais contenté de ne garder que les bases round-robin... mais cacti impose une base SQL... enfin ça le fait quand même :)  

Reply

Marsh Posté le 30-10-2014 à 11:44:48    

Bonjour,
 
Je n'ai pas la branche "2021" dans la MIBS. J'ai installé et désinstallé plusieurs fois les paquets snmpd et snmp, mais le resultat reste le même.  
 
Je souhaiterais connaitre le pourcentage de RAM et de CPU utilisé par mon serveur Linux (Ubuntu 14.04 x64)
 
Avez vous une idée ?
 
Cordialement

Reply

Marsh Posté le 30-10-2014 à 13:35:02    

debutantlinux a écrit :

Bonjour,
 
Je n'ai pas la branche "2021" dans la MIBS. J'ai installé et désinstallé plusieurs fois les paquets snmpd et snmp, mais le resultat reste le même.


Quel est le résutlat précisément ?


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 30-10-2014 à 14:02:48    

o'gure a écrit :


Quel est le résutlat précisément ?


 
Et bien que je n'ai pas la branche "2021" dans mon arborescence. Lorsque je fais une requête snmp j'ai en retours un message d'erreur.
 
Commande :
./check_snmp -H @IP -P 2c -C 'communauté' -o ".1.3.6.1.4.1.2021.11.50.0"
 
Résultat :
SNMP OK - = No Such Object available on this agent at this OID |

Reply

Marsh Posté le 30-10-2014 à 14:28:56    

Si c'est une installe fraiche et que tu utilises la communauté public, c'est normal. Faut que tu personnalises ton snmpd.conf pour autoriser à poller autre chose que le système de base. La best practice étant surtout de définir une communauté à toi (qui peut être vu en fait "comme" un password) et lui lister sa vue. Public est une communauté "wellknown", faut pas l'utiliser :o

 

Exemple de déblocage juste pour test sur une debian avec snmpd par défaut

<oggy@aoi:/etc/snmp>%  snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.11.50.0
iso.3.6.1.4.1.2021.11.50.0 = No Such Object available on this agent at this OID

 

J'édite /etc/snmpd/snmpd.conf (je décommente la première et je commente la seconde

rocommunity public  localhost                                                
# rocommunity public  default    -V systemonly


et pouf ça marche

<oggy@aoi:/etc/snmp>%  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.11.50.0
iso.3.6.1.4.1.2021.11.50.0 = Counter32: 9932


Message édité par o'gure le 30-10-2014 à 14:30:57

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 30-10-2014 à 14:38:47    

Merci o'gure, cela corrige le problème en effet, mais en créer un autre ^^
 
je reçois ce message :
 
External command error: Timeout: No response from @ip:161

Reply

Marsh Posté le 30-10-2014 à 14:45:30    

Ca serait plus facile de t'aider si tu donnais et la commande précise passée et le fichier de config...
 


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 30-10-2014 à 15:14:30    

La commande est celle que j'ai mis au début ( ./check_snmp -H @IP -P 2c -C public -o OID), lorsque je fais la tienne cela fonctionne sur le serveur nagios mais pas sur le serveur que je souhaite supervisé.
 
Voici le fichier de conf snmpd.conf :
 
###############################################################################
#
# EXAMPLE.conf:
#   An example configuration file for configuring the Net-SNMP agent ('snmpd')
#   See the 'snmpd.conf(5)' man page for details
#
#  Some entries are deliberately commented out, and will need to be explicitly activated
#
###############################################################################
#
#  AGENT BEHAVIOUR
#
 
#  Listen for connections from the local system only
#agentAddress  udp:127.0.0.1:161
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:161,udp6:[:1]:161
 
 
 
###############################################################################
#
#  SNMPv3 AUTHENTICATION
#
#  Note that these particular settings don't actually belong here.
#  They should be copied to the file /var/lib/snmp/snmpd.conf
#     and the passwords changed, before being uncommented in that file *only*.
#  Then restart the agent
 
#  createUser authOnlyUser  MD5 "remember to change this password"
#  createUser authPrivUser  SHA "remember to change this one too"  DES
#  createUser internalUser  MD5 "this is only ever used internally, but still change the password"
 
#  If you also change the usernames (which might be sensible),
#  then remember to update the other occurances in this example config file to match.
 
 
 
###############################################################################
#
#  ACCESS CONTROL
#
 
                                                 #  system + hrSystem groups only
view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1
 
                                                 #  Full access from the local host
rocommunity public  localhost
                                                 #  Default access to basic system info
# rocommunity public  default    -V systemonly
 
                                                 #  Full access from an example network
                                                 #     Adjust this network address to match your local
                                                 #     settings, change the community string,
                                                 #     and check the 'agentAddress' setting above
#rocommunity secret  10.0.0.0/16
 
                                                 #  Full read-only access for SNMPv3
 rouser   authOnlyUser
                                                 #  Full write access for encrypted requests
                                                 #     Remember to activate the 'createUser' lines above
#rwuser   authPrivUser   priv
com2sec readonly default public
#  It's no longer typically necessary to use the full 'com2sec/group/access' configuration
#  r[ow]user and r[ow]community, together with suitable views, should cover most requirements
 
 
 
###############################################################################
#
#  SYSTEM INFORMATION
#
 
#  Note that setting these values here, results in the corresponding MIB objects being 'read-only'
#  See snmpd.conf(5) for more details
sysLocation    Sitting on the Dock of the Bay
sysContact     Me <me@example.org>
                                                 # Application + End-to-End layers
sysServices    72
 
 
#
#  Process Monitoring
#
                               # At least one  'mountd' process
proc  mountd
                               # No more than 4 'ntalkd' processes - 0 is OK
proc  ntalkd    4
                               # At least one 'sendmail' process, but no more than 10
proc  sendmail 10 1
 
#  Walk the UCD-SNMP-MIB::prTable to see the resulting output
#  Note that this table will be empty if there are no "proc" entries in the snmpd.conf file
 
 
#
#  Disk Monitoring
#
                               # 10MBs required on root disk, 5% free on /var, 10% free on all other disks
disk       /     100000
disk       /var  5%
includeAllDisks  10%
 
#  Walk the UCD-SNMP-MIB::dskTable to see the resulting output
#  Note that this table will be empty if there are no "disk" entries in the snmpd.conf file
 
 
#
#  System Load
#
                               # Unacceptable 1-, 5-, and 15-minute load averages
load   12 10 5
 
#  Walk the UCD-SNMP-MIB::laTable to see the resulting output
#  Note that this table *will* be populated, even without a "load" entry in the snmpd.conf file
 
 
 
###############################################################################
#
#  ACTIVE MONITORING
#
 
                                    #   send SNMPv1  traps
 trapsink     localhost public
                                    #   send SNMPv2c traps
#trap2sink    localhost public
                                    #   send SNMPv2c INFORMs
#informsink   localhost public
 
#  Note that you typically only want *one* of these three lines
                                                                     #  Uncommenting two (or all three) will result in multiple copies of each notification.
 
 
#
#  Event MIB - automatically generate alerts
#
                                   # Remember to activate the 'createUser' lines above
iquerySecName   internalUser
rouser          internalUser
                                   # generate traps on UCD error conditions
defaultMonitors          yes
                                   # generate traps on linkUp/Down
linkUpDownNotifications  yes
 
 
 
###############################################################################
#
#  EXTENDING THE AGENT
#
 
#
#  Arbitrary extension commands
#
 extend    test1   /bin/echo  Hello, world!
 extend-sh test2   echo Hello, world! ; echo Hi there ; exit 35
#extend-sh test3   /bin/sh /tmp/shtest
 
#  Note that this last entry requires the script '/tmp/shtest' to be created first,
#    containing the same three shell commands, before the line is uncommented
 
#  Walk the NET-SNMP-EXTEND-MIB tables (nsExtendConfigTable, nsExtendOutput1Table
#     and nsExtendOutput2Table) to see the resulting output
 
#  Note that the "extend" directive supercedes the previous "exec" and "sh" directives
#  However, walking the UCD-SNMP-MIB::extTable should still returns the same output,
#     as well as the fuller results in the above tables.
 
 
#
#  "Pass-through" MIB extension command
#
#pass .1.3.6.1.4.1.8072.2.255  /bin/sh       PREFIX/local/passtest
#pass .1.3.6.1.4.1.8072.2.255  /usr/bin/perl PREFIX/local/passtest.pl
 
# Note that this requires one of the two 'passtest' scripts to be installed first,
#    before the appropriate line is uncommented.
# These scripts can be found in the 'local' directory of the source distribution,
#     and are not installed automatically.
 
#  Walk the NET-SNMP-PASS-MIB::netSnmpPassExamples subtree to see the resulting output
 
 
#
#  AgentX Sub-agents
#
                                           #  Run as an AgentX master agent
 master          agentx
                                           #  Listen for network connections (from localhost)
                                           #    rather than the default named socket /var/agentx/master
#agentXSocket    tcp:localhost:705
                                                                                                                                                                                     

Reply

Marsh Posté le 30-10-2014 à 15:45:33    

Je vais être méchant mais faut lire aussi...

Citation :

                                                #  Full access from the local host
rocommunity public  localhost


Il ne s'agit pas de lancer des invocations et modifier des fichiers de conf à la va vite pour que ça tombe en marche.
Lis la doc du fichier snmpd.conf pour comprendre ce que tu fais.

 

Pour ta commande, c'est une script que je ne connais pas, pas une commande standard. Comme tu l'as dit après, c'est un script nagios. On n'est pas devin...

 

http://linux.die.net/man/5/snmpd.conf

 

rocommunity COMMUNITY [SOURCE [OID | -V VIEW [CONTEXT]]]
rwcommunity COMMUNITY [SOURCE [OID | -V VIEW [CONTEXT]]]
    specify an SNMPv1 or SNMPv2c community that will be allowed read-only (GET and GETNEXT) or read-write (GET, GETNEXT and SET) access respectively. By default, this will provide access to the full OID tree for such requests, regardless of where they were sent from. The SOURCE token can be used to restrict access to requests from the specified system(s) - see com2sec for the full details. The OID field restricts access for that community to the subtree rooted at the given OID, or named view. Contexts are typically less relevant to community-based SNMP versions, but the same behaviour applies here.


com2sec [-Cn CONTEXT] SECNAME SOURCE COMMUNITY
com2sec6 [-Cn CONTEXT] SECNAME SOURCE COMMUNITY
    map an SNMPv1 or SNMPv2c community string to a security name - either from a particular range of source addresses, or globally ("default" ). A restricted source can either be a specific hostname (or address), or a subnet - represented as IP/MASK (e.g. 10.10.10.0/255.255.255.0), or IP/BITS (e.g. 10.10.10.0/24), or the IPv6 equivalents.
    The same community string can be specified in several separate directives (presumably with different source tokens), and the first source/community combination that matches the incoming request will be selected. Various source/community combinations can also map to the same security name.

 

Ce que l'on a modifié, c'est uniquement une sorte d'access list. localhost = le système local, 127.0.0.1.

Citation :

rocommunity public  localhost


signifie que la communauté public, en read only, peut voir toute les mib/oid depuis localhost. A toi de customiser cela après si tu veux consulter ta mib depuis un autre équiment/réseau.
Encore une fois, public, c'est juste pour l'exemple hein... si tu ouvres ton serveur en snmp, faut pas laisser public.


Message édité par o'gure le 30-10-2014 à 15:51:13

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 30-10-2014 à 16:05:06    

En même temps si j'avais trouvé par moi même je ne viendrai pas te posé de question. "Lire" ne veut pas dire comprendre. Bref je vais pas épiloguer la dessus. Merci de ton aide, bonne fin de journée

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed