From 09e7498df5a06fe64dad2d03ff8bb539d1b285b8 Mon Sep 17 00:00:00 2001 From: tomsun28 Date: Wed, 23 Feb 2022 21:50:48 +0800 Subject: [PATCH] =?UTF-8?q?[home,script]=E5=AE=8C=E5=96=84=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E6=96=87=E6=A1=A3=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=B8=B8?= =?UTF-8?q?=E8=A7=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- home/docs/start/docker-deploy.md | 62 +++++++++++++++++++++---- home/docs/start/package-deploy.md | 42 +++++++++++++++-- home/docs/start/quickstart.md | 2 +- manager/src/main/resources/sureness.yml | 8 ++-- script/sureness.yml | 8 ++-- 5 files changed, 100 insertions(+), 22 deletions(-) diff --git a/home/docs/start/docker-deploy.md b/home/docs/start/docker-deploy.md index 0dcbe7d..c3ad7a8 100644 --- a/home/docs/start/docker-deploy.md +++ b/home/docs/start/docker-deploy.md @@ -17,7 +17,7 @@ sidebar_label: Docker方式部署 2. 拉取HertzBeat Docker镜像 镜像版本TAG可查看[官方镜像仓库](https://hub.docker.com/r/tancloud/hertzbeat/tags) ``` - $ docker pull tancloud/hertzbeat:latest + $ docker pull tancloud/hertzbeat:[版本tag] ``` 3. 配置HertzBeat的配置文件 在主机目录下创建application.yml,eg:/opt/application.yml @@ -39,19 +39,63 @@ sidebar_label: Docker方式部署 ``` -4. 启动HertzBeat Docker容器 +4. 配置用户配置文件(非必须,配置账户需要) + HertzBeat默认内置三个用户账户,分别为 admin/admin tom/tom@123 lili/lili + 若需要新增删除修改账户或密码,可以通过配置 `sureness.yml` 实现,若无此需求可忽略此步骤 + 在主机目录下创建sureness.yml,eg:/opt/sureness.yml + 配置文件内容参考 项目仓库[/script/sureness.yml](https://gitee.com/dromara/hertzbeat/blob/master/script/sureness.yml) + 修改sureness.yml的如下部分参数:[注意⚠️sureness配置的其它默认参数需保留] + + ```yaml + # 用户账户信息 + # 下面有 admin tom lili 三个账户 + # eg: admin 拥有[role1,role2]角色,密码为admin + # eg: tom 拥有[role1,role2,role3],密码为tom@123 + # eg: lili 拥有[role1,role2],明文密码为lili, 加盐密码为1A676730B0C7F54654B0E09184448289 + account: + - appId: admin + credential: admin + role: [role1,role2] + - appId: tom + credential: tom@123 + role: [role1,role2,role3] + - appId: lili + # 注意 Digest认证不支持加盐加密的密码账户 + # 加盐加密的密码,通过 MD5(password+salt)计算 + # 此账户的原始密码为 lili + credential: 1A676730B0C7F54654B0E09184448289 + salt: 123 + role: [role1,role2] + ``` + +6. 启动HertzBeat Docker容器 ``` - $ docker run -d -p 1157:1157 -v /opt/application.yml:/opt/hertzbeat/config/application.yml --name hertzbeat tancloud/hertzbeat:latest + $ docker run -d -p 1157:1157 -v /opt/application.yml:/opt/hertzbeat/config/application.yml -v /opt/sureness.yml:/opt/hertzbeat/config/sureness.yml --name hertzbeat tancloud/hertzbeat:[版本tag] 526aa188da767ae94b244226a2b2eec2b5f17dd8eff592893d9ec0cd0f3a1ccd ``` 这条命令启动一个运行HertzBeat的Docker容器,并且将容器的1157端口映射到宿主机的1157端口上。若宿主机已有进程占用该端口,则需要修改主机映射端口。 - docker run -d : 通过Docker运行一个容器,使其在后台运行 - -p 1157:1157 : 映射容器端口到主机端口 - - -v /opt/application.yml:/opt/hertzbeat/config/application.yml : 挂载上一步修改的本地配置文件到容器中,即使用本地配置文件覆盖容器配置文件。我们需要修改此配置文件的MYSQL,TDengine配置信息来连接外部服务。 + - -v /opt/application.yml:/opt/hertzbeat/config/application.yml : 挂载上上一步修改的本地配置文件到容器中,即使用本地配置文件覆盖容器配置文件。我们需要修改此配置文件的MYSQL,TDengine配置信息来连接外部服务。 + - -v /opt/sureness.yml:/opt/hertzbeat/config/sureness.yml : (非必须)挂载上一步修改的账户配置文件到容器中,若无修改账户需求可删除此命令参数。 - --name hertzbeat : 命名容器名称 hertzbeat - - tancloud/hertzbeat:latest : 使用拉取的HertzBeat官方发布的应用镜像来启动容器 - -5. 开始探索HertzBeat - 浏览器访问 http://ip:1157/console 开始使用HertzBeat进行监控告警。默认账户密码 admin/admin + - tancloud/hertzbeat:[版本tag] : 使用拉取的HertzBeat官方发布的应用镜像来启动容器,TAG可查看[官方镜像仓库](https://hub.docker.com/r/tancloud/hertzbeat/tags) + +7. 开始探索HertzBeat + 浏览器访问 http://ip:1157/console 开始使用HertzBeat进行监控告警。 + +**HAVE FUN** + +### Docker部署常见问题 + +1. **MYSQL,TDENGINE和HertzBeat都Docker部署在同一主机上,HertzBeat使用localhost或127.0.0.1连接数据库失败** +此问题本质为Docker容器访问宿主机端口连接失败,由于docker默认网络模式为Bridge模式,其通过localhost访问不到宿主机。 +> 解决办法一:配置application.yml将数据库的连接地址由localhost修改为宿主机的对外IP +> 解决办法二:使用Host网络模式启动Docker,即使Docker容器和宿主机共享网络 `docker run -d --network host .....` + +2. **按照流程部署,访问 http://ip:1157/console 无界面** +请参考下面几点排查问题: +> 一:依赖服务MYSQL数据库,TDENGINE数据库是否已按照启动成功,对应hertzbeat数据库是否已创建,SQL脚本是否执行 +> 二:HertzBeat的配置文件 `application.yml` 里面的依赖服务IP账户密码等配置是否正确 +> 三:若都无问题可以 `docker logs hertzbeat` 查看容器日志是否有明显错误,提issue或交流群或社区反馈 -**HAVE FUN** diff --git a/home/docs/start/package-deploy.md b/home/docs/start/package-deploy.md index af59a28..f8d9590 100644 --- a/home/docs/start/package-deploy.md +++ b/home/docs/start/package-deploy.md @@ -25,7 +25,7 @@ sidebar_label: 安装包方式部署 ``` $ tar zxvf hertzbeat-[版本号].tar.gz ``` - 修改位于 hertzbeat/config/application.yml 的配置文件 + 修改位于 `hertzbeat/config/application.yml` 的配置文件 需要替换里面的MYSQL服务和TDengine服务参数,IP端口账户密码(若使用邮件告警,需替换里面的邮件服务器参数) 具体替换参数如下: ``` @@ -43,13 +43,47 @@ sidebar_label: 安装包方式部署 spring.mail.password ``` +4. 配置用户配置文件(非必须,配置账户需要) + HertzBeat默认内置三个用户账户,分别为 admin/admin tom/tom@123 lili/lili + 若需要新增删除修改账户或密码,可以通过修改位于 `hertzbeat/config/sureness.yml` 的配置文件实现,若无此需求可忽略此步骤 + 修改sureness.yml的如下部分参数:[注意⚠️sureness配置的其它默认参数需保留] -4. 部署启动 + ```yaml + # 用户账户信息 + # 下面有 admin tom lili 三个账户 + # eg: admin 拥有[role1,role2]角色,密码为admin + # eg: tom 拥有[role1,role2,role3],密码为tom@123 + # eg: lili 拥有[role1,role2],明文密码为lili, 加盐密码为1A676730B0C7F54654B0E09184448289 + account: + - appId: admin + credential: admin + role: [role1,role2] + - appId: tom + credential: tom@123 + role: [role1,role2,role3] + - appId: lili + # 注意 Digest认证不支持加盐加密的密码账户 + # 加盐加密的密码,通过 MD5(password+salt)计算 + # 此账户的原始密码为 lili + credential: 1A676730B0C7F54654B0E09184448289 + salt: 123 + role: [role1,role2] + ``` + +5. 部署启动 执行位于安装目录hertzbeat/bin/下的启动脚本 startup.sh ``` $ ./startup.sh ``` -5. 开始探索HertzBeat - 浏览器访问 http://ip:1157/console 开始使用HertzBeat进行监控告警。默认账户密码 admin/admin +6. 开始探索HertzBeat + 浏览器访问 http://ip:1157/console 开始使用HertzBeat进行监控告警。 **HAVE FUN** + +### 安装包部署常见问题 + +1. **按照流程部署,访问 http://ip:1157/console 无界面** + 请参考下面几点排查问题: +> 一:依赖服务MYSQL数据库,TDENGINE数据库是否已按照启动成功,对应hertzbeat数据库是否已创建,SQL脚本是否执行 +> 二:HertzBeat的配置文件 `hertzbeat/config/application.yml` 里面的依赖服务IP账户密码等配置是否正确 +> 三:若都无问题可以查看 `hertzbeat/logs/` 目录下面的运行日志是否有明显错误,提issue或交流群或社区反馈 diff --git a/home/docs/start/quickstart.md b/home/docs/start/quickstart.md index cd88a62..aba33ae 100644 --- a/home/docs/start/quickstart.md +++ b/home/docs/start/quickstart.md @@ -32,7 +32,7 @@ sidebar_label: 快速开始 > HertzBeat支持通过源码安装启动,Docker容器运行和安装包方式安装部署。 #### Docker方式快速安装 -`docker run -d -p 1157:1157 --name hertzbeat tancloud/hertzbeat:latest` +`docker run -d -p 1157:1157 -v /opt/application.yml:/opt/hertzbeat/config/application.yml --name hertzbeat tancloud/hertzbeat:[版本tag]` 详细步骤参考 [通过Docker方式安装HertzBeat](docker-deploy.md) diff --git a/manager/src/main/resources/sureness.yml b/manager/src/main/resources/sureness.yml index 96dde7b..019bdb8 100644 --- a/manager/src/main/resources/sureness.yml +++ b/manager/src/main/resources/sureness.yml @@ -29,10 +29,10 @@ excludedResource: - /v3/api-docs===get # 用户账户信息 -# 下面有 admin root tom三个账户 -# eg: admin 拥有[role1,role2]角色,明文密码为admin,加盐密码为0192023A7BBD73250516F069DF18B500 -# eg: root 拥有[role1],密码为明文23456 -# eg: tom 拥有[role3],密码为明文32113 +# 下面有 admin tom lili 三个账户 +# eg: admin 拥有[role1,role2]角色,密码为admin +# eg: tom 拥有[role1,role2,role3],密码为tom@123 +# eg: lili 拥有[role1,role2],明文密码为lili, 加盐密码为1A676730B0C7F54654B0E09184448289 account: - appId: admin credential: admin diff --git a/script/sureness.yml b/script/sureness.yml index 96dde7b..019bdb8 100644 --- a/script/sureness.yml +++ b/script/sureness.yml @@ -29,10 +29,10 @@ excludedResource: - /v3/api-docs===get # 用户账户信息 -# 下面有 admin root tom三个账户 -# eg: admin 拥有[role1,role2]角色,明文密码为admin,加盐密码为0192023A7BBD73250516F069DF18B500 -# eg: root 拥有[role1],密码为明文23456 -# eg: tom 拥有[role3],密码为明文32113 +# 下面有 admin tom lili 三个账户 +# eg: admin 拥有[role1,role2]角色,密码为admin +# eg: tom 拥有[role1,role2,role3],密码为tom@123 +# eg: lili 拥有[role1,role2],明文密码为lili, 加盐密码为1A676730B0C7F54654B0E09184448289 account: - appId: admin credential: admin