beat网站(HertzBeat赫兹跳动)

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的 HertzBeat赫兹跳动是一个易用友好的高性能监控告警系统。项目介绍HertzBeat 支持自定义监控 ,只用通过配置YML文件我们就可以自定义需要的监控类型和指标,来满足常见的个性化需求。HertzBeat 模块化,manager, collector, scheduler, warehouse, alerter 各个模块解耦,方便理解与定制开发。HertzBeat 支持更自由化的告警配置(计算表达式),支持告警通知,告警模版,邮件钉钉微信飞书等及时通知送达。模块manager 提供监控管理,系统管理基础服务提供对监控的管理,监控应用配置的管理,系统用户租户后台管理等。collector 提供监控数据采集服务使用通用协议远程采集获取对端指标数据。scheduler 提供监控任务调度服务采集任务管理,一次性任务和周期性任务的调度分发。warehouse 提供监控数据仓储服务采集指标结果数据管理,数据落盘,查询,计算统计。alerter 提供告警服务告警计算触发,监控状态联动,告警配置,告警通知。web-app 提供可视化控制台页面快速开始依赖服务部署HertzBeat最少依赖于 关系型数据库MYSQL5+ 和 时序性数据库TDengine2+HertzBeat安装HertzBeat支持通过源码安装启动,Docker容器运行和安装包方式安装部署。Docker方式快速安装docker run -d -p 1157:1157 -v /opt/application.yml:/opt/hertzbeat/config/application.yml –name hertzbeat tancloud/hertzbeat:[版本tag]通过安装包安装下载您系统环境对应的安装包https://gitee.com/dromara/hertzbeat/releases配置HertzBeat的配置文件 hertzbeat/config/application.yml部署启动 $ ./startup.sh自定义监控配置自定义监控类型需新增配置两个YML文件用监控类型命名的监控配置定义文件 – 例如:example.yml 需位于安装目录 /hertzbeat/define/app/ 下用监控类型命名的监控参数定义文件 – 例如:example.yml 需位于安装目录 /hertzbeat/define/param/ 下重启hertzbeat系统,我们就适配好了一个新的自定义监控类型。监控配置定义文件样例:自定义一个名称为example的自定义监控类型,其使用HTTP协议采集指标数据。文件名称: example.yml 位于 /define/app/example.yml# 此监控类型所属类别:service-应用服务监控 db-数据库监控 custom-自定义监控 os-操作系统监控
category: custom
# 监控应用类型(与文件名保持一致) eg: linux windows tomcat mysql aws…
app: example
name:
zh-CN: 模拟应用类型
en-US: EXAMPLE APP
# 参数映射map. 这些为输入参数变量,即可以用^_^host^_^的形式写到后面的配置中,系统自动变量值替换
# type是参数类型: 0-number数字, 1-string明文字符串, 2-secret加密字符串
# 强制固定必须参数 – host
configmap:
– key: host
type: 1
– key: port
type: 0
– key: username
type: 1
– key: password
type: 2
# 指标组列表
metrics:
# 第一个监控指标组 cpu
# 注意:内置监控指标有 (responseTime – 响应时间)
– name: cpu
# 指标组调度优先级(0-127)越小优先级越高,优先级低的指标组会等优先级高的指标组采集完成后才会被调度,相同优先级的指标组会并行调度采集
# 优先级为0的指标组为可用性指标组,即它会被首先调度,采集成功才会继续调度其它指标组,采集失败则中断调度
priority: 0
# 指标组中的具体监控指标
fields:
# 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位
– field: hostname
type: 1
instance: true
– field: usage
type: 0
unit: '%'
– field: cores
type: 0
– field: waitTime
type: 0
unit: s
# (非必须)监控指标别名,与上面的指标名映射。用于采集接口数据字段不直接是最终指标名称,需要此别名做映射转换
aliasFields:
– hostname
– core1
– core2
– usage
– allTime
– runningTime
# (非必须)指标计算表达式,与上面的别名一起作用,计算出最终需要的指标值
# eg: cores=core1+core2, usage=usage, waitTime=allTime-runningTime
calculates:
– hostname=hostname
– cores=core1+core2
– usage=usage
– waitTime=allTime-runningTime
# 监控采集使用协议 eg: sql, ssh, http, telnet, wmi, snmp, sdk
protocol: http
# 当protocol为http协议时具体的采集配置
http:
# 主机host: ipv4 ipv6 域名
host: ^_^host^_^
# 端口
port: ^_^port^_^
# url请求接口路径
url: /metrics/cpu
# 请求方式 GET POST PUT DELETE PATCH
method: GET
# 是否启用ssl/tls,即是http还是https,默认false
ssl: false
# 请求头内容
headers:
apiVersion: v1
# 请求参数内容
params:
param1: param1
param2: param2
# 认证
authorization:
# 认证方式: Basic Auth, Digest Auth, Bearer Token
type: Basic Auth
basicAuthUsername: ^_^username^_^
basicAuthPassword: ^_^password^_^
# 响应数据解析方式: default-系统规则,jsonPath-jsonPath脚本,website-网站可用性指标监控
# todo xmlPath-xmlPath脚本,prometheus-Prometheus数据规则
parseType: jsonPath
parseScript: '#39;

– name: memory
priority: 1
fields:
– field: hostname
type: 1
instance: true
– field: total
type: 0
unit: kb
– field: usage
type: 0
unit: '%'
– field: speed
type: 0
protocol: http
http:
host: ^_^host^_^
port: ^_^port^_^
url: /metrics/memory
method: GET
headers:
apiVersion: v1
params:
param1: param1
param2: param2
authorization:
type: Basic Auth
basicAuthUsername: ^_^username^_^
basicAuthPassword: ^_^password^_^
parseType: default更多内容:https://gitee.com/dromara/hertzbeat

本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.175ku.com/39524.html