【性能监控 APM 四】hertzbeat

【性能监控 APM 一】JMX && jstatd

【性能监控 APM 二】JMC && jvisualvm && jconsole

【性能监控 APM 三】springboot-admin

【性能监控 APM 四】hertzbeat

【性能监控 APM 五】Prometheus + Grafana

 

HertzBeat 是一个拥有强大自定义监控能力,高性能集群,无需 Agent 的开源实时监控告警系统。

特点

  • 集 监控+告警+通知 为一体,支持对应用服务,数据库,操作系统,中间件,云原生,网络等监控阈值告警通知一步到位。
  • 易用友好,无需 Agent,全 WEB 页面操作,鼠标点一点就能监控告警,零上手学习成本。
  • 将 Http,Jmx,Ssh,Snmp,Jdbc 等协议规范可配置化,只需在浏览器配置监控模版 YML 就能使用这些协议去自定义采集想要的指标。您相信只需配置下就能立刻适配一款 K8s 或 Docker 等新的监控类型吗?
  • 高性能,支持多采集器集群横向扩展,支持多隔离网络监控,云边协同。
  • 自由的告警阈值规则,邮件 Discord Slack Telegram 钉钉 微信 飞书 短信 Webhook 等方式消息及时送达。

环境
docker 24.0.6、ubuntu 22.04 LTS、hertzbeat 1.4.x、MySQL 8.0.27、TDengine 3.1.1.0
假设当前主机IP为:10.53.207.24
image

一、安装配置

1、镜像下载

docker pull tancloud/hertzbeat
docker pull tancloud/hertzbeat-collector

网络超时时使用:

docker pull quay.io/tancloud/hertzbeat
docker pull quay.io/tancloud/hertzbeat-collector

2、编写配置文档

下载官方配置文档到 自定义文件夹 /service/hertzbeat/config/ 中,进行配置修改。注意容器内部无法识别本机的"localhost",所以配置文件中都使用主机的外网ip。下载连接:
wget https://gitee.com/dromara/hertzbeat/raw/master/script/application.yml
wget https://gitee.com/dromara/hertzbeat/raw/master/script/sureness.yml

  1. 修改 application.yml 对服务进行配置

(1)将数据库改为自定义的mysql,确保在mysql服务中创建数据 “hertzbeat”,并且配置的账号支持远程连接。

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 123456
    url: jdbc:mysql://10.53.207.47:3306/hertzbeat?useUnicode=true&characterEncoding=utf-8&useSSL=false

(2)配置 td-engine 时序数据库(安装在本地,如果是远程的话讲localhost替换为远程主机pi或域名),首先确保在时序数据TDengine中创建数据库“hertzbeat”:
CREATE DATABASE hertzbeat KEEP 90 DURATION 10 BUFFER 16;
并且td-engine通过rest Http方式连接,确保TDengine服务同时开启了taosadapter服务。

warehouse:
   store:
      # 关闭默认JPA
      jpa:
         enabled: false
      td-engine:
         enabled: true
         driver-class-name: com.taosdata.jdbc.rs.RestfulDriver
         url: jdbc:TAOS-RS://10.53.207.24:6041/hertzbeat
         username: root
         password: taosdata
  1. 修改 sureness.yml 对登录账号进行配置,如下,配置账号密码:admin/Hw@654321
account:
  - appId: admin
    credential: Hw@654321
    role: [admin]

3、创建并启动容器

docker run -d \
    -p 1157:1157 \
    -p 1158:1158 \
    -e LANG=zh_CN.UTF-8 \
    -e TZ=Asia/Shanghai \
    -v /service/hertzbeat/data:/opt/hertzbeat/data \
    -v /service/hertzbeat/logs:/opt/hertzbeat/logs \
    -v /service/hertzbeat/config/application.yml:/opt/hertzbeat/config/application.yml \
    -v /service/hertzbeat/config/sureness.yml:/opt/hertzbeat/config/sureness.yml \
    --restart=always \
    --name hertzbeat quay.io/tancloud/hertzbeat

通过 -v 参数将hertzbeat的相关配置文件进行了挂载,这样在创建容器的时候就会使用我们修改的配置,同时将hertzbeat的相关数据也挂载到了本地磁盘。

二、访问并添加监控

访问服务地址:http://{ip}:{port}
本实例服务地址:http://10.53.207.24:1157
配置的账号密码:admin/Hw@654321,未配置的话默认是 admin/hertzbeat

1、linux监控

路径:操作系统监控-> ubuntu linux -> 新增ubuntu linux ,只需要填写 主机IP、连接名称、端口、用户名、密码 连接到目标主机,监控就添加完成了,如下图:
image

2、数据库监控

路径:数据库监控 -> mysql数据库 -> 新增Mysql数据库,填写主机ip、连接名称、端口、用户名、密码 连接到数据库,保存后监控就创建完成了,如下图:
image

3、添加jvm监控

路径:应用服务监控 -> jvm虚拟机 -> 新增jvm虚拟机,填写相关信息就可以进行监控了(jvm服务器节点必须开启 JMX 服务并配置访问认证),如下图:
image

所有监控添加完成,面板中已经正常显示:
image

其他监控的添加可以参考官网说明:https://hertzbeat.com/zh-cn/docs/

原创文章,引用或转载请注明出处:https://www.cnblogs.com/hewei-blogs/articles/17717458.html

posted @ 2023-09-21 16:19  蓝迷梦  阅读(946)  评论(0)    收藏  举报