Ad Widget

Collapse

Windows CPU Utilization

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • gbr
    Junior Member
    • Oct 2009
    • 14

    #1

    Windows CPU Utilization

    Hi,

    I can get CPU Utilization (percent) under Linux just fine, but I can't seem to find it under Windows. I can get the CPU load, which is useful, but not as useful as having load and utilization.

    Thanks,
    Gerald

    ps: I moved from Nagios to Zabbix 3 days ago. I'm currently monitoring 7 out of 25 servers, and things are not going too badly.
  • kii
    Junior Member
    • Oct 2009
    • 14

    #2
    I met the same trouble. how to get the value of the CPU?

    Comment

    • MrKen
      Senior Member
      • Oct 2008
      • 652

      #3
      I don't think the windows agent can monitor CPU utilization.

      See the manual, around pages 97/98.

      MrKen
      Disclaimer: All of the above is pure speculation.

      Comment

      • bobrivers
        Senior Member
        • Feb 2007
        • 115

        #4
        performance counter

        I use

        perf_counter[\System\Processor Queue Length]
        perf_counter[\Processor(_Total)\% Processor Time]

        The explanation can be found here

        Comment

        • gospodin.horoshiy
          Senior Member
          • Sep 2008
          • 272

          #5
          Or you can just use perf_counter["\238(_Total)\6"]
          for Processor load, this way you don't have to worry what Language version of windows is installed
          Zbx 2.0.4 on Debian and MYSQL5 on Ubuntu Server 64bit 8.04,
          200+ Win Agents, 50+ Linux Agents, 150+ Network Devices

          Comment

          • gbr
            Junior Member
            • Oct 2009
            • 14

            #6
            Originally posted by bobrivers
            I use

            perf_counter[\System\Processor Queue Length]
            perf_counter[\Processor(_Total)\% Processor Time]

            The explanation can be found here
            Man, I wish I knew enough about zabbix to implement that based on what you wrote. I'm still on the learning curve.

            Gerald

            Comment

            • tchjts1
              Senior Member
              • May 2008
              • 1605

              #7
              Originally posted by gbr
              Man, I wish I knew enough about zabbix to implement that based on what you wrote. I'm still on the learning curve.

              Gerald

              We've all been there. Do this. Go to the windows machine that you are monitoring. Open a CMD prompt and type typeperf -qx > perfounter.txt
              This is going to produce a rather large file of all the performance counters that you can use within Zabbix for that particular machine. Some itmes will be have global usage across that OS/Version, while some items will be unique to only that machine.

              Now that you have your list of perf counters, you need to enter them for that host in the Zabbix front end. (Well, the ones you want to monitor, anyway)

              In this example, create an item for CPU Idle time. This item will most likely be the same on almost any Windows platform, so let's create this item under the Windows template, then it will be available to all your hosts that have that template assigned. Go to Configuration --> Items and then using the dropdown boxes at the top right, select Group --> Templates and then Host --> Template WIndows.

              Now, click on Create Item and enter the information as you see in my first screenshot below. Since you can't see all of the key in that screenshot, here it is: perf_counter[\Processor(_Total)\% Idle Time].

              Note that if you are using active agents, your hostname within Zabbix must be an exact match as the "Hostname=" field in your zabbix_agentd.conf file on the host or else it will not work.

              And that's really all there is to it. Once you add that item, give it a minute or two to become active. If it comes up as "Not supported" then you have some type of syntax error.

              If you run the typeperf command and the system cannot find it, you can more then likely grab it off almost any Server 2003 system you have. You can copy it onto any other Win OS such as WIndows 2000.

              Some other performance counter keys I have found to be useful are these:
              perf_counter[\Processor(_Total)\% User Time]
              perf_counter[\Processor(_Total)\% Privileged Time]
              perf_counter[\System\Processor Queue Length]
              perf_counter[\Paging File(_Total)\% Usage]

              And you can also graph out how much CPU a given process uses. For instance, this is the key for how mush user time the zabbix_agentd process uses:
              perf_counter[\Process(zabbix_agentd)\% User Time]

              Those will all be in that perf counter text file you generate. Any process that happens to be running when you generate it (such as zabbix_agentd) will have a syntax that you can then enter into Zabbix for monitoring.

              Now, something like traffic across your NIC cards is something that would be unique to each server, unless they all had the exact same NIC in them. So that one you would want to create at the host level instead of the template level, and the key would look something like this:
              perf_counter[\Network Interface(HP NC7782 Gigabit Server Adapter)\Bytes Received/sec]

              Have fun.
              Attached Files

              Comment

              • prasenjit
                Junior Member
                • Jan 2012
                • 5

                #8
                Thanks for the screenshot.
                It helped a lot.

                Comment

                Working...