Zabbix Proxy: distributed NMS monitoring via embedded Linux (Ubuntu on BeagleBoard)
As already mentioned in previous post’s introduction, proof of concept on how Zabbix Proxy works under unreliable communication is what this next post about. The idea is to have these scenarios tested:
- independent SNMP data polling by individual NMS proxy (embedded system)
- intermittent connection between main/master NMS server with its proxy
Of course we’ll do them in implementation context of Zabbix Server as main/master NMS server and our BeagleBoard xM as its proxy.
In the technical details, I already followed pretty much the same steps showed in installation wiki (with the exception that I didn’t put the process into startup init.d
script as I would start it manually as needed).
The first test is to make our Ubuntu ARM board accepts configuration done in Zabbix Server web-GUI, retrieves SNMP data to it, and sends collected data to server. Mode passive is chosen so that the server will be the one initiating contact with the board. After enabling a certain SNMP host, i.e. host-aaa
, as monitored-by-proxy, the Zabbix Server log will show:
15677:20120601:022022.960 Sending configuration data to proxy 'beaglexm1'. Datalen 9205
Our board, ‘beaglexm1
‘, will start to poll SNMP data from host-xxx
to then store it in designated sqlite
database.
975:20120531:212024.098 proxy #8 started [poller #5] 984:20120531:212024.128 proxy #17 started [discoverer #1] 968:20120531:212025.423 Received configuration data from server. Datalen 9205 971:20120531:212030.388 Enabling SNMP host [host-aaa]
From time to time as configured, our board will also run housekeeping to keep our board database file in small size.
1081:20120531:224513.922 Executing housekeeper 1081:20120531:224514.505 Deleted 4885 records from history [0.453765 seconds]
Under normal connection, in main Zabbix Server we’ll start seeing the collected data from host-aaa
the same way as when the SNMP data is polled by the server directly. To emulate disruption to the connectivity, I choose to use simple iptables
drop packet. This time the server will no longer seeing new data.
After the drop block is released, the server we’ll start seeing new data as well as data from the period of intermittent connection. It will take some time before all of that being sent to the server.
In general that proves it. I collected 44 OID values from the host-aaa
every 30 seconds and in this case BeagleBoard utilization was very low as this wasn’t a stress test to see its performance.
About
+Arif Kusbandono
Recently
Et Cetera
© logIt. Powered by WordPress using the DePo Skinny Tweaked Theme.