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?
Ad Widget
Collapse
net.tcp.service.perf - Understanding of how it works
Collapse
X
-
Tags: None
-
Bilal,
are you sure this is TCP? I think this should be a UDP port, not TCP, I have a coupel of radius servers:
I think you will needCode: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
net.udp.service.perf -
Hi MetalBilal,
are you sure this is TCP? I think this should be a UDP port, not TCP, I have a coupel of radius servers:
I think you will needCode: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
net.udp.service.perf
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
ThanksComment
-
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
-
-
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
-
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
Comment