What we are currently doing
We manage many networks, and on each network we have a single windows machine that gets about 10 SNMP values from a handful of devices and forwards it to the zabbix server. Each device has its own "host" in zabbix (as they are all full-fledged devices in different locations on a shared network).
This works, but the script only runs on windows, checks one value at a time, cannot update faster than once ever 4 seconds or so, and if there is a loss in connection, none of that data is stored and sent to the server.
What we would like to do
Ideally, we have a zabbix agent running in a docker container on a small linux machine which can perform this task using the agent so that data can be cached and sent in compressed chunks, and so that if the server connection is lost, the data will propogate on reconnect.
The Issue We are Facing
The issue is that any data the zabbix agent captures seemingly can only be applied to itself. What I mean is that all of these values are applied to the management machine, instead of being applied as values to individual hosts for each of the SNMP-only devices.
For example, if I am to have
in the agent's config, that sets the management machine's "Status" key to the result instead of the host we set up for the networked device.
Any advice?
What we CANNOT do
1. We cannot install the zabbix agent on the devices we want to monitor. They do not have access to the public internet and do not run a full capable linux system
2. We cannot set up zabbix servers on each of these networks. We need a centralized system to monitor the 50+ clients we have.
3. Because of the above limitations, we cannot access the devices via SNMP directly from the zabbix server, as it is on a different LAN.
Diagram of the types of networks we connect to
zz0.dcve073lgxkzz
We manage many networks, and on each network we have a single windows machine that gets about 10 SNMP values from a handful of devices and forwards it to the zabbix server. Each device has its own "host" in zabbix (as they are all full-fledged devices in different locations on a shared network).
This works, but the script only runs on windows, checks one value at a time, cannot update faster than once ever 4 seconds or so, and if there is a loss in connection, none of that data is stored and sent to the server.
What we would like to do
Ideally, we have a zabbix agent running in a docker container on a small linux machine which can perform this task using the agent so that data can be cached and sent in compressed chunks, and so that if the server connection is lost, the data will propogate on reconnect.
The Issue We are Facing
The issue is that any data the zabbix agent captures seemingly can only be applied to itself. What I mean is that all of these values are applied to the management machine, instead of being applied as values to individual hosts for each of the SNMP-only devices.
For example, if I am to have
Code:
UserParameter=Status,(Command to get the status of one of the network devices)
Any advice?
What we CANNOT do
1. We cannot install the zabbix agent on the devices we want to monitor. They do not have access to the public internet and do not run a full capable linux system
2. We cannot set up zabbix servers on each of these networks. We need a centralized system to monitor the 50+ clients we have.
3. Because of the above limitations, we cannot access the devices via SNMP directly from the zabbix server, as it is on a different LAN.
Diagram of the types of networks we connect to
Comment