# 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 # 监控类型所属类别:service-应用服务监控 db-数据库监控 mid-中间件 custom-自定义监控 os-操作系统监控 cn-云原生cloud native network-网络监控 category: os # The monitoring type eg: linux windows tomcat mysql aws... # 监控类型 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 服务,点击查看开启步骤 en-US: HertzBeat monitors general performance metrics such as number of users, number of processes, response time of Windows operating system through the SNMP protocol.
⚠️Note:Windows server need enable the SNMP services Click here to view the specific steps. zh-TW: HertzBeat通過 SNMP協定對Windows作業系統的通用性能指標(用戶數、行程數量、回應時間等)進行採集監控。
⚠️ ️注意:Windows服務器需要開啟SNMP服務,點擊查看開啟步驟 helpLink: zh-CN: https://hertzbeat.com/zh-cn/docs/help/windows en-US: https://hertzbeat.com/docs/help/windows # 监控所需输入参数定义(根据定义渲染页面UI) # Input params define for monitoring(render web ui by the definition) params: # field-param field key # field-变量字段标识符 - field: host # name-param field display i18n name # name-参数字段显示名称 name: zh-CN: 主机Host en-US: Host # type-param field type(most mapping the html input type) # type-字段类型,样式(大部分映射input标签type属性) type: host # required-true or false # required-是否是必输项 true-必填 false-可选 required: true # field-param field key # field-变量字段标识符 - field: port # name-param field display i18n name # name-参数字段显示名称 name: zh-CN: 端口 en-US: Port # type-param field type(most mapping the html input type) # type-字段类型,样式(大部分映射input标签type属性) type: number # when type is number, range is required # 当type为number时,用range表示范围 range: '[0,65535]' # required-true or false # required-是否是必输项 true-必填 false-可选 required: true # default value # 默认值 defaultValue: 161 # field-param field key # field-变量字段标识符 - field: version # name-param field display i18n name # name-参数字段显示名称 name: zh-CN: SNMP 版本 en-US: SNMP Version # type-param field type(radio mapping the html radio tag) # type-当type为radio时,前端用radio展示开关 type: radio # required-true or false # required-是否是必输项 true-必填 false-可选 required: true # when type is radio checkbox, use option to show optional values {name1:value1,name2:value2} # 当type为radio单选框, checkbox复选框时, option表示可选项值列表 {name1:value1,name2:value2} options: - label: SNMPv1 value: 0 - label: SNMPv2c value: 1 # field-param field key # field-变量字段标识符 - field: community # name-param field display i18n name # name-参数字段显示名称 name: zh-CN: SNMP 团体字 en-US: SNMP Community # type-param field type(most mapping the html input type) # type-字段类型,样式(大部分映射input标签type属性) type: text # when type is text, use limit to limit string length # 当type为text时,用limit表示字符串限制大小 limit: 100 # required-true or false # required-是否是必输项 true-必填 false-可选 required: true # 参数输入框提示信息 # param field input placeholder placeholder: 'Snmp community for v1 v2c' # field-param field key # field-变量字段标识符 - field: timeout # name-param field display i18n name # name-参数字段显示名称 name: zh-CN: 超时时间(ms) en-US: Timeout(ms) # type-param field type(most mapping the html input type) # type-字段类型,样式(大部分映射input标签type属性) type: number # when type is number, range is required # 当type为number时,用range表示范围 range: '[0,100000]' # required-true or false # required-是否是必输项 true-必填 false-可选 required: false # hide-is hide this field and put it in advanced layout # hide-是否隐藏此参数将其放入高级设置中 hide: true # default value # 默认值 defaultValue: 6000 # collect metrics config list # 采集指标组配置列表 metrics: # metrics - system # 监控指标组 - system - name: system # metrics group scheduling priority(0->127)->(high->low), metrics with the same priority will be scheduled in parallel # priority 0's metrics group is availability metrics, it will be scheduled first, only availability metrics collect success will the scheduling continue # 指标组调度优先级(0->127)->(优先级高->低) 优先级低的指标组会等优先级高的指标组采集完成后才会被调度, 相同优先级的指标组会并行调度采集 # 优先级为0的指标组为可用性指标组,即它会被首先调度,采集成功才会继续调度其它指标组,采集失败则中断调度 priority: 0 # collect metrics content # 具体监控指标列表 fields: # field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), instance-if is metrics group unique identifier # field-指标名称, type-指标类型(0-number数字,1-string字符串), unit-指标单位('%','ms','MB'), instance-是否是指标集合唯一标识符字段 - 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 # the protocol used for monitoring, eg: sql, ssh, http, telnet, wmi, snmp, sdk protocol: snmp # the config content when protocol is snmp snmp: # server host: ipv4 ipv6 domain host: ^_^host^_^ # server port port: ^_^port^_^ # snmp connect timeout timeout: ^_^timeout^_^ # snmp community # snmp 团体字 community: ^_^community^_^ # snmp version version: ^_^version^_^ # snmp operation: get, walk operation: get # metrics oids: metric_name - oid_value 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 - name: memory priority: 1 fields: - field: total type: 0 unit: GB - field: used type: 0 unit: GB - field: usage type: 0 unit: '%' # (optional)metrics field alias name, it is used as an alias field to map and convert the collected data and metrics field # (可选)监控指标别名, 做为中间字段与采集数据字段和指标字段映射转换 aliasFields: - hrMemorySize - hrStorageUsed - hrStorageAllocationUnits # mapping and conversion expressions, use these and aliasField above to calculate metrics value # (可选)指标映射转换计算表达式,与上面的别名一起作用,计算出最终需要的指标值 # eg: cores=core1+core2, usage=usage, waitTime=allTime-runningTime calculates: - total=hrMemorySize - used=hrStorageUsed * hrStorageAllocationUnits - usage= hrStorageUsed * hrStorageAllocationUnits / (hrMemorySize * 1024) * 100 units: - total=KB->GB - used=B->GB protocol: snmp snmp: host: ^_^host^_^ port: ^_^port^_^ timeout: ^_^timeout^_^ community: ^_^community^_^ version: ^_^version^_^ operation: get oids: hrMemorySize: 1.3.6.1.2.1.25.2.2.0 hrStorageUsed: 1.3.6.1.2.1.25.2.3.1.6.5 hrStorageAllocationUnits: 1.3.6.1.2.1.25.2.3.1.4.5 - name: storages priority: 1 fields: - field: descr type: 1 instance: true - field: size type: 0 unit: GB - field: used type: 0 unit: GB - field: usage type: 0 unit: '%' aliasFields: - hrStorageDescr - hrStorageSize - hrStorageUsed - hrStorageAllocationUnits calculates: - descr=hrStorageDescr - size=hrStorageSize * hrStorageAllocationUnits - used=hrStorageUsed * hrStorageAllocationUnits - usage= hrStorageUsed / hrStorageSize * 100 units: - size=B->GB - used=B->GB 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 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: dskPath type: 1 - field: dskDevice type: 1 - field: dskTotal type: 1 protocol: snmp snmp: host: ^_^host^_^ port: ^_^port^_^ timeout: ^_^timeout^_^ community: ^_^community^_^ version: ^_^version^_^ oids: dskPath: 1.3.6.1.4.1.2021.9.1.2 dskDevice: 1.3.6.1.4.1.2021.9.1.3 dskTotal: 1.3.6.1.4.1.2021.9.1.6 - 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: 1 - field: descr type: 1 instance: 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 instance: 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