====== Monitorer les incidents Solaris via SNMP ====== Il n'existe pas de MIBs pour ZFS, notamment pour checker les disques défectueux, et c'est bien dommage. Heureusement Solaris possède (depuis sa version 10) //"Fault Manager"//. ===== FMd, vite fait ===== En 3 commandes : * fmadm faulty : liste les problèmes (et leur UUID) * fmadm repair [UUID] : marque l'incident comme réparé * fmdump : donne la liste des incidents, même marqués résolus ===== SNMPd ===== <code>pkgadd -d [repsdespackages] SUNWsmcmd SUNWsmmgr SUNWsmagt</code> un petit coup de snmpconf pour mettre ça en place et on attaque dans le vif du sujet. puis bien sur : <code>svcadm enable sma</code> ===== Boucherie ===== on ajoute dans /etc/sma/snmp/snmpd.conf : <code>dlmod sunFM /usr/lib/fm/amd64/libfmd_snmp.so.1</code> Pour activer le module snmp de fmd. on redémarre sma : <code>svcadm restart sma</code> <note>le chemin est dépendant de l'archi, j'utilise du x86 64 bits ici</note> ===== *brotch* ===== <code> # on prépare un pool zfs basé sur des fichiers mkdir crash cd crash # Les fichiers doivent faire 64M minimum dd if=/dev/zero of=pool1 bs=1024k count=64 dd if=/dev/zero of=pool2 bs=1024k count=64 dd if=/dev/zero of=pool3 bs=1024k count=64 # on crée le pool sudo zpool create crashtest raidz /home/nico/crash/pool1 /home/nico/crash/pool2 /home/nico/crash/pool3 # on le casse rm pool3 # on scrub (pour être sur que le système le voie) sudo zpool scrub crashtest # On regarde fmd faire son job sudo fmadm faulty </code> Maintenant voyons avec SNMP ce qu'on obtient comme infos : <code> snmptable -v2c -c public 127.0.0.1 SUN-FM-MIB::sunFmProblemTable </code> | sunFmProblemUUID | sunFmProblemCode | sunFmProblemURL | sunFmProblemDiagEngine | sunFmProblemDiagTime | SunFmProblemSuspectCount | | "96397f16-1cea-463b-e9db-de989cd42e81" | ? | ? | ? | ? | ? | Le module exporte 4 tables : sunFmProblemTable, sunFmFaultEventTable, sunFmModuleTable, sunFmResourceTable le plus "convivial" étant d'utiliser snmpwalk : <code> snmpwalk -c public -v 2c 127.0.0.1 SUN-FM-MIB::sunFmProblemTable SUN-FM-MIB::sunFmProblemUUID."96397f16-1cea-463b-e9db-de989cd42e81" = STRING: "96397f16-1cea-463b-e9db-de989cd42e81" SUN-FM-MIB::sunFmProblemCode."96397f16-1cea-463b-e9db-de989cd42e81" = STRING: ZFS-8000-D3 SUN-FM-MIB::sunFmProblemURL."96397f16-1cea-463b-e9db-de989cd42e81" = STRING: http://sun.com/msg/ZFS-8000-D3 SUN-FM-MIB::sunFmProblemDiagEngine."96397f16-1cea-463b-e9db-de989cd42e81" = STRING: fmd:///module/zfs-diagnosis SUN-FM-MIB::sunFmProblemDiagTime."96397f16-1cea-463b-e9db-de989cd42e81" = STRING: 2008-2-21,12:31:2.0,+1:0 SUN-FM-MIB::sunFmProblemSuspectCount."96397f16-1cea-463b-e9db-de989cd42e81" = Gauge32: 1 </code> ===== Intégrer dans Nagios ===== [[http://www.rottenbytes.info/?p=31]] ===== Refs ===== Tout cela vient de l'excellent : http://blogs.sun.com/wesolows/?entry=a_louder_voice_for_the