Zabbix Documentation 5.0

3.04.05.0 (current)| In development:5.2 (devel)| Unsupported:1.82.02.22.43.23.44.24.4Guidelines

User Tools

Site Tools


Sidebar

manual:config:templates_out_of_the_box:zabbix_agent2

Zabbix agent 2 template operation

Steps to ensure correct operation of templates that collect metrics with Zabbix agent 2:

1. Make sure that the agent 2 is installed on the host, and that the installed version contains required plugin. Follow the steps on this page if you need to update the agent 2.
2. Link the template to a target host (if the template is not available in your Zabbix installation, you may need to import the template's .xml file first - see Templates out-of-the-box section for instructions).
3. Adjust the values of mandatory macros as needed. Note, that user macros can be used to override configuration parameters.
4. Configure the instance being monitored to allow sharing data with Zabbix - see instructions in the Additional steps/comments column.

Zabbix agent 2 templates work in conjunction with the plugins. While the basic configuration can be done by simply adjusting user macros, the deeper customisation can be achieved by configuring the plugin itself. For example, if a plugin supports named sessions, it is possible to monitor several entities of the same kind (e.g. MySQL1 and MySQL2) by specifying named session with own URI, username and password for each entity in the configuration file.
This page contains only a minimum set of macros and setup steps that are required for proper template operation. A detailed description of a template, including the full list of macros, items and triggers, is available in the template's Readme.md file (accessible by clicking on a template name).
Template nameMandatory macrosAdditional steps/comments
Template App Docker - Works with Docker plugin; named sessions are not supported.

To set path to Docker API endpoint edit Plugins.Docker.Endpoint parameter in the agent 2 configuration file (default: Plugins.Docker.Endpoint=unix:///var/run/docker.sock).

To test availability, run:
zabbix_get -s docker-host -k docker.info
Template App Memcached {$MEMCACHED.CONN.URI} - connection string in the URI format; port is optional; password is not used.
If not set, the plugin's default value is used: tcp://localhost:11211.
Examples: tcp://127.0.0.1:11211, tcp://localhost, unix:/var/run/memcached.sock.
Works with Memcached plugin; named sessions are supported.

To test availability, run:
zabbix_get -s memcached-host -k memcached.ping
Template DB MySQL by Zabbix agent 2 {$MYSQL.DSN} - the system data source name of the MySQL instance (default: <Put your DSN>).
Can be a session name or a URI defined in the following format: <protocol(host:port or /path/to/socket)/>
For URI only TCP and Unix schemas are supported.
Examples: MySQL1, tcp://localhost:3306, tcp://172.16.0.10, unix:/var/run/mysql.sock
{$MYSQL.USER}, {$MYSQL.PASSWORD} - MySQL credentials (default: none). Required, if {$MYSQL.DSN} is a URI.
Must be empty, if {$MYSQL.DSN} is a session name.
Works with MySQL plugin; named sessions are supported.

To grant required privileges to a MySQL user that will be used for monitoring, run:
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO '<username>'@'%';

See MySQL documentation for information about user privileges and Unix sockets.
Template DB PostgreSQL by Zabbix agent 2 {$PG.URI} - connection string; can be a session name or a URI defined in the following format:
<protocol(host:port or /path/to/socket)/>. For URI only TCP and Unix schemas are supported.
Examples: Postgres1, tcp://localhost:5432, tcp://172.16.0.10
{$PG.USER}, {$PG.PASSWORD} - PostgreSQL credentials (default username: postgres, password:postgres).
Required, if {$PG.URI} is a URI. Must be empty, if {$PG.URI} is a session name.
Works with PostgreSQL plugin; named sessions are supported.

To create a user with required privileges, for PostgreSQL 10 and newer, run:
CREATE USER 'zbx_monitor' IDENTIFIED BY '<password>';
GRANT EXECUTE ON FUNCTION pg_catalog.pg_ls_dir(text) TO zbx_monitor;\\GRANT EXECUTE ON FUNCTION pg_catalog.pg_stat_file(text) TO zbx_monitor;

Edit pg_hba.conf to allow connections from Zabbix agent (see PostgreSQL documentation for details).
Template DB Redis {$REDIS.CONN.URI} -connection string in the URI format; port is optional; password is not used.
If not set, the plugin's default value is used: tcp://localhost:6379
Works with Redis plugin; named sessions are supported.

To test availability, run:
zabbix_get -s redis-master -k redis.ping