Ad Widget

Collapse

net.tcp.service.perf - Understanding of how it works

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • bilal.habib
    Junior Member
    • Apr 2020
    • 22

    #1

    net.tcp.service.perf - Understanding of how it works

    Hi i want to use net.tcp.service.perf to monitor latency on the Radius port 1812. The key works fine when monitoring RDP on port 3389 and we have that port open on the local firewall. I made a new rule on a test VM to open port 1812 to TCP inbound however the check from Zabbix always returns 0. When i take the firewall down on the machine it still doesn't connect to the port. Any ideas?
  • metal
    Member
    • Nov 2019
    • 42

    #2
    Bilal,

    are you sure this is TCP? I think this should be a UDP port, not TCP, I have a coupel of radius servers:

    Code:
    Querying target system called:
    
    nps
    
    Attempting to resolve name to IP address...
    
    Name resolved to 10.10.40.154
    
    querying...
    
    TCP port 1812 (unknown service): NOT LISTENING
    
    UDP port 1812 (radius service): LISTENING or FILTERED
    I think you will need
    net.udp.service.perf

    Comment

    • bilal.habib
      Junior Member
      • Apr 2020
      • 22

      #3
      Originally posted by metal
      Bilal,

      are you sure this is TCP? I think this should be a UDP port, not TCP, I have a coupel of radius servers:

      Code:
      Querying target system called:
      
      nps
      
      Attempting to resolve name to IP address...
      
      Name resolved to 10.10.40.154
      
      querying...
      
      TCP port 1812 (unknown service): NOT LISTENING
      
      UDP port 1812 (radius service): LISTENING or FILTERED
      I think you will need
      net.udp.service.perf
      Hi Metal

      yes found its UDP only. Thought it was TCP as well as we had a specific rule for in the firewall. I want to use net.udp.service.perf but https://www.zabbix.com/documentation..._check_details I can't radius as a protocol type on this page. How do you implement it? I tried net.udp.service.perf[radius,,1812] but getting error 0 back


      Thanks
      Last edited by bilal.habib; 30-04-2020, 15:18. Reason: Add a trial in

      Comment

      • metal
        Member
        • Nov 2019
        • 42

        #4
        actually this will not work, it only works for NTP, sorry for that

        Comment

        • tim.mooney
          Senior Member
          • Dec 2012
          • 1427

          #5
          The perf checks that are specific to a particular protocol require that the agent be taught how to speak a little bit of that protocol -- enough to be able to make some kind of performance measurement.

          If you have someone in your organization that is comfortable programming in the C programming language and they know enough of the RADIUS protocol to add support for it in the agent, then it's possible to extend the agent to directly support ".perf" for that protocol.

          Just part of the beauty of open source monitoring.

          Comment

          • metal
            Member
            • Nov 2019
            • 42

            #6
            simple checks don't require an agent

            Comment

            • tim.mooney
              Senior Member
              • Dec 2012
              • 1427

              #7
              Thanks metal ! I should have read the earlier stuff more closely...

              I would edit my post to remove the reference to the agent, but it's more clear now to leave the error there and your follow-up correction.

              Comment

              • metal
                Member
                • Nov 2019
                • 42

                #8
                No pb bro, as you have already suggested, this is the beauty of open source Still you are right, the code might have to be written in C rather than PHP to add radius performance check functionality because I remember it is in the executable files in bin directory of zabbix installation rather than PHP code. Anyway, there are many scripts around there to check radius on linux, but I think Bilal uses Windows server, not linux. I 've never seen such flexible and versatile monitoring system like zabbix, I used opmanager and solarwindows, man .... zabbix beats them all!

                Comment

                • tim.mooney
                  Senior Member
                  • Dec 2012
                  • 1427

                  #9
                  The code for the service checks is in src/libs/zbxsysinfo/simple/simple.c in the Zabbix source distribution. The check_service() function is doing parameter parsing and then essentially routing/dispatch to a protocol-specific function. Most of the TCP functions are right in the same file, but the check_ntp() function is a bit longer, so it's split off into a separate file, src/libs/zbxsysinfo/simple/ntp.c

                  To add a new check, you would need to update check_service() to handle "radius" as an argument, and then call a new function that you would create, probably called check_radius(), that would have to have all the network and packet logic for connecting to a RADIUS server and speaking the protocol to it.

                  Comment

                  Working...