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 为空。
{$CEPH.CONNSTRING} - 连接字符串;可以是一个会话名称或者URL地址,按照格式: <protocol(host:port)>.对于URL地址只支持 HTTPS架构。
例如: Prod, https://localhost:8003 (default)
{$CEPH.USER} - 用户被使用在监控中 (default:zabbix).
如果 {$CEPH.CONNSTRING} 是一个 URI,则宏值必须有值。
如果 {$CEPH.CONNSTRING} 是一个会话名称,则宏值为空。
Ceph 插件一起使用; 支持会话名称命名。

1. 依据 文档配置 Ceph RESTful 模块。

2. 确保 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 格式; 端口是可选的; 密码没有被使用.
如果没有设置, 插件默认使用的值是: tcp://localhost:11211.
例子: tcp://127.0.0.1:11211, tcp://localhost, unix:/var/run/memcached.sock.
Memcached模块一起使用;支持会话名称命名 .

测试可用性, 运行:
zabbix_get -s memcached-host -k memcached.ping
Template DB MySQL by Zabbix agent 2{$MYSQL.DSN} - MySQL实例的系统数据源名称 (默认: <填写你的DSN>).
下面格式定义可以是会话名称或者是一个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用户, 运行:
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON . TO ‘<username>’@’%’;

有关的信息,请参阅MySQL文档 用户权限Unix sockets
Template DB Oracle by Zabbix agent 2{$ORACLE.CONNSTRING} - 连接字符串; 下面格式定义可以是会话名称或者是一个URI: <protocol(host:port or /path/to/socket)/>
对于URI,只支持TCP模式。
例子: Oracle1, tcp://localhost:1521 (default)

{$ORACLE.SERVICE} - Oracle服务的名称 (default: ORA). 如果 {$ORACLE.CONNSTRING} 是一个URI,那么此{$ORACLE.CONNSTRING}宏值项不为空。
如果 {$ORACLE.CONNSTRING} 是一个会话名称,那么此{$ORACLE.CONNSTRING}宏值项为空。

{$ORACLE.USER}, {$ORACLE.PASSWORD} - Oracle 凭证 (default username: zabbix, password: zabbix_password). Required, 如果 {$ORACLE.CONNSTRING} 是一个URI,那么此{$ORACLE.USER},{$ORACLE.PASSWORD} 宏值项不为空。
如果 {$ORACLE.CONNSTRING} 是会话名称,那么此{$ORACLE.USER},{$ORACLE.PASSWORD} 宏值项为空。
Oracle 插件一起使用; 支持会话名称命名。

安装oracle参考地址 Oracle Instant Client.
创建具有所需权限的Oracle用户,运行:
CREATE USER zabbix_mon IDENTIFIED BY <PASSWORD>;
– Grant access to the zabbix_mon user.
GRANT CONNECT, CREATE SESSION TO zabbix_mon;
GRANT SELECT ON DBA_TABLESPACE_USAGE_METRICS TO zabbix_mon;
GRANT SELECT ON DBA_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:
<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}宏值项为空。
PostgreSQL 插件一起使用;支持会话名称命名。

创建具有所需权限的用户,适用于PostgreSQL 10及更新版本, 运行:
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;

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

测试可用性, 运行:
zabbix_get -s redis-master -k redis.ping