Table of Contents

Zabbix agent 2 模板操作

下面步骤确保当前操作模板能正常收集监控对象数据通过 Zabbix agent 2:

1. 请确保主机上已安装 agent 2, 和安装的版本包含所需的插件. 如果你需要升级到 agent 2 请跟着此页面步骤。
2. 将模板链接 关联到主机 (如果在Zabbix中没有agent 2可用的模板,您可能需要首先导入模板的.xml文件-参见 开箱即用的模板 说明部分)。
3. 根据提示修改强制宏值修改。注意,用户宏可以被用来覆盖配置的参数。
4. 配置监控对象实例允许zabbix去获取数据。 - 请参阅附加步骤/注释栏中的说明。

Zabbix agent 2 模板和插件一起使用。 而基本配置可以通过简单地调整用户宏来完成, 更深层次的定制可以通过 configuring the plugin 实现 。举个例子,如果插件支持命名会话, 通过使用自己的URI指定指定的会话,可以监视多个相同类型的实体(如MySQL1和MySQL2), 用户名和密码将保存在各自的配置文件中。

本页仅包含适当模板操作所需的最小宏集和设置步骤。 模板的详细描述,包括宏、项和触发器的完整列表,可以在模板的自述文件中找到。Readmd文件(可通过单击模板名称访问)。

模板名称 强制性 宏 添加步骤/说明
Template App Ceph by Zabbix agent 2 {$CEPH.API.KEY} - API key (default: zabbix_pass).
如果 {$CEPH.CONNSTRING} 是一个 URI,则API key必须有值。 
如果 {$CEPH.CONNSTRING} 是一个会话名称,则API key 为空。  1. 依据 [文档](ht{$CEPH.CONNSTRING} - 连接字符串;可以是一个会话名称或者URL地址,按照格式: <protocol(host:port)>.对于URL地址只支持 HTTPS架构。 
例如: Prod, https://localhost:8003 (default)  2{$CEPH.USER} - 用户被使用在监控中 (default:zabbix).
如果 {$CEPH.CONNSTRING} 是一个 URI,则宏值必须有值。
如果 {$CEPH.CONNSTRING} 是一个会话名称,则宏值为空。
Ceph 插件一起使用; 支持会话名称命名。
ps://docs.ceph.com/en/latest/mgr/restful/)配置 Ceph RESTful 模块。
确保 RESTful API endpoint 可以被连接使用。
Template App Docker - Docker 插件一起使用; 不支持会话名称命名。

设置Docker API端点编辑插件的路径。Docker.Endpoint 参数在agent 2 配置文件 (默认: Plugins.Docker.Endpoint=unix:///var/run/docker.sock).

测试可用性, 运行:
zabbix_get -s docker-host -k docker.info
Template App Memcached {$MEMCACHED.CONN.URI} - 连接字符串在 URI 格式; 端口是可选的; 密码没有被使用.  与Memcached模块一起使用;支如果没有设置, 插件默认使用的值是: tcp://localhost:11211. 
例子: tcp://127.0.0.1:11211, tcp://localhost, unix:/var/run/memcached.sock. 测
会话名称命名 .
可用性, 运行:
zabbix_get -s memcached-host -k memcached.ping
Template DB MySQL by Zabbix agent 2 {$MYSQL.DSN} - MySQL实例的系统数据源名称 (默认: <填写你的DSN>).  与 MySQL插件一起使用下面格式定义可以是会话名称或者是一个URI: %% <protocol(host:port or /path/to/socket)/>%% 
对于URI,只支持TCP和Unix模式。  将用于监控的权限授例子: MySQL1, tcp://localhost:3306, tcp://172.16.0.10, unix:/var/run/mysql.sock  **{$MYSQL.USER}**, **{$MYSQL.PASSWORD}** - MySQL 凭证 (default: none). 如果 {$MYSQL.DSN} 是一个URI,那么此{$MYSQL.USER},{$MYSQL.PASSWORD}宏值项不为空。\
如果 {$MYSQL.DSN} 是一个会话名称,那么此{$MYSQL.USER},{$MYSQL.PASSWORD}宏值项为空. 有关的信息,请参阅MySQL文档 [|支持会话名称命名。
MySQL用户, 运行:
RANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO '<username>'@'%';

户权限](https://dev.mysql.com/doc/refman/8.0/en/grant.html)和Unix sockets
Template DB Oracle by Zabbix agent 2 {$ORACLE.CONNSTRING} - 连接字符串; 下面格式定义可以是会话名称或者是一个URI: <protocol(host:port or /path/to/socket)/>  与 Oracle 插件一起使用; 支持会话对于URI,只支持TCP模式。 
例子: Oracle1, tcp://localhost:1521 (default)  安
{$ORACLE.SERVICE} - Oracle服务的名称 (default: ORA). 如果 {$ORACLE.CONNSTRING} 是一个URI,那么此{$ORACLE.CONNSTRING}宏值项不为空。  CREATE USER zabbix_如果 {$ORACLE.CONNSTRING} 是一个会话名称,那么此{$ORACLE.CONNSTRING}宏值项为空。\-- Grant access t
{$ORACLE.USER}, {$ORACLE.PASSWORD} - Oracle 凭证 (default username: zabbix, password: zabbix_password). Required, 如果 {$ORACLE.CONNSTRING} 是一个URI,那么此{$ORACLE.USER},{$ORACLE.PASSWORD} 宏值项不为空。  GRANT SELECT ON D如果 {$ORACLE.CONNSTRING} 是会话名称,那么此{$ORACLE.USER},{$ORACLE.PASSWORD} 宏值项为空。GRANT SELECT ON
称命名。
oracle参考地址 Oracle Instant Client.
创建具有所需权限的Oracle用户,运行:
on IDENTIFIED BY <PASSWORD>;
the zabbix_mon user.

GRANT CONNECT, CREATE SESSION TO zabbix_mon;
A_TABLESPACE_USAGE_METRICS TO zabbix_mon;
BA_TABLESPACES TO zabbix_mon;

GRANT SELECT ON DBA_USERS TO zabbix_mon;
GRANT SELECT ON SYS.DBA_DATA_FILES TO zabbix_mon;
GRANT SELECT ON V$ACTIVE_SESSION_HISTORY TO zabbix_mon;
GRANT SELECT ON V$ARCHIVE_DEST TO zabbix_mon;
GRANT SELECT ON V$ASM_DISKGROUP TO zabbix_mon;
GRANT SELECT ON V$DATABASE TO zabbix_mon;
GRANT SELECT ON V$DATAFILE TO zabbix_mon;
GRANT SELECT ON V$INSTANCE TO zabbix_mon;
GRANT SELECT ON V$LOG TO zabbix_mon;
GRANT SELECT ON V$OSSTAT TO zabbix_mon;
GRANT SELECT ON V$PGASTAT TO zabbix_mon;
GRANT SELECT ON V$PROCESS TO zabbix_mon;
GRANT SELECT ON V$RECOVERY_FILE_DEST TO zabbix_mon;
GRANT SELECT ON V$RESTORE_POINT TO zabbix_mon;
GRANT SELECT ON V$SESSION TO zabbix_mon;
GRANT SELECT ON V$SGASTAT TO zabbix_mon;
GRANT SELECT ON V$SYSMETRIC TO zabbix_mon;
GRANT SELECT ON V$SYSTEM_PARAMETER TO zabbix_mon;
Template DB PostgreSQL by Zabbix agent 2 {$PG.URI} - 连接字符串; 下面格式定义可以是会话名称或者是一个URI:  与PostgreSQL 插件一起使用;支%% <protocol(host:port or /path/to/socket)/>%%. 对于URI,只支持TCP和Unix模式。 
例子: Postgres1, tcp://localhost:5432 (default), tcp://172.16.0.10  创{$PG.USER}, {$PG.PASSWORD} - PostgreSQL 凭证 (default username: postgres, password:postgres).  如果 {$PG.URI} 是一个URI,那么此{$PG.USER},{$PG.PASSWORD}宏值项不为空。 如果 {$PG.URI} 是一个会话名称,那么此{$PG.USER},{$PG.PASSWORD}宏值项为空。GRANT EXECUTE ON FUNCTION pg_catalo
会话名称命名。
具有所需权限的用户,适用于PostgreSQL 10及更新版本, 运行:
REATE USER 'zbx_monitor' IDENTIFIED BY '<password>';
.pg_ls_dir(text) TO zbx_monitor;
\\GRANT EXECUTE ON FUNCTION pg_catalog.pg_stat_file(text) TO zbx_monitor;

编辑 pg_hba.conf 允许Zabbix agent连接访问 (详细信息访问PostgreSQL文档 查看).
Template DB Redis {$REDIS.CONN.URI} -URI格式的连接字符串; 端口可选择; 密码不被使用。  与Redis 模块一起使用;支持会话名如果不设置, 模块默认的值: tcp://localhost:6379
命名。
测试可用性, 运行:
zabbix_get -s redis-master -k redis.ping