HOWTO: Hardware temperaturen monitoren met PRTG onder Windows

Door ThinkPad op zondag 25 november 2012 16:32 - Reacties (3)
Categorie: WMI, Views: 3.671

Update: Blijkbaar zorgt PRTG ervoor dat je schijven niet in spindown gaan, hier kwam ik na een tijdje achter: [Server 2008] Hardeschijf gaat niet in standby? Ik raad je dan ook af om deze blogpost te gebruiken!




Inleiding


Er zijn hier op Tweakers.net waarschijnlijk een hoop mensen, die net zoals ik, ook een thuisservertje hebben draaien.

Ik draai een thuisservertje op Windows 2008 R2 Standard x64 , met hierin middels Hyper-V enkele virtuele machines (3x XP en 1x Debian). Een van de XP virtuele machines heb ik ingericht als monitoring vm, hierin draait het monitoring pakket "PRTG".

Dit is een erg leuk pakket wat van allerlei apparaten dingen bij kan houden, en daar mooie grafiekjes van kan maken. Denk onder andere aan het internetgebruik (WAN poort van router uitlezen via SNMP). Of ping responsetijden van virtuele machines, schijfgebruik etc. Teveel om op te noemen! En het mooiste van dit pakket, is dat het gratis is! :*) (freeware versie ondersteunt 10 sensoren).

Ik had dit pakket al een tijdje draaien naar volle tevredenheid, maar wat ik eigenlijk mistte waren de temperaturen van mijn serversysteem. Als je een server moederbord in gebruik hebt dan kun je de temperaturen van allerlei sensoren waarschijnlijk eenvoudig uitlezen via SNMP, maar helaas beschikt het desktop bordje wat ik in gebruik heb ( pricewatch: Intel Desktop Board DH67BL (B3) daar niet over.


Open Hardware Monitor to the rescue!


Ik kon met Open Hardware Monitor wel de temperaturen uitlezen, maar dan moest ik telkens via Remote Desktop inloggen om het een beetje in de gaten te houden. Later ontdekte ik dat er ook een webinterface in OHM zit. Dat was al een stap vooruit. Maar ik wou graag de temperaturen bijhouden in PRTG, zodat ik een waarschuwings mailtje kon laten versturen als het systeem te warm wordt.

Ik heb een tijdje gezocht of de webinterface van OHM misschien JSON formaat uitspuugde (dan kan je namelijk redelijk eenvoudig de JSON URL toevoegen in PRTG). Ik kwam wel enkele hits tegen, maar niks wat ik zo kon gebruiken.


Hé! Open Hardware Monitor ondersteunt WMI !


Toen kwam ik tot de ontdekking dat OHM een eigen WMI provider aan boord heeft (root\openhardwaremonitor) . Toen viel het kwartje, en kon ik eenvoudig in PRTG een WMI sensor toevoegen! Hoe je een eigen WMI sensor toevoegt in PRTG lees je hier: http://www.paessler.com/k...m-wmi-sensors-for-dummies


De juiste WMI waarde vinden


Om nu uit te vinden welke WMI waarde ik moest invoeren heb ik Paessler WMI Tester laten draaien. Op je eigen PC draait dit zonder problemen, maar om de WMI informatie van een PC in je netwerk uit te kunnen lezen moet je eerst zorgen dat de user die je in PRTG gebruikt machtigingen hiervoor heeft op de PC die je wilt uit lezen. Hoe dit moet lees je hier: http://www.poweradmin.com/help/enableWMI.aspx (rechtermuisknop op mapje "openhardwaremonitor" klikken, en dan daar de gebruiker die je in PRTG gebruikt de bijbehorende rechten geven).

Wanneer je dat gedaan hebt kunnen we het WMI Tester programma gaan gebruiken om te kijken of we de PC kunnen bereiken. Gebruik hiervoor de volgende instellingen:
Afbeelding WMI Blogpost
Klik voor groter formaat

Als het goed is, zou je dan een overzicht moeten krijgen van alle sensoren die Open Hardware Monitor uit kan lezen op de server PC.

Vervolgens zie je in het overzicht de matchende waarde die je ook in de GUI van Open Hardware Monitor ziet. In het blauw heb ik de "InstanceId" omcirkeld. Deze gaan we later gebruiken bij het toevoegen van de sensor aan PRTG
Afbeelding WMI Blogpost
Klik voor groter formaat

Troubleshooting


Als je zover bent gekomen: Mooi! Lees verder! Krijg je echter meldingen als "Access denied" kijk dan eens op deze link: http://www.paessler.com/k...rrors-when-monitoring-wmi


WMI WQL Script voor PRTG aanmaken


Nu kunnen we een WMI script gaan maken die PRTG later kan gaan gebruiken. Ga hiervoor naar de map
code:
1
C:\Program Files\PRTG Network Monitor\Custom Sensors\WMI WQL scripts
. Maak daar een nieuw .wql bestand aan (ik heb hem cpu_temp.wql) genoemd. Plak hierin de volgende query:
SQL:
1
SELECT Value FROM Sensor WHERE InstanceId = '<#PH1>'
. Sla het bestand op, en ga naar de webinterface van je PRTG installatie.


De nieuwe sensoren toevoegen in PRTG


Ga dan naar Sensoren > Sensor toevoegen > Voeg sensor aan een bestaand Apparaat toe. Kies hier je server. Voer dan de volgende opties in:
Wat te Monitoren? > Custom Sensors
Doel Systeem Type? > Windows
Gebruikte Technologie ? > WMI

Kies dan voor de sensor "WMI (Klant Specifiek)". Je komt dan op het volgende scherm:
Afbeelding WMI Blogpost
Klik voor groter formaat

Als je alle rode velden hebt ingevuld met de waardes naar keuze, dan komt er na een tijdje ongeveer zo'n grafiek uitrollen:
Afbeelding WMI BlogpostKlik voor groter formaat


Nu wijst het natuurlijk voor zich, dat je de waarde PH1 kunt vervangen voor de "InstanceId" waarde die correspondeert met de sensor naar keuze uit Open Hardware Monitor.


Evt. tweaking


Nu je de sensor(en) hebt toegevoegd kun je er nog wat aan tweaken, zoals de decimalen weghalen (OHM meet toch maar met 2 cijfers voor de komma geloof ik), en een notificatie instellen zodat je een mailtje krijgt als de waarden de ingestelde grens <X> overschrijden. Dit zal ik niet behandelen in deze tutorial, omdat het meer PRTG algemeen is.


Voetnoot


Je kunt Open Hardware Monitor zelf helaas niet binnen een VM draaien. Dit heb ik ook geprobeerd, maar dan leest hij dus geen temperaturen uit. Deze tutorial is dus alleen voor mensen die een variant van Windows met een desktop draaien (de Hyper-V core versie gaat dus ook niet lukken denk ik).

Happy tweaking! :w

Laat weten wat je van deze blogpost vind door te stemmen
http://codecaster.nl/got/rmb/star1.gifhttp://codecaster.nl/got/rmb/star2.gifhttp://codecaster.nl/got/rmb/star3.gifhttp://codecaster.nl/got/rmb/star4.gifhttp://codecaster.nl/got/rmb/star5.gifhttp://codecaster.nl/got/rmb/stats.gif
Met dank aan CodeCaster

Volgende: HOWTO: Batterijniveau van een UPS aangesloten via USB uitlezen met WMI 02-'13 HOWTO: Batterijniveau van een UPS aangesloten via USB uitlezen met WMI
Volgende: 2-finger scroll op je Windows laptop 04-'12 2-finger scroll op je Windows laptop

Reacties


Door Tweakers user thof1, zaterdag 01 december 2012 22:14

Nou ben ik totaal geen expert op dit gebied en ik zal het zeker een keer uitproberen, maar heb een reactie op je voernoot. Volgensmij kun je ook je WMI-query afvuren op een andere Windows machine (bv naar Hyper-V host)? Heb het niet geprobeerd, maar wellicht dat er in die hoek nog ene oplossing gezocht kan worden.

Door Tweakers user ThinkPad, zondag 02 december 2012 11:41

thof1 schreef op zaterdag 01 december 2012 @ 22:14:
Nou ben ik totaal geen expert op dit gebied en ik zal het zeker een keer uitproberen, maar heb een reactie op je voernoot. Volgensmij kun je ook je WMI-query afvuren op een andere Windows machine (bv naar Hyper-V host)? Heb het niet geprobeerd, maar wellicht dat er in die hoek nog ene oplossing gezocht kan worden.
Dat kan ook zeker, dat is ook wat ik nu doe. Ik heb PRTG draaien in een Hyper-V guest met XP erop. Die vuurt WMI queries naar de Hyper-V host met Server 2008 R2 erop :)

Door Tweakers user ThinkPad, donderdag 03 januari 2013 10:22

Update: Blijkbaar zorgt PRTG ervoor dat je schijven niet in spindown gaan, hier kwam ik na een tijdje achter: [Server 2008] Hardeschijf gaat niet in standby?

Reageren is niet meer mogelijk