Zabbix is an enterprise-class open source distributed monitoring solution.
Zabbix is software that monitors numerous parameters of a network and the health and integrity of servers. Zabbix uses a flexible notification mechanism that allows users to configure e-mail based alerts for virtually any event. This allows a fast reaction to server problems. Zabbix offers excellent reporting and data visualisation features based on the stored data. This makes Zabbix ideal for capacity planning.
For more information and related downloads for Zabbix components, please visit zabbix.com
Zabbix agent 2 is deployed on a monitoring target to actively monitor local resources and applications (hard drives, memory, processor statistics etc).
Images are updated when new releases are published.
zabbix-agent2Start a Zabbix agent 2 container as follows:
podman run \
--name some-zabbix-agent \
-e ZBX_HOSTNAME="some-hostname" \
-e ZBX_SERVER_HOST="some-zabbix-server" \
--init \
-d registry.connect.redhat.com/zabbix/zabbix-agent2-74:tag
Where some-zabbix-agent2 is the name you want to assign to your container, some-hostname is the hostname, it is Hostname parameter in Zabbix agent 2 configuration file, some-zabbix-server is IP or DNS name of Zabbix server or proxy and tag is the tag specifying the version you want.
This image exposes the standard Zabbix agent 2 port (10050) to perform passive checks, so container linking makes Zabbix agent 2 instance available to Zabbix server and Zabbix proxy containers. Start your application container like this in order to link it to the Zabbix agent 2 container:
$ podman run \
--name some-zabbix-server \
--link some-zabbix-agent:zabbix-agent2 \
--init \
-d zabbix/zabbix-server:latest
This image supports perform active checks, so container linking makes Zabbix server and Zabbix proxy containers available to Zabbix agent 2 instance. Start your application container like this in order to link Zabbix agent 2 to Zabbix server or Zabbix proxy containers:
$ podman run \
--name some-zabbix-agent \
--link some-zabbix-server:zabbix-server \
--init \
-d registry.connect.redhat.com/zabbix/zabbix-agent2-74:latest
The podman exec command allows you to run commands inside a Podman container. The following command line will give you a bash shell inside your zabbix-agent2 container:
$ podman exec -ti some-zabbix-agent /bin/bash
The Zabbix agent 2 log is available through Podman's container log:
$ podman logs some-zabbix-agent
By default, Podman containers are "unprivileged" and do not have access to the most of host resources. Zabbix agent 2 is designed to monitor system resources, to do that Zabbix agent 2 container must be privileged or you may mount some system-wide volumes. For example:
$ podman run \
--name some-zabbix-agent \
--link some-zabbix-server:zabbix-server \
--privileged \
--init \
-d registry.connect.redhat.com/zabbix/zabbix-agent2-74:latest
$ podman run \
--name some-zabbix-agent \
--link some-zabbix-server:zabbix-server \
-v /dev/sdc:/dev/sdc \
--init \
-d registry.connect.redhat.com/zabbix/zabbix-agent2-74:latest
When you start the zabbix-agent2 image, you can adjust the configuration of the Zabbix agent 2 by passing one or more environment variables on the podman run command line.
ZBX_HOSTNAMEThis variable is unique, case sensitive hostname. By default, value is hostname of the container. It is Hostname parameter in zabbix_agent2.conf.
ZBX_SERVER_HOSTThis variable is IP or DNS name of Zabbix server or Zabbix proxy. By default, value is zabbix-server. It is Server parameter in zabbix_agent2.conf. It is allowed to specify Zabbix server or Zabbix proxy port number using ZBX_SERVER_PORT variable. It make sense in case of non-default port for active checks.
ZBX_PASSIVE_ALLOWThis variable is boolean (true or false) and enables or disables feature of passive checks. By default, value is true.
ZBX_PASSIVESERVERSThe variable is comma separated list of allowed Zabbix server or proxy hosts for connections to Zabbix agent 2 container.
ZBX_ACTIVE_ALLOWThis variable is boolean (true or false) and enables or disables feature of active checks. By default, value is true.
ZBX_ACTIVESERVERSThe variable is comma separated list of allowed Zabbix server or proxy hosts for connections to Zabbix agent 2 container. You may specify port of Zabbix server or Zabbix proxy in such syntax: zabbix-server:10061,zabbix-proxy:10072.
ZBX_DEBUGLEVELThe variable is used to specify debug level. By default, value is 3. It is DebugLevel parameter in zabbix_agent2.conf. Allowed values are listed below:
0 - basic information about starting and stopping of Zabbix processes;1 - critical information2 - error information3 - warnings4 - for debugging (produces lots of information)5 - extended debugging (produces even more information)ZBX_TIMEOUTThe variable is used to specify timeout for processing checks. By default, value is 3.
Additionally the image allows to specify many other environment variables listed below:
ZBX_ENABLEPERSISTENTBUFFER=false # Available since 5.0.0
ZBX_PERSISTENTBUFFERPERIOD=1h # Available since 5.0.0
ZBX_ENABLESTATUSPORT=
ZBX_SOURCEIP=
ZBX_HEARTBEAT_FREQUENCY=60 # Available since 6.2.0
ZBX_ENABLEREMOTECOMMANDS=0 # Deprecated since 5.0.0
ZBX_LOGREMOTECOMMANDS=0
ZBX_FORCEACTIVECHECKSONSTART=0 # Available since 6.0.2
ZBX_HOSTINTERFACE= # Available since 4.4.0
ZBX_HOSTINTERFACEITEM= # Available since 4.4.0
ZBX_HOSTNAMEITEM=system.hostname
ZBX_METADATA=
ZBX_METADATAITEM=
ZBX_REFRESHACTIVECHECKS=5
ZBX_BUFFERSEND=5
ZBX_BUFFERSIZE=1000
ZBX_MAXLINESPERSECOND=20
ZBX_EVENTLOGMAXLINESPERSECOND=20 # Windows only
ZBX_LISTENIP=
ZBX_LISTENPORT=10050
ZBX_PLUGINTIMEOUT=
ZBX_UNSAFEUSERPARAMETERS=0
ZBX_TLSCONNECT=unencrypted
ZBX_TLSACCEPT=unencrypted
ZBX_TLSCAFILE=
ZBX_TLSCA=
ZBX_TLSCRLFILE=
ZBX_TLSCRL=
ZBX_TLSSERVERCERTISSUER=
ZBX_TLSSERVERCERTSUBJECT=
ZBX_TLSCERTFILE=
ZBX_TLSCERT=
ZBX_TLSKEYFILE=
ZBX_TLSKEY=
ZBX_TLSPSKIDENTITY=
ZBX_TLSPSKFILE=
ZBX_TLSPSK=
ZBX_TLSCIPHERALL=
ZBX_TLSCIPHERALL13=
ZBX_TLSCIPHERCERT=
ZBX_TLSCIPHERCERT13=
ZBX_TLSCIPHERPSK=
ZBX_TLSCIPHERPSK13=
ZBX_DENYKEY=system.run[*] # Available since 5.0.0
ZBX_ALLOWKEY= # Available since 5.0.0
Default values of these variables are specified after equal sign.
The allowed variables are identical of parameters in official zabbix_agent2.conf configuration file. For example, ZBX_REFRESHACTIVECHECKS = RefreshActiveChecks.
Please use official documentation for zabbix_agent2.conf to get more information about the variables.
/etc/zabbix/zabbix_agentd.dThe volume allows include *.conf files and extend Zabbix agent 2 using UserParameter feature.
/var/lib/zabbix/encThe volume is used to store TLS related files. These file names are specified using ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSCERTFILE, ZBX_TLSKEYFILE and ZBX_TLSPSKFILE variables. Additionally it is possible to use environment variables ZBX_TLSCA, ZBX_TLSCRL, ZBX_TLSCERT, ZBX_TLSKEY and ZBX_TLSPSK with plaintext values.
/var/lib/zabbix/bufferThe volume is used to store the file, where Zabbix Agent2 should keep SQLite database. To enable the feature specify ZBX_ENABLEPERSISTENTBUFFER=true. Available since 5.0.0.