# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# The monitoring type category:service-application service monitoring db-database monitoring mid-middleware custom-custom monitoring os-operating system monitoring
category: os
# The monitoring type eg: linux windows tomcat mysql aws...
app: windows
# The monitoring i18n name
name:
zh-CN: Windows操作系统
en-US: OS Windows
# The description and help of this monitoring type
help:
zh-CN: Hertzbeat 使用 SNMP 协议 对 Windows操作系统 的通用指标(用户数、进程数量、响应时间等)进行采集监控。
注意⚠️:Windows 服务器需要开启 SNMP 服务,点击查看开启步骤。您可以点击 “新建 Windows操作系统” 并进行配置SNMP相关参数添加,或者选择“更多操作”,导入已有配置。
en-US: HertzBeat uses SNMP Protocol to monitoring OS Windows general performance metrics such as number of users, number of processes, response time.
Note⚠️:Windows server need enable the SNMP services Click here to view the specific steps. You can click the "New OS Windows" button and config snmp params to add monitor or import an existing setup through the "More Actions" menu.
zh-TW: Hertzbeat 使用 SNMP 协议 对 Windows操作系统 的通用指标(用户数、进程数量、响应时间等)进行采集监控。
注意⚠️:Windows 服务器需要开启 SNMP 服务,点击查看开启步骤。您可以点击 “新建 Windows操作系统” 并进行配置SNMP相关参数添加,或者选择“更多操作”,导入已有配置。
helpLink:
zh-CN: https://hertzbeat.apache.org/zh-cn/docs/help/windows
en-US: https://hertzbeat.apache.org/docs/help/windows
# Input params define for monitoring(render web ui by the definition)
params:
# field-param field key
- field: host
# name-param field display i18n name
name:
zh-CN: 目标Host
en-US: Target Host
# type-param field type(most mapping the html input type)
type: host
# required-true or false
required: true
# field-param field key
- field: port
# name-param field display i18n name
name:
zh-CN: 端口
en-US: Port
# type-param field type(most mapping the html input type)
type: number
# when type is number, range is required
range: '[0,65535]'
# required-true or false
required: true
# default value
defaultValue: 161
# field-param field key
- field: version
# name-param field display i18n name
name:
zh-CN: SNMP 版本
en-US: SNMP Version
# type-param field type(radio mapping the html radio tag)
type: radio
# required-true or false
required: true
# when type is radio checkbox, use option to show optional values {name1:value1,name2:value2}
options:
- label: SNMPv1
value: 0
- label: SNMPv2c
value: 1
# field-param field key
- field: community
# name-param field display i18n name
name:
zh-CN: SNMP 团体字
en-US: SNMP Community
# type-param field type(most mapping the html input type)
type: text
# when type is text, use limit to limit string length
limit: 100
# required-true or false
required: true
# param field input placeholder
placeholder: 'Snmp community for v1 v2c'
# field-param field key
- field: timeout
# name-param field display i18n name
name:
zh-CN: 超时时间(ms)
en-US: Timeout(ms)
# type-param field type(most mapping the html input type)
type: number
# when type is number, range is required
range: '[0,100000]'
# required-true or false
required: false
# hide-is hide this field and put it in advanced layout
hide: true
# default value
defaultValue: 6000
# collect metrics config list
metrics:
# metrics - system
- name: system
# metrics scheduling priority(0->127)->(high->low), metrics with the same priority will be scheduled in parallel
# priority 0's metrics is availability metrics, it will be scheduled first, only availability metrics collect success will the scheduling continue
priority: 0
fields:
- field: name
type: 1
- field: descr
type: 1
- field: uptime
type: 1
- field: numUsers
type: 0
- field: services
type: 0
- field: processes
type: 0
- field: responseTime
type: 0
unit: ms
- field: location
type: 1
- field: memory
type: 0
unit: GB
units:
- memory=KB->GB
protocol: snmp
snmp:
host: ^_^host^_^
port: ^_^port^_^
timeout: ^_^timeout^_^
community: ^_^community^_^
version: ^_^version^_^
operation: get
oids:
name: 1.3.6.1.2.1.1.5.0
descr: 1.3.6.1.2.1.1.1.0
uptime: 1.3.6.1.2.1.25.1.1.0
numUsers: 1.3.6.1.2.1.25.1.5.0
services: 1.3.6.1.2.1.1.7.0
processes: 1.3.6.1.2.1.25.1.6.0
location: 1.3.6.1.2.1.1.6.0
memory: 1.3.6.1.2.1.25.2.2.0
- name: processes
priority: 1
fields:
- field: hrSWRunIndex
type: 0
- field: hrSWRunName
type: 1
label: true
- field: hrSWRunID
type: 1
- field: hrSWRunPath
type: 1
- field: hrSWRunParameters
type: 1
- field: hrSWRunType
type: 0
- field: hrSWRunStatus
type: 0
- field: hrSWRunPerfCPU
type: 0
unit: 's'
- field: hrSWRunPerfMem
type: 0
unit: 'KB'
calculates:
- hrSWRunPerfCPU = hrSWRunPerfCPU / 100
protocol: snmp
snmp:
host: ^_^host^_^
port: ^_^port^_^
timeout: ^_^timeout^_^
community: ^_^community^_^
version: ^_^version^_^
operation: walk
oids:
hrSWRunIndex: 1.3.6.1.2.1.25.4.2.1.1
hrSWRunName: 1.3.6.1.2.1.25.4.2.1.2
hrSWRunID: 1.3.6.1.2.1.25.4.2.1.3
hrSWRunPath: 1.3.6.1.2.1.25.4.2.1.4
hrSWRunParameters: 1.3.6.1.2.1.25.4.2.1.5
hrSWRunType: 1.3.6.1.2.1.25.4.2.1.6
hrSWRunStatus: 1.3.6.1.2.1.25.4.2.1.7
hrSWRunPerfCPU: 1.3.6.1.2.1.25.5.1.1.1
hrSWRunPerfMem: 1.3.6.1.2.1.25.5.1.1.2
- name: services
priority: 1
fields:
- field: svSvcName
type: 1
label: true
- field: svSvcInstalledState
type: 0
- field: svSvcOperatingState
type: 0
- field: svSvcCanBeUninstalled
type: 0
- field: svSvcCanBePaused
type: 0
protocol: snmp
snmp:
host: ^_^host^_^
port: ^_^port^_^
timeout: ^_^timeout^_^
community: ^_^community^_^
version: ^_^version^_^
operation: walk
oids:
svSvcName: 1.3.6.1.4.1.77.1.2.3.1.1
svSvcInstalledState: 1.3.6.1.4.1.77.1.2.3.1.2
svSvcOperatingState: 1.3.6.1.4.1.77.1.2.3.1.3
svSvcCanBeUninstalled: 1.3.6.1.4.1.77.1.2.3.1.4
svSvcCanBePaused: 1.3.6.1.4.1.77.1.2.3.1.5
- name: installed
priority: 1
fields:
- field: hrSWInstalledIndex
type: 0
- field: hrSWInstalledName
type: 1
label: true
- field: hrSWInstalledID
type: 1
- field: hrSWInstalledType
type: 0
protocol: snmp
snmp:
host: ^_^host^_^
port: ^_^port^_^
timeout: ^_^timeout^_^
community: ^_^community^_^
version: ^_^version^_^
operation: walk
oids:
hrSWInstalledIndex: 1.3.6.1.2.1.25.6.3.1.1
hrSWInstalledName: 1.3.6.1.2.1.25.6.3.1.2
hrSWInstalledID: 1.3.6.1.2.1.25.6.3.1.3
hrSWInstalledType: 1.3.6.1.2.1.25.6.3.1.4
- name: cpu
priority: 1
fields:
- field: hrProcessorFrwID
type: 1
- field: hrProcessorLoad
type: 0
unit: '%'
protocol: snmp
snmp:
host: ^_^host^_^
port: ^_^port^_^
timeout: ^_^timeout^_^
community: ^_^community^_^
version: ^_^version^_^
operation: walk
oids:
hrProcessorFrwID: 1.3.6.1.2.1.25.3.3.1.1
hrProcessorLoad: 1.3.6.1.2.1.25.3.3.1.2
- name: storages
priority: 1
fields:
- field: index
type: 0
- field: descr
type: 1
label: true
- field: size
type: 0
unit: MB
- field: free
type: 0
unit: MB
- field: used
type: 0
unit: MB
- field: usage
type: 0
unit: '%'
# (Not required) Monitor indicator alias, which maps to the indicator name above. The field used to collect interface data is not directly the final indicator name, and this alias is required for mapping translation
aliasFields:
- hrStorageIndex
- hrStorageDescr
- hrStorageSize
- hrStorageUsed
- hrStorageAllocationUnits
# The (optional) metric evaluation expression, which works with the aliases above, calculates the final desired metric value
# eg: cores=core1+core2, usage=usage, waitTime=allTime-runningTime
calculates:
- index=hrStorageIndex
- descr=hrStorageDescr
- size=hrStorageSize * hrStorageAllocationUnits
- free=(hrStorageSize - hrStorageUsed) * hrStorageAllocationUnits
- used=hrStorageUsed * hrStorageAllocationUnits
- usage= hrStorageUsed / hrStorageSize * 100
units:
- size=B->MB
- used=B->MB
protocol: snmp
snmp:
host: ^_^host^_^
port: ^_^port^_^
timeout: ^_^timeout^_^
community: ^_^community^_^
version: ^_^version^_^
operation: walk
oids:
hrStorageDescr: 1.3.6.1.2.1.25.2.3.1.3
hrStorageIndex: 1.3.6.1.2.1.25.2.3.1.1
hrStorageSize: 1.3.6.1.2.1.25.2.3.1.5
hrStorageUsed: 1.3.6.1.2.1.25.2.3.1.6
hrStorageAllocationUnits: 1.3.6.1.2.1.25.2.3.1.4
- name: disk
priority: 2
fields:
- field: hrDiskStorageAccess
type: 0
- field: hrDiskStorageMedia
type: 0
- field: hrDiskStorageRemoveble
type: 0
- field: hrDiskStorageCapacity
type: 0
unit: MB
units:
- hrDiskStorageCapacity=KB->MB
protocol: snmp
snmp:
host: ^_^host^_^
port: ^_^port^_^
timeout: ^_^timeout^_^
community: ^_^community^_^
version: ^_^version^_^
operation: walk
oids:
hrDiskStorageAccess: 1.3.6.1.2.1.25.3.6.1.1
hrDiskStorageMedia: 1.3.6.1.2.1.25.3.6.1.2
hrDiskStorageRemoveble: 1.3.6.1.2.1.25.3.6.1.3
hrDiskStorageCapacity: 1.3.6.1.2.1.25.3.6.1.4
- name: network
priority: 3
fields:
- field: number
type: 1
protocol: snmp
snmp:
host: ^_^host^_^
port: ^_^port^_^
timeout: ^_^timeout^_^
community: ^_^community^_^
version: ^_^version^_^
oids:
number: 1.3.6.1.2.1.2.1.0
- name: interfaces
priority: 4
fields:
- field: index
type: 0
- field: descr
type: 1
label: true
- field: mtu
type: 0
unit: 'byte'
- field: speed
type: 0
unit: 'KB/s'
- field: in_octets
type: 0
unit: 'byte'
- field: in_discards
type: 0
unit: 'package'
- field: in_errors
type: 0
unit: 'package'
- field: out_octets
type: 0
unit: 'byte'
- field: out_discards
type: 0
unit: 'package'
- field: out_errors
type: 0
unit: 'package'
- field: admin_status
type: 1
- field: oper_status
type: 1
aliasFields:
- ifIndex
- ifDescr
- ifMtu
- ifSpeed
- ifInOctets
- ifInDiscards
- ifInErrors
- ifOutOctets
- ifOutDiscards
- ifOutErrors
- ifAdminStatus
- ifOperStatus
calculates:
- index=ifIndex
- descr=ifDescr
- mtu=ifMtu
- speed=ifSpeed / 1024
- in_octets=ifInOctets
- in_discards=ifInDiscards
- in_errors=ifInErrors
- out_octets=ifOutOctets
- out_discards=ifOutDiscards
- out_errors=ifOutErrors
- admin_status=ifAdminStatus
- oper_status=ifOperStatus
protocol: snmp
snmp:
host: ^_^host^_^
port: ^_^port^_^
timeout: ^_^timeout^_^
community: ^_^community^_^
version: ^_^version^_^
operation: walk
oids:
ifIndex: 1.3.6.1.2.1.2.2.1.1
ifDescr: 1.3.6.1.2.1.2.2.1.2
ifMtu: 1.3.6.1.2.1.2.2.1.4
ifSpeed: 1.3.6.1.2.1.2.2.1.5
ifInOctets: 1.3.6.1.2.1.2.2.1.10
ifInDiscards: 1.3.6.1.2.1.2.2.1.13
ifInErrors: 1.3.6.1.2.1.2.2.1.14
ifOutOctets: 1.3.6.1.2.1.2.2.1.16
ifOutDiscards: 1.3.6.1.2.1.2.2.1.19
ifOutErrors: 1.3.6.1.2.1.2.2.1.20
ifAdminStatus: 1.3.6.1.2.1.2.2.1.7
ifOperStatus: 1.3.6.1.2.1.2.2.1.8
- name: devices
priority: 4
fields:
- field: index
type: 1
label: true
- field: descr
type: 1
- field: status
type: 1
aliasFields:
- hrDeviceIndex
- hrDeviceDescr
- hrDeviceStatus
calculates:
- index=hrDeviceIndex
- descr=hrDeviceDescr
- status=hrDeviceStatus
protocol: snmp
snmp:
host: ^_^host^_^
port: ^_^port^_^
timeout: ^_^timeout^_^
community: ^_^community^_^
version: ^_^version^_^
operation: walk
oids:
hrDeviceIndex: 1.3.6.1.2.1.25.3.2.1.1
hrDeviceDescr: 1.3.6.1.2.1.25.3.2.1.3
hrDeviceStatus: 1.3.6.1.2.1.25.3.2.1.5