7 自动发现systemd服务

概述

zabbix可以通过 自动发现 发现systemd服务(默认情况下是系统服务)

监控项 键

可以在 自动发现规则 使用的监控项包含以下:

  1. systemd.unit.discovery

监控项 这些键只支持 Zabbix agent 2.

该项返回一个带有systemd单元信息的JSON,例如:

[{

  1. "{#UNIT.NAME}": "mysqld.service",
  2. "{#UNIT.DESCRIPTION}": "MySQL Server",
  3. "{#UNIT.LOADSTATE}": "loaded",
  4. "{#UNIT.ACTIVESTATE}": "active",
  5. "{#UNIT.SUBSTATE}": "running",
  6. "{#UNIT.FOLLOWED}": "",
  7. "{#UNIT.PATH}": "/org/freedesktop/systemd1/unit/mysqld_2eservice",
  8. "{#UNIT.JOBID}": 0,
  9. "{#UNIT.JOBTYPE}": ""
  10. "{#UNIT.JOBPATH}": "/",
  11. "{#UNIT.UNITFILESTATE}": "enabled"
  12. }, {
  13. "{#UNIT.NAME}": "systemd-journald.socket",
  14. "{#UNIT.DESCRIPTION}": "Journal Socket",
  15. "{#UNIT.LOADSTATE}": "loaded",
  16. "{#UNIT.ACTIVESTATE}": "active",
  17. "{#UNIT.SUBSTATE}": "running",
  18. "{#UNIT.FOLLOWED}": "",
  19. "{#UNIT.PATH}": "/org/freedesktop/systemd1/unit/systemd_2djournald_2esocket",
  20. "{#UNIT.JOBID}": 0,
  21. "{#UNIT.JOBTYPE}": "",
  22. "{#UNIT.JOBPATH}": "/"
  23. "{#UNIT.UNITFILESTATE}": "enabled"
  24. }]

支持的宏

在自动发现规则 过滤、监控项、触发器、图形的原型中支持使用以下宏:

描述
{#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以上的支持.