易用友好的高性能监控告警系统。网站监测,PING连通性,端口可用性,数据库监控,API监控,自定义监控,阈值告警,告警通知(邮件微信钉钉飞书)。
安装部署:
HertzBeat最少依赖于 关系型数据库MYSQL8+(实际亲测用mysql5.7+也行) 和 时序性数据库TDengine2+
1.安装mysql:
docker run --name mysql -p 3306:3306 -v /var/lib/mysql:/var/lib/mysql -v /etc/mysql.cnf:/etc/mysql.cnf -e MYSQL_ROOT_PASSWORD='xxxx' --restart=always -d mysql
在mysql中新建hertzbeat的数据库,执行位于项目仓库/script/sql/目录下的数据库脚本schema.sql
2.安装TDengine
docker run -d -p 6030-6049:6030-6049 -p 6030-6049:6030-6049/udp --name tdengine tdengine/tdengine
创建TDengine数据库实例
进入数据库Docker容器
$ docker exec -it tdengine /bin/bash
root@tdengine-server:~/TDengine-server-2.4.0.4#
创建名称为hertzbeat的数据库 进入容器后,执行 taos shell 客户端程序。
root@tdengine-server:~/TDengine-server-2.4.0.4# taos
Welcome to the TDengine shell from Linux, Client Version:2.4.0.4
Copyright (c) 2020 by TAOS Data, Inc. All rights reserved.
taos>
执行创建数据库命令
taos> show databases;
taos> CREATE DATABASE hertzbeat KEEP 90 DAYS 10 BLOCKS 6 UPDATE 1;
taos> show databases;
taos> use hertzbeat;
上述语句将创建一个名为 hertzbeat 的库,这个库的数据将保留90天(超过90天将被自动删除),每 10 天一个数据文件,内存块数为 6,允许更新数据
3.HertzBeat安装
mkdir /data/service/heartzbeat,配置HertzBeat的配置文件application.yml和sureness.yml
需要替换里面的MYSQL服务和TDengine服务参数,IP端口账户密码(若使用邮件告警,需替换里面的邮件服务器参数) 具体替换参数如下:
spring:
config:
activate:
on-profile: prod
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: xxxx
url: jdbc:mysql://192.168.10.24:3306/hertzbeat?useUnicode=true&characterEncoding=utf-8&useSSL=false
platform: mysql
hikari:
max-lifetime: 120000
jpa:
database: mysql
mail:
host: smtp.qq.com
username: [email protected]
password: xxxxx
port: 465
default-encoding: UTF-8
properties:
mail:
smtp:
socketFactoryClass: javax.net.ssl.SSLSocketFactory
ssl:
enable: true
warehouse:
store:
td-engine:
enabled: true
driver-class-name: com.taosdata.jdbc.rs.RestfulDriver
url: jdbc:TAOS-RS://192.168.10.24:6041/hertzbeat
username: root
password: taosdata
HertzBeat默认内置三个用户账户,分别为 admin/admin tom/tom@123 lili/lili
若需要新增删除修改账户或密码,可以通过配置 sureness.yml实现,若无此需求可忽略此步骤
启动HertzBeat:
docker run -d -p 1157:1157 -v /data/service/heartzbeat/application.yml:/opt/hertzbeat/config/application.yml -v /data/service/heartzbeat/sureness.yml:/opt/hertzbeat/config/sureness.yml --name hertzbeat tancloud/hertzbeat:1.0-beta.4
4.打开HertzBeat,ip:1157/console/alert/notice在web配置监控告警
告警发送到邮箱: