Áú»¢¶Ä²©

Áú»¢¶Ä²© agent template operation

Steps to ensure correct operation of templates that collect metrics with Áú»¢¶Ä²© agent:

1. Make sure that Áú»¢¶Ä²© agent is installed on the host. For active checks, also make sure that the host is added to the 'ServerActive' parameter of the agent configuration file.
2. Link the template to a target host (if the template is not available in your Áú»¢¶Ä²© 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.
4. Configure the instance being monitored to allow sharing data with Áú»¢¶Ä²© - see instructions in the Additional steps/comments column.

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 name Mandatory macros Additional steps/comments
/ Note that the template doesn't provide information about Windows services state. It is recommended to use it together with OS Windows by Áú»¢¶Ä²© agent or OS Windows by Áú»¢¶Ä²© agent active template.
{$APACHE.STATUS.HOST} - the hostname or IP address of Apache status page (default: 127.0.0.1)
{$APACHE.STATUS.PATH} - the URL path (default: server-status?auto)
{$APACHE.STATUS.PORT} - the port of Apache status page (default: 80)
Apache module mod_status should be set (see Apache for details).
To check availability, run:
httpd -M 2>/dev/null \| grep status_module

Apache configuration example:
<Location "/server-status">
SetHandler server-status
Require host example.com
</Location>
{$HAPROXY.STATS.PATH} - the path of HAProxy Stats page (default: stats)
{$HAPROXY.STATS.PORT} - the port of HAProxy Stats host or container (default: 8404)
{$HAPROXY.STATS.SCHEME} - the scheme of HAProxy Stats page. Supported: http (default), https
HAProxy Stats page should be set up (see HAProxy for details or template's Readme.md for configuration example).
/ {$IIS.PORT} - the port IIS Server listens on (default: 80)
{$IIS.SERVICE} - the service for port check (default: http). See net.tcp.service section for details.
The server should have the following roles:



See IIS documentation for details.
{$NGINX.STUB_STATUS.HOST} - the hostname or IP address of Nginx stub_status host or container (default: localhost)
{$NGINX.STUB_STATUS.PATH} - the path of Nginx stub_status page (default: basic_status)
{$NGINX.STUB_STATUS.PORT} - the port of Nginx stub_status host or container (default: 80)
ngx_http_stub_status_module should be set up (see Nginx for details or template's Readme.md for configuration example).
To check availability, run:
nginx -V 2>&1 \| grep -o with-http_stub_status_module
{$PHP_FPM.HOST} - a hostname or an IP of PHP-FPM status host or container (default: localhost)
{$PHP_FPM.PING.PAGE} - PHP-FPM ping page path (default:ping)
{$PHP_FPM.PORT} - the port of PHP-FPM status host or container (default: 80)
{$PHP_FPM.PROCESS_NAME} - PHP-FPM process name (default:php-fpm)
{$PHP_FPM.STATUS.PAGE} - PHP-FPM status page path (default:status)
1. Open the php-fpm configuration file and enable the status page:
pm.status_path = /status
ping.path = /ping

2. Validate the syntax: $ php-fpm7 -t

3. Reload the php-fpm service.

4. In the Nginx Server Block (virtual host) configuration file, add (see template's Readme.md for an expanded example with comments):
location ~ ^/(status\|ping)$ {
access_log off;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}

5. Check the syntax: $ nginx -t

6. Reload Nginx

7. Verify: curl -L 127.0.0.1/status
{$RABBITMQ.API.CLUSTER_HOST} - the hostname or IP address of RabbitMQ cluster API endpoint (default:127.0.0.1)
{$RABBITMQ.API.USER}, {$RABBITMQ.API.PASSWORD} - RabbitMQ login credentials (default username: zbx_monitor, password: zabbix)
Enable RabbitMQ management plugin (see ).

To create a RabbitMQ user with necessary permissions for monitoring, run:
'' rabbitmqctl add_user zbx_monitor <PASSWORD> ''
rabbitmqctl set_permissions -p / zbx_monitor %% "" "" ".*"%%
rabbitmqctl set_user_tags zbx_monitor monitoring

If the cluster consists of several nodes, it is recommended to assign the cluster template to a separate balancing host. In case of a single-node installation, the cluster template can be assigned to the host with a node template.
{$MYSQL.HOST} - the hostname or IP address of MySQL host or container (default: 127.0.0.1 (since 5.0.27)/localhost (before 5.0.27))
{$MYSQL.PORT} - the database service port (default: 3306)
1. If necessary, add the path to the mysql and mysqladmin utilities to the global environment variable PATH.

2. Copy the template_db_mysql.conf file from templates directory of Áú»¢¶Ä²© into folder with Áú»¢¶Ä²© agent configuration (/etc/zabbix/zabbix_agentd.d/ by default) and restart Áú»¢¶Ä²© agent.

3. Create MySQL user zbx_monitor. To grant required privileges to the user, run:
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON %% *.* TO '<username>'@'%';%%
(see for details).

4. Create .my.cnf in the home directory of Áú»¢¶Ä²© agent for Linux (/var/lib/zabbix by default ) or my.cnf in c:\ for Windows. The file must have three strings:
[client]
''user='zbx_monitor' ''
''password='<password>' ''
{$PG.DB} - the database name to connect to the server (default: postgres)
{$PG.HOST} - the database server host or socket directory (default:127.0.0.1)
{$PG.PORT} - the database server port (default: 5432)
{$PG.USER} - the database username (default: zbx_monitor)
1. Create a read-only user zbx_monitor with proper access to PostgreSQL server. For PostgreSQL 10 and newer, run:
CREATE USER zbx_monitor WITH PASSWORD '<PASSWORD>' INHERIT;
GRANT pg_monitor TO zbx_monitor;
For older PostgreSQL versions, run:
CREATE USER zbx_monitor WITH PASSWORD '<PASSWORD>';
GRANT SELECT ON pg_stat_database TO zbx_monitor;

2. Copy postgresql/ to Áú»¢¶Ä²© agent home directory (/var/lib/zabbix/).

3. Copy template_db_postgresql.conf from templates directory of Áú»¢¶Ä²© to Áú»¢¶Ä²© agent configuration directory (/etc/zabbix/zabbix_agentd.d/) and restart Áú»¢¶Ä²© agent.

4. Edit pg_hba.conf to allow connections from Áú»¢¶Ä²© agent (see for details).
Row examples:
host all zbx_monitor 127.0.0.1/32 trust
host all zbx_monitor 0.0.0.0/0 md5
host all zbx_monitor ::0/0 md5

5. To monitor a remote server, create a .pgpass file in Áú»¢¶Ä²© agent home directory (/var/lib/zabbix/) and add rows with the instance, port, database, user and password information (see for details).
Row examples:
<REMOTE_HOST1>:5432:postgres:zbx_monitor:<PASSWORD>
*:5432:postgres:zbx_monitor:<PASSWORD>