Ad Widget

Collapse

PerfCounter on NIC with multiple interfaces

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Florin
    Junior Member
    • Mar 2007
    • 5

    #16
    I'm not having any luck finding a solution for this particular issue. Relevant except from my zabbix_agentd.conf:

    PerfCounter=MSSQLLoad1, "\Process(sqlservr)\% Processor Time",5
    perfCounter=MSSQLLoad2, "\Process(sqlservr#1)\% Processor Time",5

    zabbixw32 test calls this a configuration error, but according to perfmon sqlservr#1 is in fact the proper name for the second instance of SQL Server that is running on that server.

    Anyone know another way to address multiple instances of processes?

    Comment

    • claytronic
      Member
      • Nov 2006
      • 52

      #17
      Hi Florin,

      Have your tried:
      Code:
      perfCounter=MSSQLLoad2, "\Process(sqlservr_1)\% Processor Time",5
      I'm not sure if that will work but I did have the same "#" issue when I first tried to setup the perfCounter for the second Broadcom NIC on our Dell servers.

      Hope this works for you.

      - Clayton

      Comment

      • skullone
        Member
        • Mar 2007
        • 46

        #18
        Originally posted by claytronic
        Hello,

        I've been searching around the forum for any posted resolutions for the special characters in the network device name. In my case I'm tracking to monitor the Broadcom NICs in our Dell servers.

        Broadcom BCM5708C NetXtreme II GigE (NDIS VBD Client) #1
        Broadcom BCM5708C NetXtreme II GigE (NDIS VBD Client) #2

        Based on the strings I see in perfmon I've tried the following configuration without success.

        Code:
        #Network
        PerfCounter= NetIn_1, "\Network Interface(Broadcom BCM5708C NetXtreme II GigE [NDIS VBD Client] _1)\Bytes Received/sec",60
        PerfCounter= NetOut_1, "\Network Interface(Broadcom BCM5708C NetXtreme II GigE [NDIS VBD Client] _1)\Bytes Sent/sec",60
        PerfCounter= NetIn_2, "\Network Interface(Broadcom BCM5708C NetXtreme II GigE [NDIS VBD Client] _2)\Bytes Received/sec",60
        PerfCounter= NetOut_2, "\Network Interface(Broadcom BCM5708C NetXtreme II GigE [NDIS VBD Client] _2)\Bytes Sent/sec",60
        Thanks,
        Clayton

        Claytronic;
        I've got a similar configuration, with those same Broadcom network cards.
        I'm having trouble getting any PerfCounter with a / (forward slash) or % sign in it to work, including the NIC counters.

        Can you paste your entire agentd.conf and a snippet of an Item in the frontend ?

        Comment

        • Florin
          Junior Member
          • Mar 2007
          • 5

          #19
          Originally posted by claytronic
          Hi Florin,

          Have your tried:
          Code:
          perfCounter=MSSQLLoad2, "\Process(sqlservr_1)\% Processor Time",5
          I'm not sure if that will work but I did have the same "#" issue when I first tried to setup the perfCounter for the second Broadcom NIC on our Dell servers.

          Hope this works for you.

          - Clayton
          Hi Clayton,

          Thanks a lot for your prompt response. I tried using sqlservr_1, and although that does stop Zabbix agent from flagging it as a configuration error, the perfcounter just returns 0 all the time. But perfmon shows sqlservr#1 load bouncing all over the place.

          Anyone know another way to address such multiple instances of processes? Or perhaps if a newer version of the zabbix agent might parse this differently?

          Comment

          • rajan.s.ravi
            Member
            • Jul 2006
            • 40

            #20
            Hi,

            If you are using windows, then include a space between % and Processor

            PerfCounter=Processor[Time],"\Processor(_Total)\% Processor Time",5 (note the space between % & Processor.

            Initially i had used %Processor Time and it used to return 0 value. But now it works fine.

            Hope this helps

            Comment

            • Florin
              Junior Member
              • Mar 2007
              • 5

              #21
              Thanks Rajan, but that's not the issue I'm seeing. The problem is that any statement containing a # anywhere is flagged as an error. Anyone?

              Comment

              • rajan.s.ravi
                Member
                • Jul 2006
                • 40

                #22
                Any luck trying (sqlserver _1), just try to see if it works.

                Comment

                • claytronic
                  Member
                  • Nov 2006
                  • 52

                  #23
                  Originally posted by skullone
                  Claytronic;
                  I've got a similar configuration, with those same Broadcom network cards.
                  I'm having trouble getting any PerfCounter with a / (forward slash) or % sign in it to work, including the NIC counters.

                  Can you paste your entire agentd.conf and a snippet of an Item in the frontend ?
                  Here you go skullone. Last week I enabled the Broadcom adapter teaming features. I've only commented out the originals.

                  These items are part of my Windows_t template.

                  Item 'Windows_t:NetIn_1'
                  Item 'Windows_t:NetOut_1'

                  Code:
                  ############ GENERAL PARAMETERS #################
                  
                  # List of comma delimited IP addresses (or hostnames) of ZABBIX servers.
                  # No spaces allowed. First entry is used for sending active checks.
                  # Note that hostnames must resolve hostname->IP address and
                  # IP address->hostname.
                  
                  Server=x.x.x.x
                  
                  # Server port for sending active checks
                  
                  #ServerPort=10051
                  
                  # Unique hostname. Required for active checks.
                  
                  Hostname=localhost
                  
                  # Listen port. Default is 10050
                  
                  #ListenPort=10050
                  
                  # IP address to bind agent
                  # If missing, bind to all available IPs
                  
                  #ListenIP=127.0.0.1
                  
                  # Number of pre-forked instances of zabbix_agentd.
                  # Default value is 5
                  # This parameter must be between 1 and 16
                  
                  StartAgents=5
                  
                  # How often refresh list of active checks. 2 minutes by default.
                  
                  #RefreshActiveChecks=120
                  
                  # Disable active checks. The agent will work in passive mode listening server.
                  
                  #DisableActive=1
                  
                  # Enable remote commands for ZABBIX agent. By default remote commands disabled.
                  
                  #EnableRemoteCommands=1
                  
                  # Specifies debug level
                  # 0 - debug is not created
                  # 1 - critical information
                  # 2 - error information
                  # 3 - warnings (default)
                  # 4 - for debugging (produces lots of information)
                  
                  DebugLevel=3
                  
                  # Name of PID file
                  
                  PidFile=/var/tmp/zabbix_agentd.pid
                  
                  # Name of log file.
                  # If not set, syslog will be used
                  
                  LogFile=c:\Zabbix\zabbix_agentd.log
                  
                  # Spend no more than Timeout seconds on processing
                  # Must be between 1 and 30
                  
                  Timeout=3
                  
                  ####### USER-DEFINED MONITORED PARAMETERS #######
                  # Format: UserParameter=<key>,<shell command>
                  # Note that shell command must not return empty string or EOL only
                  
                  ####### Local Checks #######
                  UserParameter = localPing[*],C:\Zabbix\pingTest.exe $1
                  
                  ####### Network #######
                  #PerfCounter= NetIn_1, "\Network Interface(Broadcom BCM5708C NetXtreme II GigE [NDIS VBD Client])\Bytes Received/sec",60
                  #PerfCounter= NetOut_1, "\Network Interface(Broadcom BCM5708C NetXtreme II GigE [NDIS VBD Client])\Bytes Sent/sec",60
                  #PerfCounter= NetIn_2, "\Network Interface(Broadcom BCM5708C NetXtreme II GigE [NDIS VBD Client] _2)\Bytes Received/sec",60
                  #PerfCounter= NetOut_2, "\Network Interface(Broadcom BCM5708C NetXtreme II GigE [NDIS VBD Client] _2)\Bytes Sent/sec",60
                  PerfCounter= NetIn_1, "\Network Interface(BASP Virtual Adapter)\Bytes Received/sec",60
                  PerfCounter= NetOut_1, "\Network Interface(BASP Virtual Adapter)\Bytes Sent/sec",60
                  Last edited by claytronic; 13-04-2007, 03:06.

                  Comment

                  • Florin
                    Junior Member
                    • Mar 2007
                    • 5

                    #24
                    Originally posted by rajan.s.ravi
                    Any luck trying (sqlserver _1), just try to see if it works.
                    I tried it, but no luck. I'm reading that it does seem to work for people with multiple NICs, but for statements like:

                    perfCounter=MSSQLLoad2, "\Process(sqlservr#1)\% Processor Time",5

                    neither
                    perfCounter=MSSQLLoad2, "\Process(sqlservr _1)\% Processor Time",5
                    nor
                    perfCounter=MSSQLLoad2, "\Process(sqlservr_1)\% Processor Time",5

                    are a solution.

                    So I'm still not able to monitor any process that isn't the first instance of that process

                    I wish the agents wouldn't parse the '#' unless it was at the start of a line..

                    Comment

                    • claytronic
                      Member
                      • Nov 2006
                      • 52

                      #25
                      Have you tried the .Net compile of the Agent? It has a UI that may allow you to select the different processes you wish to monitor.

                      --
                      Clayton

                      Comment

                      Working...