Is there a way to push plugins from master to agents?

Is there a way to push plugins from master to agents?
for example there is check mem template in ITL but no plugin installed by default
so when I installed plugin files in MASTER it would be great to push them or use them
on satellites/agents

Am I missing something? or there is no such option and I install plugins via puppet or custom .deb package?


As far as I know, there is no way to let icinga sync plugins. Because of the permission of Linux, you will also notice that configs, which are synced from the master to an agent, are not stored at /etc/icinga2, but /usr/share/icinga2/…

I have built myself a CI/CD process for the plugins via GitLab where a push to the GitLab master branch triggers a checkout on the icinga2 master and a sync to the slaves via ansible

hi, its possible if you place them in /et/icinga2/zoned.d/globeal-template.fe.

Pretty sure its not desigend for it, but it works. I use this, when i have no access to the target machine for some strange department reasons ;-D

There was a pretty nice howto on the old monitoring forum for Windows Powershell checks. But i think its gone for ever :confused:

I use rsync, rsync over ssh, or ansible. Depends on the sort of access I have to the endpoints. That’s just for *nix hosts that usually have the same distro and versions of libraries. For oddballs I have my own repo and use ansible to install things.

For Windows I just copy and cuss a lot.

Ansible, place the package in a folder and use ansible to drop the package and install it.

You can look up the appropriate package manager module (dnf/yum/w.e) and combine it with the copy module to drop the package then install it.

Yes, use Ansible or a similar tool…

We use GlusterFS to share the plugins dir. between master and satellite. Then we only make changes in the master dir… For same-named plugins that have to react differently on master & satellite, we adapt the internal logic of the script (“am I a master?” - then do this - else this) using an extra “identifying” file under /etc somewhere for the master.