背景
在系统上线后,进入系统运维阶段,需要一个监控服务器+系统运行状态的监控程序,并且在发生异常是发送通知信息;在查阅众多监控程序后,发现hertzbeat开源程序不仅能够监控系统运行情况,还能监控一些中间件的运行状态,包括:操作系统、数据库,ssl证书,网站站点,springboot2.0,springboot3.0 等。
最终决定部署一套hertzbeat程序。
一、hertzbeat安装
官方部署安装教程:https://hertzbeat.com/zh-cn/docs/start/docker-deploy
我选中的docker安装,在安装第一次时,直接使用默认安装命令
docker run -d -p 1157:1157 --name hertzbeat tancloud/hertzbeat
安装成功后,开通1157端口,默认账号密码:admin/bretzbeat。此时便可以使用域名或者id+端口访问监控系统。
注意:此时监控系统正常使用是没有问题的,但是有两个问题需要注意:
第一:使用默认启动系统,系统产生的数据会跟随镜像一起,所以删除镜像便会把业务数据一并删除,为了防止这个情况发生,建议将系统的数据配置到主机上。
第二:系统的账号密码是不能在系统中修改的。系统的账号密码配置在/opt/hretzbeat/config/sureness.yml中,所以修改密码需要在配置文件中修改。例如
修改密码后需要在docker中重启程序。
docker run -d -p 1157:1157 \
-e LANG=zh_CN.UTF-8 \
-e TZ=Asia/Shanghai \
-v /opt/hertzbeat/data:/opt/hertzbeat/data \
-v /opt/hertzbeat/logs:/opt/hertzbeat/logs \
-v /opt/hertzbeat/config/sureness.yml:/opt/hertzbeat/config/sureness.yml \
--restart=always \
--name hertzbeat tancloud/hertzbeat
docker run -d
通过Docker运行一个容器,使其在后台运行
-p 1157:1157
映射容器端口到主机端口,请注意,前面是宿主机的端口号,后面是容器的端口号。
-e LANG=zh_CN.UTF-8
(可选) 设置语言
-e TZ=Asia/Shanghai
(可选) 设置时区
-v /opt/hertzbeat/data:/opt/hertzbeat/data
(可选,数据持久化)重要⚠️ 挂载H2数据库文件到本地主机,保证数据不会因为容器的创建删除而丢失
-v /opt/hertzbeat/logs:/opt/hertzbeat/logs
(可选,不需要可删除)挂载日志文件到本地主机,保证日志不会因为容器的创建删除而丢失,方便查看
-v /opt/application.yml:/opt/hertzbeat/config/application.yml
(可选,不需要可删除)挂载上上一步修改的本地配置文件到容器中,即使用本地配置文件覆盖容器配置文件。我们需要修改此配置文件的MYSQL,TDengine配置信息来连接外部服务。
-v /opt/hertzbeat/config/sureness.yml:/opt/hertzbeat/config/sureness.yml
(可选,不需要可删除)挂载上一步修改的账户配置文件到容器中,若无修改账户需求可删除此命令参数。
注意⚠️ 挂载文件时,前面参数为你自定义本地文件地址,后面参数为docker容器内文件地址(固定)
--name hertzbeat
命名容器名称 hertzbeat
--restart=always
(可选,不需要可删除)使容器在Docker启动后自动重启。若您未在容器创建时指定该参数,可通过以下命令实现该容器自启。
只
至此,hertzbeat以安装完毕,就可以正常使用健康程序了。再监控java程序时,java端需要添加Actuator监控支持。下一篇讲解Actuator的配置。