dimir / zabbix-extensions

3 stars 0 forks source link

Document how to run plugins with Zabbix agent 2 Docker image #3

Open i-ky opened 1 year ago

i-ky commented 1 year ago

I was experimenting a bit and figured out that after

cd agent2/plugins/myip/ && make

it is possible to "plug" the plugin (pun intended) into official Zabbix agent 2 Docker image like so:

docker run --rm --volume $PWD/myip.conf:/etc/zabbix/zabbix_agent2.d/plugins.d/myip.conf:ro --volume $PWD/myip:/usr/local/zabbix/go/plugins/myip:ro zabbix/zabbix-agent2:ubuntu-trunk -t myip

I guess it may be useful to someone, so it is probably worth documenting this trick.

Important note is that Go plugins are linked against standard C library, therefore it is important to use appropriate tag of Zabbix agent 2 image. For example, if you compile plugin on Ubuntu which uses libc, it will fail to run inside Alpine-based image, since the latter uses musl.

My assumption is that one can also plug multiple plugins into container, each with a pair of --volume options. docker run command may get ugly pretty quickly, so maybe an example Docker Compose file would be nice too.

dimir commented 1 year ago

Great idea, I like it!