https://gitee.com/dromara/hertzbeat
https://hertzbeat.com/docs/
https://hub.docker.com/r/tancloud/hertzbeat/
https://hub.docker.com/r/tdengine/tdengine
docker run -d -p 3306:3306 --privileged=true --name mysql --restart=always -v /etc/localtime:/etc/localtime:ro -v /data/db/mysql:/var/lib/mysql -v /data/site/docker/env/mysql/mysql57/my.cnf:/etc/mysql/my.cnf:ro -e MYSQL_ROOT_PASSWORD='QBT@2023' -e MYSQL_ALLOW_EMPTY_PASSWORD='no' -v /data/file/logs/mysql57:/var/log/mysql mysql:5.7 --max_allowed_packet=800M
docker exec -it mysql /bin/bash
docker run -d -p 6030-6049:6030-6049 -p 6030-6049:6030-6049/udp -v /data/db/taosdata:/var/lib/taos --name tdengine -e TZ='Asia/Shanghai' --restart=always tdengine/tdengine:3.0.4.0
docker exec -it tdengine /bin/bash
taos
show databases;
-创建一个名为hertzbeat的数据库。
-数据将保存90天(超过90天的数据将被自动删除)。
-每10天一个数据文件,内存块缓冲区为16MB。
CREATE DATABASE hertzbeat KEEP 90 DURATION 10 BUFFER 16;
docker run -d -p 1157:1157 --name hertzbeat --restart=always -e LANG='zh_CN.UTF-8' -e TZ='Asia/Shanghai' -v /data/site/docker/env/monitor/hertzbeat/application.yml:/opt/hertzbeat/config/application.yml -v /data/site/docker/env/monitor/hertzbeat/sureness.yml:/opt/hertzbeat/config/sureness.yml -v /data/db/hertzbeat:/opt/hertzbeat/data tancloud/hertzbeat
---默认账号密码 admin/hertzbeat
docker exec -it hertzbeat /bin/bash
---易用友好的云监控系统。网站监测,PING连通性,端口可用性,数据库,操作系统,API监控,自定义监控,阈值告警,告警通知(邮件微信钉钉飞书)。
vim /data/site/docker/env/monitor/hertzbeat/application.yml:
server:
port: 1157
spring:
application:
name: ${HOSTNAME:@hertzbeat@}${PID}
profiles:
active: prod
mvc:
static-path-pattern: /**
resources:
static-locations:
- classpath:/dist/
- classpath:../dist/
jackson:
default-property-inclusion: NON_EMPTY
sureness:
auths:
- digest
- basic
- jwt
---
spring:
config:
activate:
on-profile: prod
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: QBT@2022
url: jdbc:mysql://192.168.120.203:3306/hertzbeat?useUnicode=true&characterEncoding=utf-8&useSSL=false
hikari:
max-lifetime: 120000
jpa:
hibernate:
ddl-auto: update
mail:
# Attention: this is mail server address.
# 请注意此为邮件服务器地址:qq邮箱为 smtp.qq.com qq企业邮箱为 smtp.exmail.qq.com
host: smtp.exmail.qq.com
username: example@tancloud.cn
# Attention: this is not email account password, this requires an email authorization code
# 请注意此非邮箱账户密码 此需填写邮箱授权码
password: example
port: 465
default-encoding: UTF-8
properties:
mail:
smtp:
socketFactoryClass: javax.net.ssl.SSLSocketFactory
ssl:
enable: true
debug: false
thymeleaf:
prefix: classpath:/templates/
check-template-location: true
cache: true
suffix: .html
mode: HTML
warehouse:
store:
td-engine:
enabled: true
driver-class-name: com.taosdata.jdbc.rs.RestfulDriver
url: jdbc:TAOS-RS://192.168.120.203:6041/hertzbeat
username: root
password: taosdata
alerter:
# custom console url
console-url: https://console.tancloud.cn
# base of alert eval interval time, unit:ms. The next time is 2 times the previous time.
alert-eval-interval-base: 600000
# max of alert eval interval time, unit:ms
max-alert-eval-interval: 86400000
# system alert(available alert, reachable alert...) trigger times
system-alert-trigger-times: 1-h2.Driver
datasource:
driver-class-name: org.h2.Driver
username: sa
password: 123456
url: jdbc:h2:./data/hertzbeat;MODE=MYSQL
hikari:
max-lifetime: 120000
vim vim /data/site/docker/env/monitor/hertzbeat/sureness.yml
## -- sureness.yml文本数据源 -- ##
# 加载到匹配字典的资源,也就是需要被保护的,设置了所支持角色访问的资源
# 没有配置的资源也默认被认证保护,但不鉴权
# eg: /api/v1/source1===get===[admin] 表示 /api/v2/host===post 这条资源支持 admin 这一种角色访问
# eg: /api/v1/source2===get===[] 表示 /api/v1/source2===get 这条资源不支持任何角色访问
resourceRole:
- /api/account/auth/refresh===post===[admin,user,guest]
- /api/apps/**===get===[admin,user,guest]
- /api/monitor/**===get===[admin,user,guest]
- /api/monitor/**===post===[admin,user]
- /api/monitor/**===put===[admin,user]
- /api/monitor/**===delete==[admin]
- /api/monitors/**===get===[admin,user,guest]
- /api/monitors/**===post===[admin,user]
- /api/monitors/**===put===[admin,user]
- /api/monitors/**===delete===[admin]
- /api/alert/**===get===[admin,user,guest]
- /api/alert/**===post===[admin,user]
- /api/alert/**===put===[admin,user]
- /api/alert/**===delete===[admin]
- /api/alerts/**===get===[admin,user,guest]
- /api/alerts/**===post===[admin,user]
- /api/alerts/**===put===[admin,user]
- /api/alerts/**===delete===[admin]
- /api/notice/**===get===[admin,user,guest]
- /api/notice/**===post===[admin,user]
- /api/notice/**===put===[admin,user]
- /api/notice/**===delete===[admin]
- /api/tag/**===get===[admin,user,guest]
- /api/tag/**===post===[admin,user]
- /api/tag/**===put===[admin,user]
- /api/tag/**===delete===[admin]
- /api/summary/**===get===[admin,user,guest]
- /api/summary/**===post===[admin,user]
- /api/summary/**===put===[admin,user]
- /api/summary/**===delete===[admin]
# 需要被过滤保护的资源,不认证鉴权直接访问
# /api/v1/source3===get 表示 /api/v1/source3===get 可以被任何人访问 无需登录认证鉴权
excludedResource:
- /api/account/auth/**===*
- /api/i18n/**===get
- /api/apps/hierarchy===get
# web ui 前端静态资源
- /===get
- /dashboard/**===get
- /monitors/**===get
- /alert/**===get
- /account/**===get
- /setting/**===get
- /passport/**===get
- /**/*.html===get
- /**/*.js===get
- /**/*.css===get
- /**/*.ico===get
- /**/*.ttf===get
- /**/*.png===get
- /**/*.gif===get
- /**/*.jpg===get
- /**/*.svg===get
- /**/*.json===get
# swagger ui 资源
- /swagger-resources/**===get
- /v2/api-docs===get
- /v3/api-docs===get
# h2 database
- /h2-console/**===*
# 用户账户信息
# 下面有 admin tom lili 三个账户
# eg: admin 拥有[admin,user]角色,密码为hertzbeat
# eg: tom 拥有[user],密码为hertzbeat
# eg: lili 拥有[guest],明文密码为lili, 加盐密码为1A676730B0C7F54654B0E09184448289
account:
- appId: qbtadmin
credential: DX@DfIRf$IuavD!E
role: [admin,user]
- appId: tom
credential: hertzbeatadmin
role: [user]
- appId: guest
credential: hertzbeatadmin
role: [guest]
- appId: lili
# 注意 Digest认证不支持加盐加密的密码账户
# 加盐加密的密码,通过 MD5(password+salt)计算
# 此账户的原始密码为 lili
credential: 1A676730B0C7F54654B0E09184448289
salt: 123
role: [guest]
https://blog.csdn.net/weixin_43700866/article/details/126502795
-
create database db01 replica 2 days 1 keep 30 blocks 27;
DB error: syntax error near "days 1 keep 30 blocks 27;" (0.000144s)
-
create database db01 replica 2 duration 1d keep 30 buffer 432;
DB error: Invalid option replications: 2, only 1, 3 allowed (0.000341s)
-
create database db01 replica 3 duration 1d keep 30 buffer 432;
Query OK, 0 of 0 rows affected (8.826758s)