Avatar billede blod_1 Nybegynder
09. januar 2005 - 17:09 Der er 9 kommentarer og
1 løsning

MRTG til CPU

Jeg har installeret MRTG på min server med Windows 2003. Lige nu laver den graf over netværket, og det virker fint.

Men nu vil jeg så også gerne have den til at lave graf over processor forbruget.

Jeg har prøvet en del forskellige, men har aldrig fået noget brugbart ud af det.
Avatar billede snowball Novice
09. januar 2005 - 20:04 #1
Prøv nedenstående. Det benytter sig dog af WMI i stedet for SNMP.

MRTG cfg (husk at rette Target så stien passer):

YLegend[win2k3cpu]: CPU - %
WithPeak[win2k3cpu]: y
Options[win2k3cpu]: gauge, integer, nopercent, noinfo
Target[win2k3cpu]: `cscript //nologo C:\mrtg\bin\WMI\CPU.vbs`
MaxBytes[win2k3cpu]: 100
Title[win2k3cpu]: CPU forbrug
ShortLegend[win2k3cpu]: %
Legend1[win2k3cpu]: CPU forbrug i %
Legend2[win2k3cpu]:
Legend3[win2k3cpu]: Peak CPU forbrug i %
Legend4[win2k3cpu]:
LegendI[win2k3cpu]:  Forbrug
LegendO[win2k3cpu]:
PageTop[win2k3cpu]: <H1>CPU forbrug</H1>

CPU.vbs:

set oSvc = GetObject("winmgmts:root\cimv2")

wqlQuery = "select LoadPercentage from Win32_Processor where DeviceID = 'CPU0'"

for each oData in oSvc.ExecQuery(wqlQuery)
    for each oProperty in oData.Properties_
        if oProperty.Name = "LoadPercentage" then
            procLoad = oProperty.Value
        end if
    next
next

wscript.echo procLoad
wscript.echo 0


Du skal dog være opmærksom på, at hvis du vil monitorere CPU'en på den server som kører MRTG, så vil det aldrig blive ret præcis, for MRTG bruger jo normalt 100% når det kører. Du skal i hvert fald sørge for at CPU'en er det første der bliver målt med MRTG, for ellers vil du blot få en 100% graf hele tiden.
Avatar billede blod_1 Nybegynder
09. januar 2005 - 22:05 #2
Jeps det virkede, kan man også gøre det med ram o.l?
Avatar billede snowball Novice
09. januar 2005 - 22:38 #3
Du kan gøre det med mange ting. Se f.eks. http://mrtg.geertsen.dk/ hvor jeg monitorerer flere ting :)

Fysisk og virtuel RAM ligger i Win32_LogicalMemoryConfiguration klassen.

Prøv og læs lidt på http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_classes.asp og de underlæggende sider. Så kan du få masser af inspiration til hvad du kan monitorere med WMI :)
Avatar billede blod_1 Nybegynder
09. januar 2005 - 22:49 #4
Super godt...

Jeg har lidt igang her: http://blod.lir.dk/mrtg/
Avatar billede krc_ Nybegynder
10. januar 2005 - 15:36 #5
Jeg er lige begyndt at rode lidt med mrtg og det er sgu spændende. Men er der ikke et sted for man kan se hvad og hvordan man monitorerer de forskellige ting ? Nu er der jo her et eksempel på cpu, men hvad med ram osv..... ?
Avatar billede snowball Novice
10. januar 2005 - 18:38 #6
Jeg er ikke stødt på nogen sider hvor der som sådan var en masse eksempler. Det nemmeste er egentlig at kigge lidt rundt på MSDN via førnævnte link og så se om der er noget man kan bruge. Alternativt kan du jo prøve at søge via google efter MRTG, WMI og så det man vil monitorere - f.eks. HDD plads.
Avatar billede krc_ Nybegynder
11. januar 2005 - 09:47 #7
Jeg har fundet lidt omkring det....men der er ikke en af jer der vil af med en cfg-fil og tilhørende vbs scripts ?
Avatar billede snowball Novice
11. januar 2005 - 10:16 #8
krc_: Eksempel til hvad? Min første kommentar viser hvordan man monitorerer CPU'en og det kan nemt tilpasses til at vise andre ting i stedet for.
Avatar billede krc_ Nybegynder
11. januar 2005 - 10:32 #9
Hmm... Jeg har prøvet dit eksempel på min w2k server, men det virker ikke helt..Der kommer en masse fejl! Så tænkte jeg bare at det kunne være man kunne lære noget af at kigge en anden cfg fil igennem!
Avatar billede cool_code Nybegynder
22. februar 2005 - 22:06 #10
Hej
jeg blander mig lige i dette spørgsmål. Jeg sidder med samme problem men kan ikke komme videre. Jeg vil godt give flere point på et additional spørgsmål.

mit problem:
når ovenstående eksempel eksekveres kommer der en lille boks på skærmen med cpu status ligenu, men den afspejles ikke i grafen. den er helt tom. Værdien skrives ikke ned i log-filen som mrtg bruger.
Og når jeg eksekverer filen kommer der følgende i kommando prompten:
WARNING: Could not get any data from external command 'C:\mrtg-2.11.1\bin\cpu.vb
s'
Maybe the external command did not even start. (No such file or directory)

WARNING: Problem with External get 'C:\mrtg-2.11.1\bin\cpu.vbs':
  Expected a Number for 'in' but nothing'

WARNING: Problem with External get 'C:\mrtg-2.11.1\bin\cpu.vbs':
  Expected a Number for 'out' but nothing'

ERROR: Target[win2k3cpu][_IN_] ' $target->[0]{$mode} ' did not eval into defined
data
ERROR: Target[win2k3cpu][_OUT_] ' $target->[0]{$mode} ' did not eval into define
d data

Kan i hjælpe med dette??

\cool_code
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester