确保通过Zabbix agent 2收集模板指标的正确步骤:
1. 确保主机上安装了Zabbix agent 2,并且该版本包含所需的插件。有时候,您需要先升级 agent 2。
2. 将模板链接 到目标主机 (如果模板在您的Zabbix中不可用,您可能需要先导入模板文件.xml文件 - 查看开箱即用的模板 说明部分)。
3. 根据需要调整必配宏的值。注意,用户宏可用于覆盖配置参数。
4. 配置要监控的实例允许与Zabbix共享数据- 请参阅 附加步骤/注释 字段
Zabbix agent 2 模板与插件一起工作。 基本配置可以通过简单地调整用户宏来完成,更深层次的定制可以参考 插件配置本身实现。例如,如果插件支持命名会话,则可以通过在配置文件中为每个实体指定具有自己的 URI、用户名和密码的命名会话,监视多个相同类型的实体(例如 MySQL1 和 MySQL2)。
该页面仅包含最小的一组宏和正确的模板操作所需的设置步骤。 在模板的Readme.md文件中提供了模板的详细说明,包括宏,项和触发器的完整列表(可通过单击模板名称访问)。
模板名称 | 必配宏 | 附加步骤/注释 |
---|---|---|
Ceph by Zabbix agent 2 | {$CEPH.API.KEY} - Ceph API秘钥 (默认: zabbix_pass ).如果{$CEPH.CONNSTRING}为URI,秘钥必须设置。 如果{$CEPH.CONNSTRING} 为会话名,则值为空. {$CEPH.CONNSTRING} - 连接字符串; 会话名或URI的格式: <协议(主机:端口)>. URI只支持 HTTPS 协议 . 例如: Prod, https://localhost:8003 (默认) {$CEPH.USER} - Ceph监控用户 (默认: zabbix ).如果{$CEPH.CONNSTRING}为URI,用户必须设置.<br如果{$CEPH.CONNSTRING} 为会话名,则值为空. |
与 Ceph 插件一起使用; 支持给会话命名. 1. Ceph RESTful模块配置,参见文档. 2. 确保RESTful API端点连接的可用性. |
Docker | - | 与 Docker 插件一起使用; 不支持给会话命名. 设置Docker API 端点路径,在agent 2的配置文件 中修改参数 Plugins.Docker.Endpoint (默认: Plugins.Docker.Endpoint=unix:///var/run/docker.sock ).可用性测试, 执行: zabbix_get -s docker-host -k docker.info |
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 |
MongoDB cluster by Zabbix agent 2 | {$MONGODB.CONNSTRING} - URI连接字符串格式; 密码未使用 (默认: tcp://localhost:27017). 支持会话名称或以下格式定义的URI: %% <protocol(host:port)>%% URI仅支持TCP 协议. 例子: MongoDB1, tcp://172.16.0.10 {$MONGODB.USER}, {$MONGODB.PASSWORD} - MongoDB 凭证(默认: none). 如果未设置,同时 {$MONGODB.CONNSTRING}为URI, 配置文件的参数将被使用. 如果{$MONGODB.CONNSTRING}为会话名,必须为空. |
与 MongoDB 插件一起使用; 支持给会话命名. MongoDB 配置说明, 参见插件. 可用性测试, 执行: zabbix_get -s mongos.node -k 'mongodb.ping["{\$MONGODB.CONNSTRING}","{\$MONGODB.USER}","{\$MONGODB.PASSWORD}"]" |
MongoDB node by Zabbix agent 2 | {$MONGODB.CONNSTRING} - URI连接字符串格式; 密码未使用(默认: tcp://localhost:27017). 支持会话名称或以下格式定义的URI: %% <protocol(host:port)>%% URI仅支持TCP 协议. 例子: MongoDB1, tcp://172.16.0.10 {$MONGODB.USER}, {$MONGODB.PASSWORD} - MongoDB 凭证(默认: none). 如果未设置,同时 {$MONGODB.CONNSTRING}为URI, 配置文件的参数将被使用. 如果{$MONGODB.CONNSTRING}为会话名,必须为空. |
与 MongoDB 插件一起使用; 支持给会话命名. MongoDB 配置说明, 参见 参见. 可用性测试, 执行: zabbix_get -s mongodb.node -k 'mongodb.ping["{\$MONGODB.CONNSTRING}","{\$MONGODB.USER}","{\$MONGODB.PASSWORD}"]" |
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 凭证(默认: none).如果 {$MYSQL.DSN} 为URI,必须设置. 如果{$MYSQL.DSN}为会话名,必须为空. |
与 MySQL 插件一起使用; 支持给会话命名. 赋予MySQL监控用户必要的权限, 执行: GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO '<username>'@'%'; 参见MySQL 文档查看关于 用户权限 和Unix sockets信息. |
Oracle by Zabbix agent 2 | {$ORACLE.CONNSTRING} - 连接串; 支持会话名称或以下格式定义的URI: <protocol(host:port or /path/to/socket)/> URI仅支持TCP 协议. 例子: Oracle1, tcp://localhost:1521 {$ORACLE.SERVICE} - Oracle服务名 (默认: ORA).如果{$ORACLE.CONNSTRING}为URI,必须设置. 如果{$ORACLE.CONNSTRING}为会话名,必须为空. {$ORACLE.USER}, {$ORACLE.PASSWORD} - Oracle 凭证(默认 用户名: zabbix, 密码: zabbix_password). 如果{$ORACLE.CONNSTRING}为URI,必须设置. 如果{$ORACLE.CONNSTRING}为会话名,必须为空. |
与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; |
PostgreSQL Agent 2 | {$PG.URI} - 连接串; 支持会话名称或以下格式定义的URI: %% <protocol(host:port or /path/to/socket)/>%%. URI支持 TCP 和 Unix 协议. 例子: Postgres1, tcp://localhost:5432, tcp://172.16.0.10 {$PG.USER}, {$PG.PASSWORD} - PostgreSQL 凭证(默认 用户: postgres, 密码:postgres). 如果 {$PG.URI}为URI,必须设置. 如果 {$PG.URI} 为会话名,必须为空. |
与 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 文档). |
Redis | {$REDIS.CONN.URI} - URI连接串格式; 端口为可选项; 密码未使用. 若未设置, 插件默认值: tcp://localhost:6379 |
与 Redis 插件一起使用; 支持给会话命名. 可用性测试, 执行: zabbix_get -s redis-master -k redis.ping |
SMART by Zabbix agent 2 / SMART by Zabbix agent 2 active | - | 执行Zabbix agent 2的用户对smartctl 命令必须能Sudo/root提权. 支持smartctl的最小版本是7.1. 磁盘发现 LLD 规则查找所有开启 S.M.A.R.T. 的 HDD、SSD、NVMe 磁盘. 属性发现 LLD 规则查找每个磁盘的所有供应商特定属性. 要跳过某些属性,请在主机级别使用 {$SMART.DISK.NAME.MATCHES} 中的磁盘名称和 {$SMART.ATTRIBUTE.ID.MATCHES} 中的属性 ID 设置正则表达式. |
Systemd by Zabbix agent 2 | - | 无需特定配置. |
Website certificate by Zabbix agent 2 | {$CERT.WEBSITE.HOSTNAME} - 连接Web站点的DNS名称 (默认: <输入您的DNS名称>). | 与WebCertificate 插件一起使用; 支持给会话命名. 可用性测试, 执行: zabbix_get -s <zabbix_agent_addr> -k web.certificat e.get[<website_DNS_name>] 使用 Zabbix 代理接口为 TLS/SSL 证书创建单独的主机并将模板链接到该主机. |