Support for TR069 on Icinga2

I want to know if the ICINGA2 Supports TR069. The idea is to remote monitor Huawei GPON ONT’s.

thanks for your feedback.



I have no idea what this is. Do you have some reference URLs and docs about its APIs, and an explanation what this exactly is?

If a plugin doesn’t exist yet, you might create one based on the available resources and APIs.


You can write your own script. Take a look at the script from @mcktr for the AVM This one uses also TR069.

1 Like


the TR-064 and TR-069 protocols are based on SOAP/HTTP and are used to retrieve information from a network device (a router for example) or to configure them.

Actually the plugin I wrote uses TR-064 to communicate with a Fritz!Box (popular router series here in Germany). As far as I know the TR-064 protocol is limited to the LAN, but the protocol and communicate is similar (also SOAP/HTTP based).

To my understanding the main difference is that TR-069 has remote management capabilities and is not limited to the LAN. For example it is used (or was) to auto configure a router based on a configuration that was retrieved from a server that is located at the internet service provider.

But honestly, I am not an expert on these protocols as they are not easy to understand and I don’t deal with them day to day.

To monitor a device which communicate via TR-064/TR-069 you need to write and/or find a check plugin which queries the device API via those protocols. Icinga 2 itself does not have support for TR-069 nor TR-064 as the same way Icinga 2 does not have support for ssh for example. But of course you can check a host/network device via ssh, this is possible because there is a check plugin (called check_by_ssh) that implements that.

Icinga 2 expects the answer from such a check plugin in a defined format, this answer (check result) is than processed in Icinga 2 to get a check status, process performance data (and push them to Graphite, InfluxDB, etc.), etc. In the Monitoring Plugins Development Guidelines you can find how a answer from a check result should be formatted (and some more good practices when developing a check plugin). When you can get a documentation for your device and its TR-069 implementation it is a huge help for developing a check plugin. Also curl is a great tool to getting used and playing around with the device TR-069 API.

Best regard