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?
 protocole  authentification  du  la  metar  google  regexp  en  html  lldp  gd  coordonn%C3%A9es  le  map  conversion  les  dans  resize  fade  fading  +  ajax  couche  des  line  browser  trou  gps  pour  un  terrestre  latitude  longitude  web  nuls  mercator  ad  de  photovoltaique  adresse  convertir  synop  sunyday  image  SUR  find  CODE  snmp  command  directory  et  javascript  d%27ozone  Cannot  ntfs  regex  anomalie  explication  cli  magn%C3%A9tique  champ  ldap  active  script  php  une  convertisseur  module  PAGE  url  

Sunyday.net