Ad Widget

Collapse

Monitoring and graphing NICs in Windows

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • edgonz
    Junior Member
    • Feb 2010
    • 9

    #1

    Monitoring and graphing NICs in Windows

    Hello all,

    Recently I was introduced to Zabbix by a co-worker from our parent company; I think this application may, and could, replace two of the monitoring tools I've been using - one of them being Cacti.

    Most of my servers are Windows 2003, which I have some physical servers as well as many virtual Windows 2003servers. As for my networking devices, I have all Cisco devices.

    With that said, I've embarqued on a project to test Zabbix with the goal of going production. I have 3 Windows servers being monitored, but the one item I'm having issues with is...network bandwidth utilization (in,out data).

    I did some research on these forums, and found some clues:
    Windows CPU Utilization


    Monitoring windows network
    Join the friendly and open Zabbix community on our forums and social media platforms.


    work usage on Windows
    http://www.zabbix.org/forum/showthre...indows+network (no answer for last question)

    With my little knowledge at the moment, I've been able to create 'items' and 'graphs' for Nic (in,out) data. Nonetheless, I think either I'm missing something or my graph configuration is not right.

    I've attached a copy of how my NIC item and graph look like. As you can tell, the graphic is not displaying data properly, I think.

    Thanks for the time.
    Attached Files
    Last edited by edgonz; 18-02-2010, 18:43.
  • tchjts1
    Senior Member
    • May 2008
    • 1605

    #2
    If you are talking about the graph having some white spaces, you may want to switch to using Zabbix Agent (Active) for the item "Type". In order for an active agent to work though, you have to have the "Hostname=myservername" field in your client-side zabbix_agentd.conf file match exactly what you have for your host name in the Zabbix front end. Case sensitive, too. Restart agent. In previous versions of Zabbix (pre 1.8.x), some people experienced data breaks in the graphs like that. Especially when looking at a one hour time frame.

    You probably really do not want your update interval at 5 seconds either. I use 60 seconds. If needed, go with 30 seconds.

    Now, if you are talking about your interface seeing 1.5GB of traffic per second... that's a different story. Try changing your "Store value" to "Delta (Speed per second).

    Pre 1.8.x needed to have a multiplier of 1024 applied to the item. From what I have read here, 1.8.x has done away with the need for that multiplier.

    Jeff
    Last edited by tchjts1; 19-02-2010, 05:42.

    Comment

    • edgonz
      Junior Member
      • Feb 2010
      • 9

      #3
      Yes, it's version 1.8.1 - sorry I left that piece of information out.

      However, thank you very much. Your suggestions worked perfectly.

      Now, I have another question related to monitoring Windows server virtual machines.

      On a physical machine, I used net.if.in and net.if.out to monitor my network card; however, that key value doesn't work if my host is a virtual Windows server. Nonetheless, I tried perf_counter[] and that seemed to work.

      My question is, does net.if.out applies only to physical network cards then?

      Comment

      • tchjts1
        Senior Member
        • May 2008
        • 1605

        #4
        I haven't tried using it on a VM yet, but I don't see why it wouldn't work.
        If you are having trouble while using the formal name of the interface, try using the IP address instead.

        Are you using the IF.LIST item to get the information back from the host on what interfaces it has? That usage is explained in one of the links you have in your original message.

        Comment

        • edgonz
          Junior Member
          • Feb 2010
          • 9

          #5
          Yes, I tried using net.if.list;however, I don't know how to expose the information. As a matter of fact, I have a net.if.list item created for one of my physical servers.

          Do I use a graph, to retrieve this info? I'm still trying to figure out the many options in the create new graph options.

          Comment

          • bobrivers
            Senior Member
            • Feb 2007
            • 115

            #6
            net.if.list

            To use net.if.list, at the DOS prompt, execute the following command:

            PHP Code:
            c:/zabbix/zabbix_agentd.exe -c c:/zabbix/zabbix_agentd.conf -t net.if.list 
            It will return some text. So I don't think that will be possible to put it into a graph.

            When configuring the items, I recommend to use
            PHP Code:
            net.if.in[{IPADDRESS}] 
            . It's better then using the network card name.
            {IPADDRESS} is a macro and will be replaced automatically by zabbix.
            Last edited by bobrivers; 19-02-2010, 19:11. Reason: additional info

            Comment

            • tchjts1
              Senior Member
              • May 2008
              • 1605

              #7
              Originally posted by bobrivers
              It will return some text. So I don't think that will be possible to put it into a graph.
              It is absolutely possible to put it into a graph. I will have an example for you in my next post.

              Comment

              • edgonz
                Junior Member
                • Feb 2010
                • 9

                #8
                net.if.in[{IPADDRESS}] - awesome tip...

                Originally posted by bobrivers
                When configuring the items, I recommend to use
                PHP Code:
                net.if.in[{IPADDRESS}] 
                . It's better then using the network card name.
                {IPADDRESS} is a macro and will be replaced automatically by zabbix.
                This is an awesome tip!

                So, the zabbix box must be able to properly resolve ip to names in order for this macro {IPADDRESS} to work properly, correct?

                On the other hand, I ran the command you suggested, and the text result I get is the same as if I run: typeperf -qx|find "Network"

                With that said, it appears that net.if.in or net.if.out works best if I use ip addresses - now this applies to my virtual windows servers. If I have a physical windows server, net.if.in or net.if.out works just fine with the physical NIC description I get from running typeperf -qx.

                Most my windows servers are virtual (VMware), so far all of them work fine so long as I use ip address, as such: net.if.in[X.X.X.X,bytes]

                Thank you very much for all your assistance.

                Next stop...my cisco switches (gonna hit the manual and learn how this is done).

                Comment

                • tchjts1
                  Senior Member
                  • May 2008
                  • 1605

                  #9
                  I think ideally, you would create it at the Template_Windows level and then it will be available for all hosts that have that template assigned to it.

                  Anyway, sounds like you have not explored creating screens yet. Go to Configure --> screens and create a screen with 3 columns and 6 rows. Unless my screen is for something very specific, I just give it the name of the server that it will contain the metrics from. Let's use "host1" as an example.

                  So, now you have the cells showing which you can edit and place graphs, simple graphs, text, etc from a host. The way I personally like to set mine up is this: (the graph or simple graph defaults to 500x200. in a screen that has 3 columns, I change 500 to 300)

                  host information................................version of zabbix agentd running
                  host uptime..............blank.................clock
                  processor usage....... memory usage.....swap space usage
                  processor load..........paging usage.......paging statistics
                  (Some skipped for brevity)
                  Here I insert the graph for the interface list across all 3 cols.
                  interface in/out.........errors in/out........packets droped in/out

                  And that will give you a "screen" that looks somewhat similar to the screenshot below.

                  A quick guide on how to enter the above information.
                  Host Information:
                  - Resource = plain text, show lines = 1, column span = 2
                  Zabbix agent version:
                  - Resource = plain text, show lines = 1
                  Host uptime:
                  - Resource = simple graph, width = 300
                  Processor usage
                  - Resource = Graph, width = 300
                  (Provided you have already created a graph for CPU usage - idle time, user time, priveleged time, etc)

                  You get the idea.

                  Now for the interface list:
                  - Resource = plain text, show lines = 1, column span = 3

                  For all of the above, you will have to select the correct "Parameter" from the correct host (or template).

                  Here is an abbreviated screenshot of the ouput. This is just a small portion of the "Screen" that is created.
                  Attached Files

                  Comment

                  • tchjts1
                    Senior Member
                    • May 2008
                    • 1605

                    #10
                    So if you created a screen, another thing you may want to explore is populating it with "Dynamic graphs". This way, you can set up a screen for one host, and look at the metrics from your other hosts through this dynamic setup.

                    Very simple to do, if you go back to the screen you created, to the point where you can edit the information for each graph, click on one of the graphs and near the bottom should be a check-box for "Dynamic item". check it, and do that for all your graphs on the screen. You may want to then rename that screen something like "Dynamic Windows Servers"

                    Now when you go to Monitoring --> Screens, select your Dynamic Windows Servers screen and you will see some additional dropdowns at the top right for Group and Host. You can now view the metrics for any of your windows hosts on that screen you created.

                    The limitation to this is that you would only want to create it from items that are standard across your Windows hosts such as graphs for CPU usage, Memory, Swap Space,System Context Switches, etc. because the "key" syntax for those is the same in almost all cases.

                    If you have some unique item you are monitoring, such as a process that runs on one server and not the rest, then it won't be available.

                    The graphs you set as dynamic items are based on the host that you set up the graphs from originally. That will be your default host.

                    Hope that wasn't confusing. Play with it a bit and you will see how it works. It will save you from doing a bunch of repetetive work.
                    Last edited by tchjts1; 20-02-2010, 10:39.

                    Comment

                    • edgonz
                      Junior Member
                      • Feb 2010
                      • 9

                      #11
                      tchjts1, thank you very much!

                      I just finished creating my first dynamic screen! Thanks again.

                      Comment

                      Working...