FEB
10
Enumération des process via SNMP en PHP
10.02.2007 | | Auteur : Ayashi | Catégorie : Programmation
Grace à SNMP, il est facile de faire des applications capable d'interroger à distance les ressources de machines afin de faire du monitoring actif. Pour comprendre comment configurer PHP afin de supporter l'extension SNMP, regardez cet article : Utilisation de SNMP en PHP. Les OS modernes ( Windows, Linux ) possèdent des agents SNMP facilement installable et configurable implémentant de base un certain nombre de compteurs ( hors propriétaires ). La branche host (.iso.org.dod.internet.mgmt.mib-2.host ) de la MIB ( Management Information Base ) contient un grand nombre de compteurs très utiles pour l'administration, par exemple :
  • hrSystem : Des informations générales.
  • hrStorage : La description et l'utilisation des disques.
  • hrDevice : Les composants internes de la machine ( CPU, PCI,.. )
  • hrSWRun : La liste des process
  • hrSWRunPerf : L'utilisation CPU / Mémoire des process
  • hrSWInstalled : Les applications installées
L'exemple suivant permet collecter des informations relatives aux process exécutés. Il met le résultat ( Nom du fichier, Chemin d'accès, Temps CPU, Mémoire utilisée ) dans le tableau $Data. Ne pas confondre temps CPU et utilisation CPU, le temps CPU correspond à la durée pendant laquelle le process a utilisé de manière exclusive le/les processeurs.

Z:\>php -q Process.php servername community
Array
(
  [0] => Array
    (
      [Name] => System Idle Process
      [Path] =>
      [CPU] => 18d 10:10:11
      [Memory] => 16Ko
    )

  [1] => Array
    (
      [Name] => System
      [Path] =>
      [CPU] => 0d 0:19:52
      [Memory] => 92Ko
    )

  [2] => Array
    (
      [Name] => SMSS.EXE
      [Path] =>
      [CPU] => 0d 0:0:3
      [Memory] => 224Ko
    )
)

Ce script accepte en entrée deux paramètres, le premier correspond à l'adresse IP de la machine à interroger, le deuxième à la communauté SNMP à utiliser lors de la session. Je fais appel à la fonction ErrorHandler pour capturer les erreurs éventuelles ( agent SNMP qui ne répond pas, timeout, mauvaise communautée..)

Liens Complémentaires

Tags : snmp, php, server, process | Digg!
Commentaires  | Ajouter un commentaire
lechris
14.03.08 / 17:14
Parfait,Enfin un exemple de code différant de php.netMarche impeccable, petite question ou je dois modifier le code de votre exemple, je voudrais donner 2 ou 3 process de mon choix, et non la liste de tout les process.Encore bravo pour cette exemple.
Rechercher sur internet  ?  | Rechercher!
Trackback
Utilisez le lien http://www.sunyday.net/trackback-Enumeration-des-process-en-PHP-et-SNMP pour faire un trackback vers cette article depuis votre site web. Les trackbacks sont soumis à une approbation mutuelle et susceptibles d'être supprimés si jugés indésirables.
Retrieve RSS feed. Get notified by eMail. Meteo Parser.
Computing widgets...
Jean-Damien POGOLOTTI© 2k6-2k7 | Design // Code

Qui suis-je?

Touche à tout restant bouche bée devant la complexité et la cohérence de ce monde je m'évertue à essayer d'en comprendre les rouages. En passant par la météorologie, la physique ou bien l'informatique, tout est une raison d'apprendre!
Comment les gens arrivent-il ici?
 directory  line  javascript  mercator  conversion  active  des  convertir  longitude  le  ldap  gps  CODE  terrestre  SUR  url  ajax  metar  image  sunyday  une  cli  menu  trou  PAGE  regexp  anim%C3%A9  snmp  www.sunyday.net  et  convertisseur  regex  avec  d%27ozone  authentification  protocole  map  pour  lldp  sunyday.net  anomalie  fade  de  explication  coordonn%C3%A9es  web  fading  find  +  adresse  ntfs  latitude  script  nuls  couche  un  dans  en  synop  la  champ  photovoltaique  html  module  php  browser  google  les  ad  magn%C3%A9tique  

Sunyday.net