# 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 custom-custom monitoring os-operating system monitoring # 监控类型所属类别:service-应用服务监控 db-数据库监控 custom-自定义监控 os-操作系统监控 cn-云原生cloud native network-网络监控 category: os # The monitoring type eg: linux windows tomcat mysql aws... # 监控类型 eg: linux windows tomcat mysql aws... app: opensuse # The monitoring i18n name # 监控类型国际化名称 name: zh-CN: OpenSUSE en-US: OpenSUSE # The description and help of this monitoring type # 监控类型的帮助描述信息 help: zh-CN: Hertzbeat 对 OpenSUSE 的通用指标进行测量监控。
您可以点击 “新建 OpenSUSE” 并进行配置,或者选择“更多操作”,导入已有配置。 en-US: Hertzbeat monitors OpenSUSE through general performance metric. You could click the "New OpenSUSE" button and proceed with the configuration or import an existing setup through the "More Actions" menu. zh-TW: Hertzbeat對OpenSUSE的通用名額進行量測監控。
您可以點擊“新建OpenSUSE”並進行配寘,或者選擇“更多操作”,導入已有配寘。 helpLink: zh-CN: https://hertzbeat.com/zh-cn/docs/help/opensuse en-US: https://hertzbeat.com/docs/help/opensuse # 监控所需输入参数定义(根据定义渲染页面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: 22 # 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: '[400,200000]' # required-true or false # required-是否是必输项 true-必填 false-可选 required: false # default value # 默认值 defaultValue: 6000 # field-param field key # field-变量字段标识符 - field: reuseConnection # name-param field display i18n name # name-参数字段显示名称 name: zh-CN: 复用连接 en-US: Reuse Connection # type-param field type(most mapping the html input type) # type-字段类型,样式(大部分映射input标签type属性) type: boolean # required-true or false # required-是否是必输项 true-必填 false-可选 required: true defaultValue: true # field-param field key # field-变量字段标识符 - field: username # name-param field display i18n name # name-参数字段显示名称 name: zh-CN: 用户名 en-US: Username # 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: 20 # required-true or false # required-是否是必输项 true-必填 false-可选 required: true # field-param field key # field-变量字段标识符 - field: password # name-param field display i18n name # name-参数字段显示名称 name: zh-CN: 密码 en-US: Password # type-param field type(most mapping the html input tag) # type-字段类型,样式(大部分映射input标签type属性) type: password # required-true or false # required-是否是必输项 true-必填 false-可选 required: false # field-param field key # field-变量字段标识符 - field: privateKey # name-param field display i18n name # name-参数字段显示名称 name: zh-CN: 私钥 en-US: PrivateKey # type-param field type(most mapping the html input type) # type-字段类型,样式(大部分映射input标签type属性) type: textarea placeholder: -----BEGIN RSA PRIVATE KEY----- # required-true or false # required-是否是必输项 true-必填 false-可选 required: false # hide param-true or false # 是否隐藏字段 true or false hide: true # collect metrics config list # 采集指标组配置列表 metrics: # metrics - basic, inner monitoring metrics (responseTime - response time) # 监控指标组 - basic, 内置监控指标有 (responseTime - 响应时间) - name: basic i18n: zh-CN: 系统基本信息 en-US: Basic Info # 指标组调度优先级(0-127)越小优先级越高,优先级低的指标组会等优先级高的指标组采集完成后才会被调度,相同优先级的指标组会并行调度采集 # 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: hostname type: 1 instance: true i18n: zh-CN: 主机名称 en-US: Host Name - field: version type: 1 i18n: zh-CN: 操作系统版本 en-US: System Version - field: uptime type: 1 i18n: zh-CN: 启动时间 en-US: Uptime # the protocol used for monitoring, eg: sql, ssh, http, telnet, wmi, snmp, sdk protocol: ssh # the config content when protocol is ssh ssh: # ssh host: ipv4 ipv6 domain host: ^_^host^_^ # ssh port port: ^_^port^_^ # ssh username username: ^_^username^_^ # ssh password password: ^_^password^_^ # ssh private key privateKey: ^_^privateKey^_^ timeout: ^_^timeout^_^ reuseConnection: ^_^reuseConnection^_^ # ssh run collect script script: (uname -r ; hostname ; uptime | awk -F "," '{print $1}' | sed "s/ //g") | sed ":a;N;s/\n/^/g;ta" | awk -F '^' 'BEGIN{print "version hostname uptime"} {print $1, $2, $3}' # ssh response data parse type: oneRow, multiRow parseType: multiRow - name: cpu i18n: zh-CN: CPU 信息 en-US: CPU Info priority: 1 fields: - field: info type: 1 i18n: zh-CN: 型号 en-US: Info - field: cores type: 0 i18n: zh-CN: 核数 en-US: Cores - field: interrupt type: 0 i18n: zh-CN: 中断数 en-US: Interrupt - field: load type: 1 i18n: zh-CN: 负载 en-US: Load - field: context_switch type: 0 i18n: zh-CN: 上下文切换 en-US: Context Switch - field: usage type: 0 unit: '%' i18n: zh-CN: 使用率 en-US: Usage # (optional)metrics field alias name, it is used as an alias field to map and convert the collected data and metrics field # (可选)监控指标别名, 做为中间字段与采集数据字段和指标字段映射转换 aliasFields: - info - cores - load - interrupt - context_switch - idle # mapping and conversion expressions, use these and aliasField above to calculate metrics value # (可选)指标映射转换计算表达式,与上面的别名一起作用,计算出最终需要的指标值 # eg: cores=core1+core2, usage=usage, waitTime=allTime-runningTime calculates: - info=info - cores=cores - load=load - interrupt=interrupt - context_switch=context_switch - usage=100-idle protocol: ssh ssh: host: ^_^host^_^ port: ^_^port^_^ username: ^_^username^_^ password: ^_^password^_^ privateKey: ^_^privateKey^_^ timeout: ^_^timeout^_^ reuseConnection: ^_^reuseConnection^_^ script: "LANG=C lscpu | awk -F: '$1==\"Model name\" {print $2}';awk '/processor/{core++} END{print core}' /proc/cpuinfo;uptime | sed 's/,/ /g' | awk '{for(i=NF-2;i<=NF;i++)print $i }' | xargs;vmstat 1 1 | awk 'NR==3{print $11}';vmstat 1 1 | awk 'NR==3{print $12}';vmstat 1 2 | awk 'NR==4{print $15}'" parseType: oneRow - name: memory i18n: zh-CN: 内存信息 en-US: Memory Info priority: 2 fields: - field: total type: 0 unit: Mb i18n: zh-CN: 总内存容量 en-US: Total Memory - field: used type: 0 unit: Mb i18n: zh-CN: 用户程序内存量 en-US: User Program Memory - field: free type: 0 unit: Mb i18n: zh-CN: 空闲内存容量 en-US: Free Memory - field: buff_cache type: 0 unit: Mb i18n: zh-CN: 缓存占用内存 en-US: Buff Cache Memory - field: available type: 0 unit: Mb i18n: zh-CN: 剩余可用内存 en-US: Available Memory - field: usage type: 0 unit: '%' i18n: zh-CN: 内存使用率 en-US: Memory Usage aliasFields: - total - used - free - buff_cache - available calculates: - total=total - used=used - free=free - buff_cache=buff_cache - available=available - usage=(used / total) * 100 protocol: ssh ssh: host: ^_^host^_^ port: ^_^port^_^ username: ^_^username^_^ password: ^_^password^_^ privateKey: ^_^privateKey^_^ timeout: ^_^timeout^_^ reuseConnection: ^_^reuseConnection^_^ script: free -m | awk 'BEGIN{print "total used free buff_cache available"} NR==2{print $2,$3,$4,$6,$7}' parseType: multiRow - name: disk i18n: zh-CN: 磁盘信息 en-US: Disk Info priority: 3 fields: - field: disk_num type: 0 i18n: zh-CN: 磁盘总数 en-US: Disk Num - field: partition_num type: 0 i18n: zh-CN: 分区总数 en-US: Partition Num - field: block_write type: 0 i18n: zh-CN: 写磁盘块数 en-US: Block Write - field: block_read type: 0 i18n: zh-CN: 读磁盘块数 en-US: Block Read - field: write_rate type: 0 unit: iops i18n: zh-CN: 磁盘写速率 en-US: Write Rate protocol: ssh ssh: host: ^_^host^_^ port: ^_^port^_^ username: ^_^username^_^ password: ^_^password^_^ privateKey: ^_^privateKey^_^ timeout: ^_^timeout^_^ reuseConnection: ^_^reuseConnection^_^ script: vmstat -D | awk 'NR==1{print $1}';vmstat -D | awk 'NR==2{print $1}';vmstat 1 1 | awk 'NR==3{print $10}';vmstat 1 1 | awk 'NR==3{print $9}';vmstat 1 1 | awk 'NR==3{print $16}' parseType: oneRow - name: interface i18n: zh-CN: 网卡信息 en-US: Interface Info priority: 4 fields: - field: interface_name type: 1 instance: true i18n: zh-CN: 网卡名称 en-US: Interface Name - field: receive_bytes type: 0 unit: byte i18n: zh-CN: 入站数据流量 en-US: Receive Bytes - field: transmit_bytes type: 0 unit: byte i18n: zh-CN: 出站数据流量 en-US: Transmit Bytes protocol: ssh ssh: host: ^_^host^_^ port: ^_^port^_^ username: ^_^username^_^ password: ^_^password^_^ privateKey: ^_^privateKey^_^ timeout: ^_^timeout^_^ reuseConnection: ^_^reuseConnection^_^ script: cat /proc/net/dev | tail -n +3 | awk 'BEGIN{ print "interface_name receive_bytes transmit_bytes"} {print $1,$2,$10}' parseType: multiRow - name: disk_free i18n: zh-CN: 文件系统 en-US: Disk Free priority: 5 fields: - field: filesystem type: 1 i18n: zh-CN: 文件系统 en-US: Filesystem - field: used type: 0 unit: Mb i18n: zh-CN: 已使用量 en-US: Used - field: available type: 0 unit: Mb i18n: zh-CN: 可用量 en-US: Available - field: usage type: 0 unit: '%' i18n: zh-CN: 使用率 en-US: Usage - field: mounted type: 1 instance: true i18n: zh-CN: 挂载点 en-US: Mounted protocol: ssh ssh: host: ^_^host^_^ port: ^_^port^_^ username: ^_^username^_^ password: ^_^password^_^ privateKey: ^_^privateKey^_^ timeout: ^_^timeout^_^ reuseConnection: ^_^reuseConnection^_^ script: df -m | tail -n +2 | awk 'BEGIN{ print "filesystem used available usage mounted"} {print $1,$3,$4,$5,$6}' parseType: multiRow - name: top_cpu_process i18n: zh-CN: Top10 CPU 进程 en-US: Top10 CPU Process priority: 6 fields: - field: pid type: 1 instance: true i18n: zh-CN: 进程ID en-US: PID - field: cpu_usage type: 0 unit: '%' i18n: zh-CN: CPU占用率 en-US: CPU Usage - field: mem_usage type: 0 unit: '%' i18n: zh-CN: 内存占用率 en-US: Memory Usage - field: command type: 1 i18n: zh-CN: 执行命令 en-US: Command protocol: ssh ssh: host: ^_^host^_^ port: ^_^port^_^ username: ^_^username^_^ password: ^_^password^_^ privateKey: ^_^privateKey^_^ timeout: ^_^timeout^_^ reuseConnection: ^_^reuseConnection^_^ script: ps -aux | sort -k3nr | awk 'BEGIN{ print "pid cpu_usage mem_usage command" } {print $2, $3, $4, $11}'| head -n 10 parseType: multiRow - name: top_mem_process i18n: zh-CN: Top10 内存进程 en-US: Top10 Memory Process priority: 7 fields: - field: pid type: 1 instance: true i18n: zh-CN: 进程ID en-US: PID - field: mem_usage type: 0 unit: '%' i18n: zh-CN: 内存占用率 en-US: Memory Usage - field: cpu_usage type: 0 unit: '%' i18n: zh-CN: CPU占用率 en-US: CPU Usage - field: command type: 1 i18n: zh-CN: 执行命令 en-US: Command protocol: ssh ssh: host: ^_^host^_^ port: ^_^port^_^ username: ^_^username^_^ password: ^_^password^_^ privateKey: ^_^privateKey^_^ timeout: ^_^timeout^_^ reuseConnection: ^_^reuseConnection^_^ script: ps -aux | sort -k4nr | awk 'BEGIN{ print "pid cpu_usage mem_usage command" } {print $2, $3, $4, $11}'| head -n 10 parseType: multiRow