Windows Zabbix agent 监控项 显示在两个列表中:
请注意,Windows 上由 Zabbix agent 支持的所有 监控项 键也由新一代 Zabbix agent 2 支持。
请参阅 additional item keys,该功能只能与 agent 2 一起使用。
另请参阅:Minimum permissions for Windows items
下表列出了在 Windows 上支持并与 UNIX 的 Zabbix agent 共享的 Zabbix agent 监控项:
监控项 键 | 描述 | 监控项 组 |
---|---|---|
log | 监控日志文件。此 监控项 不支持 Windows 事件日志。persistent_dir 参数在 Windows 上不受支持。 |
Log monitoring |
log.count | 监控日志文件中匹配行的数量。此 监控项 不支持 Windows 事件日志。persistent_dir 参数在 Windows 上不受支持。 |
|
logrt | 监控已轮换的日志 file。此 监控项 不支持 Windows 事件日志。persistent_dir 参数在 Windows 上不受支持。 |
|
logrt.count | 监控已轮换的日志 file 中匹配行的数量。此 监控项 不支持 Windows 事件日志。persistent_dir 参数在 Windows 上不受支持。 |
|
modbus.get | 读取 Modbus 数据。 | Modbus |
net.dns | 检查 DNS 服务是否正常。ip 、timeout 和 count 参数在 Windows 上被忽略,除非使用 Zabbix agent 2。 |
Network |
net.dns.perf | 检查 DNS 服务的性能。ip 、timeout 和 count 参数在 Windows 上被忽略,除非使用 Zabbix agent 2。 |
|
net.dns.record | 执行 DNS query。ip 、timeout 和 count 参数在 Windows 上被忽略,除非使用 Zabbix agent 2。 |
|
net.if.discovery | 网络接口列表。 某些 Windows 版本(例如 Server 2008)可能需要安装最新的更新以支持接口名称中的非 ASCII 字符。 |
|
net.if.in | 网络接口的入站流量统计。 在 Windows 上,如果可用,监控项 会从 64-位计数器获取值。64-位接口统计计数器在 Windows Vista 和 Windows Server 2008 中引入。如果 64-位计数器不可用,agent 将使用 32-位计数器。 Windows 上支持多字节接口名称。 您可以使用 net.if.discovery 或 net.if.list 监控项 获取 Windows 上的网络接口描述。 |
|
net.if.out | 网络接口的出站流量统计。 在 Windows 上,如果可用,监控项 会从 64-位计数器获取值。64-位接口统计计数器在 Windows Vista 和 Windows Server 2008 中引入。如果 64-位计数器不可用,agent 将使用 32-位计数器。 Windows 上支持多字节接口名称。 您可以使用 net.if.discovery 或 net.if.list 监控项 获取 Windows 上的网络接口描述。 |
|
net.if.total | 网络接口入站和出站流量统计的总和。 在 Windows 上,如果可用,监控项 会从 64-位计数器获取值。64-位接口统计计数器在 Windows Vista 和 Windows Server 2008 中引入。如果 64-位计数器不可用,agent 将使用 32-位计数器。 您可以使用 net.if.discovery 或 net.if.list 监控项 获取 Windows 上的网络接口描述。 |
|
net.tcp.listen | 检查此 TCP 端口是否处于 LISTEN 状态。 | |
net.tcp.port | 检查是否可以与指定端口建立 TCP 连接。 | |
net.tcp.service | 检查服务是否正在运行并接受 TCP 连接。 Windows 上仅通过 Zabbix agent 2 支持 LDAP 和 HTTPS 的检查。 |
|
net.tcp.service.perf | 检查 TCP 服务的性能。 Windows 上仅通过 Zabbix agent 2 支持 LDAP 和 HTTPS 的检查。 |
|
net.tcp.socket.count | 返回匹配参数的 TCP 套接字数量。 此 监控项 在 Linux 上由 Zabbix agent 支持,但在 Windows 上仅由 Zabbix agent 2 在 64-位 Windows 上支持。 |
|
net.udp.service | 检查服务是否正在运行并响应 UDP 请求。 | |
net.udp.service.perf | 检查 UDP 服务的性能。 | |
net.udp.socket.count | 返回匹配参数的 UDP 套接字数量。 此 监控项 在 Linux 上由 Zabbix agent 支持,但在 Windows 上仅由 Zabbix agent 2 在 64-位 Windows 上支持。 |
|
proc.num | 进程数量。 在 Windows 上,仅支持 name 和 user 参数。 |
Processes |
system.cpu.discovery | 检测到的 CPU/CPU 核心列表。 | System |
system.cpu.load | CPU 负载。 当在 Zabbix agent 上启动收集器进程时,将初始化以下性能计数器并用于此 监控项: \System\Processor Queue Length |
|
system.cpu.num | CPU 数量。 | |
system.cpu.util | CPU 使用率百分比。 该值通过 Processor Time 性能计数器获取。请注意,从 Windows 8 开始,任务管理器显示的 CPU 使用率基于 Processor Utility 性能计数器,而在之前的版本中使用的是 Processor Time 计数器(参见 more details)。 system 是 Windows 上唯一支持的 type 参数。 |
|
system.hostname | 系统 主机名。 在 Windows 上,该值通过 GetComputerName()(用于 netbios)、GetComputerNameExA()(用于 fqdn)或 gethostname()(用于 主机)函数获取。 另请参见 配置-agent。 |
|
system.localtime | 系统时间。 | |
system.run | 在 主机 上运行指定命令。 | |
system.sw.arch | 软件架构信息。 | |
system.swap.size | 交换空间大小(以字节或占总量的百分比)。pused 类型参数在 Linux 上由 Zabbix agent 支持,但在 Windows 上仅由 Zabbix agent 2 支持。请注意,在虚拟化(VMware ESXi、VirtualBox)的 Windows 平台上,此键可能会报告错误的交换空间大小/百分比。在这种情况下,您可以使用 perf_counter[\700(_Total)\702] 键获取正确的交换空间百分比。 |
|
system.uname | 系统标识。 在 Windows 上,此 监控项 的值从 Win32_OperatingSystem 和 Win32_Processor WMI 类获取。操作系统名称(包括版本)可能会翻译为用户的显示语言。在某些 Windows 版本上,它可能包含商标符号和额外空格。 |
|
system.uptime | 系统运行时间(以秒为单位)。 | |
vfs.dir.count | 目录条目数量。 在 Windows 上,目录符号链接将被跳过,硬链接仅计数一次。 |
虚拟 file 系统 |
vfs.dir.get | 目录条目列表。 在 Windows 上,目录符号链接将被跳过,硬链接仅计数一次。 |
|
vfs.dir.size | 目录大小。 在 Windows 上,任何符号链接都将被跳过,硬链接仅计算一次。 |
|
vfs.file.cksum | 按 UNIX cksum 算法计算的 file 校验和。 | |
vfs.file.contents | 检索文件内容。 | |
vfs.file.exists | 检查 file 是否存在。 在 Windows 上,使用命令行工具调用 zabbix_get.exe 或 agent2 时,双引号必须用反斜杠 '\' 转义,并且整个 监控项 键必须用双引号括起来。 请注意,如果在不存在的目录中搜索目录,例如 vfs.file.exists[C:\no\dir,dir] (其中 'no' 不存在),则 监控项 可能在 Windows 上变为不支持。 |
|
vfs.file.get | 返回文件的信息。 Windows 上支持的 file 类型:普通文件、目录、符号链接 |
|
vfs.file.md5sum | 文件的 MD5 校验和。 | |
vfs.file.owner | 检索文件的所有者。 | |
vfs.file.regexp | 检索文件中的 string。 | |
vfs.file.regmatch | 在文件中查找 string。 | |
vfs.file.size | file 大小。 | |
vfs.file.time | file 时间信息。 在 Windows XP 上, vfs.file.time[file,change] 可能等于 vfs.file.time[file,access] 。 |
|
vfs.fs.discovery | 已挂载文件系统及其类型和挂载选项的列表。 Windows 上支持 {#FSLABEL} 宏。 |
|
vfs.fs.get | 已挂载文件系统及其类型、可用磁盘空间、inode 统计信息和挂载选项的列表。 Windows 上支持 {#FSLABEL} 宏。 |
|
vfs.fs.size | 磁盘空间(以字节或占总量的百分比)。 | |
vm.memory.size | memory 大小(以字节或占总量的百分比)。 | 虚拟内存 |
web.page.get | 获取网页内容。 | Web 监控 |
web.page.perf | 完整网页的加载时间。 | |
web.page.regexp | 在网页上查找 string。 | |
agent.hostmetadata | agent 主机 元数据。 | Zabbix |
agent.hostname | agent 主机名。 | |
agent.ping | agent 可用性检查。 | |
agent.variant | Zabbix agent 的变体(Zabbix agent 或 Zabbix agent 2)。 | |
agent.version | Zabbix agent 的 version。 |
下表提供了仅由 Windows Zabbix agent 支持的 监控项 键的详细信息。
Windows 特有的 监控项 有时是类似功能的近似对应项 agent 监控项,例如 proc_info
,在 Windows 上受支持,大致对应 到 proc.mem
监控项,Windows 上不支持。
“监控项”键是完整“监控项”键详细信息的链接。
监控项 监控项 键值 | 描述 | 监控项 监控项 所属主机组 |
---|---|---|
eventlog | Windows事件日志监控。 | 日志监控 |
eventlog.count | Windows事件日志中的行数统计。 | |
net.if.list | 网络接口列表(包含接口类型、状态、IPv4地址、描述)。 | 网络 |
perf_counter | 任何 Windows 性能计数器的值。 | 性能计数器 |
perf_counter_en | 任何英文的Windows性能计数器的值。 | |
perf_instance.discovery | Windows性能计数器的object实例列表。 | |
perf_instance_en.discovery | 使用英文的 object 名称发现的 Windows 性能计数器的 object 实例列表。 | |
proc_info | 关于特定进程(们)的各种信息。 | 进程 |
registry.data | 返回 Windows 注册表项中指定值名称的数据。 | 注册表 |
registry.get | 位于指定键下的 Windows 注册表值或键的列表。 | |
service.discovery | Windows服务列表。 | 服务 |
service.info | 有关服务的信息。 | |
services | 服务列表。 | |
vm.vmemory.size | 虚拟 memory 大小(以字节或占总量的百分比表示)。 | 虚拟内存 |
wmi.get | 执行一个 WMI query 并返回第一个选定的 object。 | WMI |
wmi.getall | 执行 WMI query 并返回整个响应。 |
不带尖括号的参数是必填的。带有尖括号 < > 标记的参数是可选的。
事件日志监控。
返回值:Log。
参数:
备注:
示例:
eventlog[Application]
eventlog[Microsoft-Windows-Application-Experience/Program-Compatibility-Assistant]
eventlog[Security,,"Failure Audit",,^(529|680)$]
eventlog[System,,"Warning|Error"]
eventlog[System,,,,^1$]
eventlog[Windows PowerShell,,,,,,skip]
eventlog[System,,,,@TWOSHORT] #此处引用了一个名为 `TWOSHORT` 的自定义正则表达式(定义为“结果为TRUE”类型,其表达式本身为 `^1$|^70$`)。
Windows事件日志中的行数。
返回值:integer。
参数:
备注:
示例:
网络接口列表(包括接口类型、状态、IPv4地址、描述)。
返回值:文本。
备注:
任何 Windows 性能计数器的值。
返回值:integer、float、string 或 文本(取决于请求)。
参数:
interval
必须介于 1 和 900 秒之间(包含),默认值为 1。备注:
interval
用于需要多个样本的计数器(如 CPU 使用率),因此每次检查都会返回最近 "interval" 秒的平均值;
英文环境下任何Windows性能计数器的值。
返回值:integer、float、string 或 text(取决于请求)。
参数:
interval
必须介于 1 和 900 秒之间(包含),默认值为 1。备注:
interval
用于需要多个样本的计数器(例如CPU使用率),因此该检查每次都会返回最近 "interval" 秒的平均值;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009
。
Windows性能计数器的object实例列表。用于low-level discovery。
返回值:JSON object。
参数:
使用英文的 object 名称发现的 Windows 性能计数器的 object 实例列表。用于 low-level discovery。
返回值:JSON object。
参数:
关于特定进程(多个进程)的各种信息。
返回值:float。
参数:
备注:
attributes
:types
有:示例:
proc_info[iexplore.exe,wkset,sum] #检索所有Internet Explorer进程占用的物理 memory 量
proc_info[iexplore.exe,pf,avg] #检索Internet Explorer进程的平均页面错误数量
返回 Windows 注册表项中指定值名称的数据。
返回值:integer、string 或 文本(取决于值类型)
参数:
备注:
示例:
registry.data["HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting"] # 返回此键的默认值数据
registry.data["HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting","EnableZip"] # 返回此键中名为 "Enable Zip" 的值数据
registry.get[key,<mode>,<name regexp>]
位于给定注册表项下的 Windows 注册表值或键的列表。
返回值:JSON object。
参数:
mode
为 values 时允许使用此参数。包含空格的键名必须使用双引号括起。
示例:
registry.get[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall,values,"^DisplayName|DisplayVersion$"] #返回此键中名为 "DisplayName" 或 "DisplayValue" 的值的数据。JSON 将包含键、最后的子键、值名称、值类型和值数据的详细信息。
registry.get[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall,values] #返回此键中所有值的数据。JSON 将包含键、最后的子键、值名称、值类型和值数据的详细信息。
registry.get[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall,keys] #返回此键的所有子键。JSON 将包含键和最后的子键的详细信息。
Windows服务列表。用于low-level discovery。
返回值:JSON object。
服务的信息。
返回值:integer - 包含 param
作为 state、startup;string - 包含 param
作为 displayname、path、user;Text - 包含 param
作为 description
对于 state 特别说明:0 - 正在运行,1 - 已暂停,2 - 启动挂起,3 - 暂停挂起,4 - 继续挂起,5 - 停止挂起,6 - 已停止,7 - 未知,255 - 无此服务
对于 startup 特别说明:0 - 自动,1 - 自动延迟,2 - 手动,3 - 禁用,4 - 未知,5 - 自动触发启动,6 - 自动延迟触发启动,7 - 手动触发启动
参数:
备注:
service.info[service,state]
和 service.info[service]
将返回相同的信息;param
为 state 时,此 监控项 才会为不存在的服务返回值(255)。示例:
service.info[SNMPTRAP] - SNMPTRAP 服务的状态;
service.info[SNMP Trap] - 同一服务的状态,但指定了显示名称;
service.info[EventLog,startup] - EventLog 服务的启动类型
服务列表。
返回值:0 - 如果为空;文本 - 以换行符分隔的服务列表。
参数:
示例:
services[,started] #返回已启动服务的列表;
services[automatic, stopped] #返回应运行但已停止的服务列表;
services[automatic, stopped, "service1,service2,service3"] #返回应运行但已停止的服务列表,并排除名为 "service1"、"service2" 和 "service3" 的服务
虚拟 memory 的大小,以字节或占总量的百分比表示。
返回值:integer - 表示字节;float - 表示百分比。
参数:
备注:
示例:
执行一个WMI query 并返回第一个选定的 object。
返回值:integer、float、string 或 text(取决于请求)。
参数:
WMI queries 是通过 WQL 执行的。
示例:
wmi.get[root\cimv2,select status from Win32_DiskDrive where Name like '%PHYSICALDRIVE0%'] #返回第一个物理磁盘的状态
执行一个WMI query 并返回整个响应。可用于 low-level discovery。
返回值:JSON object
参数:
备注:
示例:
wmi.getall[root\cimv2,select * from Win32_DiskDrive where Name like '%PHYSICALDRIVE%'] #returns status information of physical disks
本教程提供了设置 Windows 服务监控的逐步说明。假设已配置并运行了 Zabbix server 和 agent。
获取服务名称。
您可以get通过进入MMC服务管理单元并打开服务属性的方式来获取服务名称。在常规选项卡中,您应该会看到一个名为“服务名称”的字段。其后的值即为设置监控项监控时所使用的服务名称。
例如,如果您想要监控“工作站”服务,则对应的服务名称可能是:lanmanworkstation。
Configure an item 用于监控的 服务。
术语 监控项 service.info[service,<param>]
用于检索信息 关于特定服务的信息。根据您所需的信息, 指定接受以下值的 param
选项: displayname、state、path、user、startup 或 description。 默认值为 state,如果未指定 param
service.info[service]
返回值类型取决于所选的 param
:state 的 integer 和启动;字符 string 用于显示名称、路径和用户; 描述用的文本。
示例:
service.info[lanmanworkstation]
术语 监控项 service.info[lanmanworkstation]
将以数值形式获取有关服务状态的信息。 要在前端将数值映射为文本表示形式(例如将"0"显示为"运行中",将"1"显示为"已暂停"等),您可以在配置了监控项的主机上配置配置。 为此,请将 关联模板 Windows services by Zabbix agent 或 Windows services by Zabbix agent active 链接到 主机。 或在主机上配置一个新的值映射,该值映射基于在所述模板上配置的Windows服务状态值映射。
请注意,上述两个模板都配置了一个发现规则,该规则将自动发现服务。 如果您不希望这样,可以在将模板链接到主机后,在主机级别上disable the discovery rule。
Low-level discovery 提供了一种自动为计算机上的不同实体创建 create 监控项、触发器和图形的方法。Zabbix 可以自动开始监控您机器上的 Windows 服务,而无需手动了解每个服务的确切名称或为每个服务配置 create 监控项。可以使用过滤器仅为感兴趣的服务创建实际的 generate 监控项、触发器和图形。