7 自动发现systemd服务
概述
zabbix可以通过 自动发现 发现systemd服务(默认情况下是系统服务)
监控项 键
可以在 自动发现规则 使用的监控项包含以下:
systemd.unit.discovery
监控项 这些键只支持 Zabbix agent 2.
该项返回一个带有systemd单元信息的JSON,例如:
[{
"{#UNIT.NAME}": "mysqld.service",
"{#UNIT.DESCRIPTION}": "MySQL Server",
"{#UNIT.LOADSTATE}": "loaded",
"{#UNIT.ACTIVESTATE}": "active",
"{#UNIT.SUBSTATE}": "running",
"{#UNIT.FOLLOWED}": "",
"{#UNIT.PATH}": "/org/freedesktop/systemd1/unit/mysqld_2eservice",
"{#UNIT.JOBID}": 0,
"{#UNIT.JOBTYPE}": ""
"{#UNIT.JOBPATH}": "/",
"{#UNIT.UNITFILESTATE}": "enabled"
}, {
"{#UNIT.NAME}": "systemd-journald.socket",
"{#UNIT.DESCRIPTION}": "Journal Socket",
"{#UNIT.LOADSTATE}": "loaded",
"{#UNIT.ACTIVESTATE}": "active",
"{#UNIT.SUBSTATE}": "running",
"{#UNIT.FOLLOWED}": "",
"{#UNIT.PATH}": "/org/freedesktop/systemd1/unit/systemd_2djournald_2esocket",
"{#UNIT.JOBID}": 0,
"{#UNIT.JOBTYPE}": "",
"{#UNIT.JOBPATH}": "/"
"{#UNIT.UNITFILESTATE}": "enabled"
}]
支持的宏
在自动发现规则 过滤、监控项、触发器、图形的原型中支持使用以下宏:
宏 | 描述 |
---|---|
{#UNIT.NAME} | 单元名称. |
{#UNIT.DESCRIPTION} | 单元描述. |
{#UNIT.LOADSTATE} | 加载状态 (单元文件是否已成功加载) |
{#UNIT.ACTIVESTATE} | 活动状态(单元文件当前是否启动) |
{#UNIT.SUBSTATE} | 子状态 (活动状态的更细粒度版本,它特定于单元类型,而活动状态不是) |
{#UNIT.FOLLOWED} | 在其状态下被该单元(如果有的话)跟随的单元;否则为空字符串. |
{#UNIT.PATH} | 单元文件路径. |
{#UNIT.JOBID} | 如果作业单元有作业排队,则作业ID为数字;0,否则. |
{#UNIT.JOBTYPE} | 工作单元状态. |
{#UNIT.JOBPATH} | 工作单元路径. |
{#UNIT.UNITFILESTATE} | 单元文件的安装状态(从5.0.6开始支持). |
监控项原型
可以基于systemd服务发现创建的监控项原型,列如:
监控项名称:
{#UNIT.DESCRIPTION}
; 监控项键值:systemd.unit.info["{#UNIT.NAME}"]
监控项名称:
{#UNIT.DESCRIPTION}
; 监控项键值:systemd.unit.info["{#UNIT.NAME}",LoadState]
systemd.unit.info
agent 监控项 Zabbix 4.4以上的支持.