centos.yml 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. # 此监控类型所属类别:service-应用服务监控 db-数据库监控 custom-自定义监控 os-操作系统监控
  2. category: os
  3. # 监控应用类型(与文件名保持一致) eg: linux windows tomcat mysql aws...
  4. app: centos
  5. name:
  6. zh-CN: Centos Linux
  7. en-US: Centos Linux
  8. # 参数映射map. type是参数类型: 0-number数字, 1-string明文字符串, 2-secret加密字符串
  9. # 强制固定必须参数 - host
  10. configmap:
  11. - key: host
  12. type: 1
  13. - key: port
  14. type: 0
  15. - key: username
  16. type: 1
  17. - key: password
  18. type: 2
  19. - key: timeout
  20. type: 0
  21. # 指标组列表
  22. metrics:
  23. # 第一个监控指标组 basic
  24. # 注意:内置监控指标有 (responseTime - 响应时间)
  25. - name: basic
  26. # 指标组调度优先级(0-127)越小优先级越高,优先级低的指标组会等优先级高的指标组采集完成后才会被调度,相同优先级的指标组会并行调度采集
  27. # 优先级为0的指标组为可用性指标组,即它会被首先调度,采集成功才会继续调度其它指标组,采集失败则中断调度
  28. priority: 0
  29. # 指标组中的具体监控指标
  30. fields:
  31. # 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位
  32. - field: hostname
  33. type: 1
  34. instance: true
  35. - field: version
  36. type: 1
  37. - field: uptime
  38. type: 1
  39. # 监控采集使用协议 eg: sql, ssh, http, telnet, wmi, snmp, sdk
  40. protocol: ssh
  41. # 当protocol为http协议时具体的采集配置
  42. ssh:
  43. # 主机host: ipv4 ipv6 域名
  44. host: ^_^host^_^
  45. # 端口
  46. port: ^_^port^_^
  47. username: ^_^username^_^
  48. password: ^_^password^_^
  49. timeout: ^_^timeout^_^
  50. 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}'
  51. # 响应数据解析方式:oneRow, multiRow
  52. parseType: multiRow
  53. - name: cpu
  54. priority: 1
  55. fields:
  56. # 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位
  57. - field: info
  58. type: 1
  59. - field: cores
  60. type: 0
  61. unit: 核数
  62. - field: interrupt
  63. type: 0
  64. unit: 个数
  65. - field: load
  66. type: 1
  67. - field: context_switch
  68. type: 0
  69. unit: 个数
  70. - field: usage
  71. type: 0
  72. unit: '%'
  73. # (非必须)监控指标别名,与上面的指标名映射。用于采集接口数据字段不直接是最终指标名称,需要此别名做映射转换
  74. aliasFields:
  75. - info
  76. - cores
  77. - interrupt
  78. - load
  79. - context_switch
  80. - idle
  81. # (非必须)指标计算表达式,与上面的别名一起作用,计算出最终需要的指标值
  82. # eg: cores=core1+core2, usage=usage, waitTime=allTime-runningTime
  83. calculates:
  84. - info=info
  85. - cores=cores
  86. - interrupt=interrupt
  87. - load=load
  88. - context_switch=context_switch
  89. - usage=100-idle
  90. # 监控采集使用协议 eg: sql, ssh, http, telnet, wmi, snmp, sdk
  91. protocol: ssh
  92. # 当protocol为http协议时具体的采集配置
  93. ssh:
  94. # 主机host: ipv4 ipv6 域名
  95. host: ^_^host^_^
  96. # 端口
  97. port: ^_^port^_^
  98. username: ^_^username^_^
  99. password: ^_^password^_^
  100. timeout: ^_^timeout^_^
  101. script: "LANG=C lscpu | awk -F: '/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 1 | awk 'NR==3{print $15}'"
  102. parseType: oneRow
  103. - name: memory
  104. priority: 2
  105. fields:
  106. # 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位
  107. - field: total
  108. type: 0
  109. unit: Mb
  110. - field: used
  111. type: 0
  112. unit: Mb
  113. - field: free
  114. type: 0
  115. unit: Mb
  116. - field: buff_cache
  117. type: 0
  118. unit: Mb
  119. - field: available
  120. type: 0
  121. unit: Mb
  122. - field: usage
  123. type: 0
  124. unit: '%'
  125. # (非必须)监控指标别名,与上面的指标名映射。用于采集接口数据字段不直接是最终指标名称,需要此别名做映射转换
  126. aliasFields:
  127. - total
  128. - used
  129. - free
  130. - buff_cache
  131. - available
  132. # (非必须)指标计算表达式,与上面的别名一起作用,计算出最终需要的指标值
  133. # eg: cores=core1+core2, usage=usage, waitTime=allTime-runningTime
  134. calculates:
  135. - total=total
  136. - used=used
  137. - free=free
  138. - buff_cache=buff_cache
  139. - available=available
  140. - usage=(used / total) * 100
  141. # 监控采集使用协议 eg: sql, ssh, http, telnet, wmi, snmp, sdk
  142. protocol: ssh
  143. # 当protocol为http协议时具体的采集配置
  144. ssh:
  145. # 主机host: ipv4 ipv6 域名
  146. host: ^_^host^_^
  147. # 端口
  148. port: ^_^port^_^
  149. username: ^_^username^_^
  150. password: ^_^password^_^
  151. timeout: ^_^timeout^_^
  152. script: free -m | grep Mem | awk 'BEGIN{print "total used free buff_cache available"} {print $2,$3,$4,$6,$7}'
  153. parseType: multiRow
  154. - name: disk
  155. priority: 3
  156. fields:
  157. # 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位
  158. - field: disk_num
  159. type: 0
  160. unit: 块数
  161. - field: partition_num
  162. type: 0
  163. unit: 分区数
  164. - field: block_write
  165. type: 0
  166. unit: 块数
  167. - field: block_read
  168. type: 0
  169. unit: 块数
  170. - field: write_rate
  171. type: 0
  172. unit: iops
  173. # 监控采集使用协议 eg: sql, ssh, http, telnet, wmi, snmp, sdk
  174. protocol: ssh
  175. # 当protocol为http协议时具体的采集配置
  176. ssh:
  177. # 主机host: ipv4 ipv6 域名
  178. host: ^_^host^_^
  179. # 端口
  180. port: ^_^port^_^
  181. username: ^_^username^_^
  182. password: ^_^password^_^
  183. timeout: ^_^timeout^_^
  184. 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}'
  185. parseType: oneRow
  186. - name: interface
  187. priority: 4
  188. fields:
  189. # 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位
  190. - field: interface_name
  191. type: 1
  192. instance: true
  193. - field: receive_bytes
  194. type: 0
  195. unit: byte
  196. - field: transmit_bytes
  197. type: 0
  198. unit: byte
  199. # 监控采集使用协议 eg: sql, ssh, http, telnet, wmi, snmp, sdk
  200. protocol: ssh
  201. # 当protocol为http协议时具体的采集配置
  202. ssh:
  203. # 主机host: ipv4 ipv6 域名
  204. host: ^_^host^_^
  205. # 端口
  206. port: ^_^port^_^
  207. username: ^_^username^_^
  208. password: ^_^password^_^
  209. timeout: ^_^timeout^_^
  210. script: cat /proc/net/dev | tail -n +3 | awk 'BEGIN{ print "interface_name receive_bytes transmit_bytes"} {print $1,$2,$10}'
  211. parseType: multiRow
  212. - name: disk_free
  213. priority: 5
  214. fields:
  215. # 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位
  216. - field: filesystem
  217. type: 1
  218. - field: used
  219. type: 0
  220. unit: Mb
  221. - field: available
  222. type: 0
  223. unit: Mb
  224. - field: usage
  225. type: 0
  226. unit: '%'
  227. - field: mounted
  228. type: 1
  229. instance: true
  230. # 监控采集使用协议 eg: sql, ssh, http, telnet, wmi, snmp, sdk
  231. protocol: ssh
  232. # 当protocol为http协议时具体的采集配置
  233. ssh:
  234. # 主机host: ipv4 ipv6 域名
  235. host: ^_^host^_^
  236. # 端口
  237. port: ^_^port^_^
  238. username: ^_^username^_^
  239. password: ^_^password^_^
  240. timeout: ^_^timeout^_^
  241. script: df -m | tail -n +2 | awk 'BEGIN{ print "filesystem used available usage mounted"} {print $1,$3,$4,$5,$6}'
  242. parseType: multiRow