How can I develop my custom module in IcingaWeb2?

Hi Icinga Community,
Hope you all are doing well. For a while now, I have trying to build my own custom module in IcingaWeb2 from scratch. I am facing a lot of issues in this regard. In the past, there was a utility called Icinga Module Studio but as per my research I believe it has been discontinued. I wanted to know that is there any other utility, guide or another helpful material that can help in building custom modules in IcingaWeb2. I will be very grateful for you for this help. Thanks in advance.

  • Icinga Web 2 version (icingaweb2 --2.11.2)
  • Icinga 2 version (icinga2 --2.13)
  • PHP version (php --7.4)
  • Operating System (OS --Ubuntu)

you can use GitHub - Icinga/icingaweb2-module-training at update-2022
or the main branch of GitHub - Icinga/icingaweb2-module-training: Training class for Icinga Web 2 module developement.

You can also get inspired by a lot of other modules, use github search for icingaweb-module

or you wait till 17.May 2023 :slight_smile: I will present such a thing at IcingaCamp Berlin

1 Like

PNP is an excellent starter as it demonstrates multiple functions like adding a new top level menu, configuration page, host and service level widgets and so on. However it works only with Monitoring.

The API for IcingaWebDB has changed and reportedly there’s no equivalent for it so far.

I highly recommend using PHP 8.1+ for development as there are quite a few incompatibilities with earlier versions and you’re going to repair your plugin very soon.

there was a utility called Icinga Module Studio

Could you post a link maybe? I’ve never heard of it and Internet search shows nothing.

Thank you very much @moreamazingnick for your insight and help. I think it will be very helpful for me. It will study this documentation and return with more questions. One more thing, is this IcingaCamp online or on permsis?

@Matlib The Icinga Module Studio, I think has been dis-continued, as there is not any github link regarding it anymore and not much material regarding it.

Can someone please confirm this?