diff --git a/README.md b/README.md index ece20361..61999f94 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ ## orion-ops 是什么 -`orion-ops` 一站式自动化运维及自动化部署平台, 无 Agent 的方式接入应用, 使用多环境的概念, 提供了机器管理、Web终端、WebSftp、机器批量执行、机器批量上传、在线查看日志、定时调度任务、应用环境维护、应用构建及发布任务、操作流水线等功能, 帮助企业实现一站式轻量化运维治理, -致力于企业级应用的智能运维。 +`orion-ops` 一站式自动化运维及自动化部署平台, 使用多环境的概念, 提供了机器管理、机器监控报警、Web终端、WebSftp、机器批量执行、机器批量上传、在线查看日志、定时调度任务、应用环境维护、应用构建及发布任务、操作流水线等功能, 帮助企业实现一站式轻量化运维治理, 致力于企业级应用的智能运维。

@@ -26,6 +25,7 @@
+当前最新版本: **1.2.0-beta** github: https://github.com/lijiahangmax/orion-ops gitee: https://gitee.com/lijiahangmax/orion-ops csdn: https://blog.csdn.net/qq_41011894 @@ -39,9 +39,10 @@ demo: http://101.43.254.243/ops/#/ ## 特性 -* 易用方便: 极简配置, 开箱即用, 无 Agent 接入 +* 易用方便: 极简配置, 开箱即用, 支持 docker 部署 * 在线终端: 支持在线 Web 终端, 记录操作日志, 管理员可强制下线, 录屏回放, 终端监视等 * 文件管理: 支持远程机器文件批量上传、批量下载、暂停断点续传、实时传输速率、实时进度、打包传输等功能 +* 机器监控: 支持维护机器的监控以及报警, 支持采集 agent 的一键安装以及升级 * 批量操作: 支持远程机器批量执行命令 以及 批量执行上传文件 * 调度任务: 维护 cron 表达式, 定时执行机器命令 * 环境隔离: 不同应用环境的配置及环境变量是相互隔离的 @@ -92,6 +93,12 @@ roadmap: https://lijiahangmax.gitee.io/orion-ops/#/about/roadmap ![在线文件管理](https://yxythpt.oss-cn-shenzhen.aliyuncs.com/2022-03-14/files6081069371629929397.png "在线文件管理") ![在线文件管理](https://yxythpt.oss-cn-shenzhen.aliyuncs.com/2022-03-14/files4411594441981208271.png "在线文件管理") +> 机器监控 + +![机器监控概要](https://oos-sdqd.ctyunapi.cn/album/2022/9/2/30401c36-add4-4f8c-955e-7721740b6646.png "机器监控概要") +![机器监控信息](https://oos-sdqd.ctyunapi.cn/album/2022/9/2/824a63d9-48ac-4c89-a9bf-8cc4f71fe608.png "机器监控信息") +![机器监控报警-钉钉](https://oos-sdqd.ctyunapi.cn/album/2022/9/2/a064eb5c-896b-496c-90d4-c9abc18ff39a.png "机器监控报警-钉钉") + > 批量执行 ![批量执行](https://yxythpt.oss-cn-shenzhen.aliyuncs.com/2022-04-25/files4899857856529374903.png "批量执行") diff --git a/docs/README.md b/docs/README.md index 15913818..f2cf9dbe 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,7 +1,6 @@ ## orion-ops 是什么 -`orion-ops` 一站式自动化运维及自动化部署平台, 无 Agent 的方式接入应用, 使用多环境的概念, 提供了机器管理、Web终端、WebSftp、机器批量执行、机器批量上传、在线查看日志、定时调度任务、应用环境维护、应用构建及发布任务、操作流水线等功能, 帮助企业实现一站式轻量化运维治理, -致力于企业级应用的智能运维。 +`orion-ops` 一站式自动化运维及自动化部署平台, 使用多环境的概念, 提供了机器管理、机器监控报警、Web终端、WebSftp、机器批量执行、机器批量上传、在线查看日志、定时调度任务、应用环境维护、应用构建及发布任务、操作流水线等功能, 帮助企业实现一站式轻量化运维治理, 致力于企业级应用的智能运维。

@@ -26,6 +25,7 @@
+当前最新版本: **1.2.0-beta** github: https://github.com/lijiahangmax/orion-ops gitee: https://gitee.com/lijiahangmax/orion-ops csdn: https://blog.csdn.net/qq_41011894 @@ -39,9 +39,10 @@ demo: http://101.43.254.243/ops/#/ ## 特性 -* 易用方便: 极简配置, 开箱即用, 无 Agent 接入 +* 易用方便: 极简配置, 开箱即用, 支持 docker 部署 * 在线终端: 支持在线 Web 终端, 记录操作日志, 管理员可强制下线, 录屏回放, 终端监视等 * 文件管理: 支持远程机器文件批量上传、批量下载、暂停断点续传、实时传输速率、实时进度、打包传输等功能 +* 机器监控: 支持维护机器的监控以及报警, 支持采集 agent 的一键安装以及升级 * 批量操作: 支持远程机器批量执行命令 以及 批量执行上传文件 * 调度任务: 维护 cron 表达式, 定时执行机器命令 * 环境隔离: 不同应用环境的配置及环境变量是相互隔离的 @@ -92,6 +93,12 @@ roadmap: https://lijiahangmax.gitee.io/orion-ops/#/about/roadmap ![在线文件管理](./assert/img/sftp_1.png "在线文件管理") ![在线文件管理](./assert/img/sftp_2.png "在线文件管理") +> 机器监控 + +![机器监控概要](./assert/img/machine_monitor_summary.png "机器监控概要") +![机器监控信息](./assert/img/machine_monitor_view.png "机器监控信息") +![机器监控报警-钉钉](./assert/img/machine_monitor_alarm_ding.png "机器监控报警-钉钉") + > 批量执行 ![批量执行](./assert/img/batch_exec.png "批量执行") diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 10fd232b..0d6a1bcd 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -16,6 +16,7 @@ * [应用管理](operator/app.md) * [构建发布](operator/build-release.md) * [用户管理](operator/user.md) + * [信息管理](operator/content.md) * [系统管理](operator/system.md) * 进阶指南 diff --git a/docs/about/change-log.md b/docs/about/change-log.md index 5cb81501..e0fd078f 100644 --- a/docs/about/change-log.md +++ b/docs/about/change-log.md @@ -1,3 +1,17 @@ +## 1.2.0-beta + +`2022-09-03` `preview` + +🌈 添加 机器监控功能 [agent仓库](/) [如何使用](/) +🌈 添加 机器报警配置功能 (目前仅支持钉钉机器人推送) +🌈 添加 webhook功能维护 (目前仅支持机器报警维护) +🌈 添加 报警组功能维护 +🔨 对后端代码结构进行升级, 后端包从 `orion-ops-service` 修改为 `orion-ops-api` +🐞 修复 下载宿主机文件会被错误删除的问题 **尽快升级** ❗ +🐞 修改部分样式 + +[如何升级](/about/update.md?id=_120-beta) + ## 1.1.5 `2022-07-31` `release` diff --git a/docs/about/code-structure.md b/docs/about/code-structure.md index aacf2882..7e2078a9 100644 --- a/docs/about/code-structure.md +++ b/docs/about/code-structure.md @@ -60,36 +60,83 @@ enum.js 中对象必须为蛇形命名法且都是大写字母 如: `BUILD_STATU ### 后端代码结构 ```code -java com.orion.ops - ├── annotation 自定义注解 - ├── config 配置包 - ├── constant 常量包 根据不同的业务划分不同的子包, 通常存放枚举以及常量 - ├── controller contorller 层 - ├── dao dao 层 - ├── entity - │ ├─ domain 数据库实体 其中的类需要与数据库字段一一对应 不允许多字段 - │ ├─ dto 业务实体 用于业务对象 如: redis 的 json 实体, 数据导入实体 - │ ├─ request 请求实体 用于前端请求参数 - │ └─ vo 展示实体 用于前端响应展示 - ├── handler 复杂业务逻辑包 如: 用于构建, 用于发布 - ├── interceptor 拦截器配置包 - ├── runner 系统启动 runner 配置, 如: 自动修改状态, 加载转换器, 清除 redis 无效 key - ├── service - │ ├─ api 应用服务接口定义 - │ └─ impl 业务服务接口实现 - ├── task - │ ├─ fixed 固定定时任务 如: 数据统计 - │ └─ impl 自定义定时任务 如: 调度任务, 定时发布 - └── utils 工具包 - -resources - ├── config 配置文件目录 - ├── mapper mybatis mapper 文件存放目录 - ├── menu 菜单 json 文件存放目录 - ├── static 静态文件存储目录 - └── templates - ├─ import 导入模板目录 - └─ push 推送模板目录 +orion-ops-common 公共模块 + └── java com.orion.ops + ├── annotation 自定义注解包 + ├── constant 常量包 根据不同的业务划分不同的子包, 通常存放枚举以及常量 + └── utils 通用工具包 + +orion-ops-dao dao 层模块 + ├── java com.orion.ops + │ ├── dao dao 层接口 + │ ├── entity + │ │ ├── domain 数据库实体 其中的类需要与数据库字段一一对应 不允许多字段 + │ │ ├── dto 复杂查询对象 查询返回 + │ │ └── query 复杂查询对象 查询入参 + │ └── utils dao 层工具包, 代码生成器, 数据查询器 + │ + └── resources + ├── config 配置文件目录 + └── mapper mybatis mapper 文件存放目录 + +orion-ops-export 导入导出模块 + ├── java com.orion.ops + │ ├── constant 导入导出常量包 + │ ├── entity + │ │ ├── exporter 导出对象解析实体包 + │ │ └── importer 导入对象解析实体包 + │ ├── service + │ │ ├── api 导入导出服务接口定义 + │ │ └── impl 导入导出服务接口实现 + │ └── validator 导入对象数据验证器 + │ + └── resources + └── templates + └── import 导入模板目录 + +orion-ops-mapping 数据映射模块 + └── java com.orion.ops + └── mapping 数据映射包 根据不同的业务划分不同的子包 + +orion-ops-model 实体对象模块 + └── java com.orion.ops + └── entity + ├── config 配置实体 用于业务中的配置对象 + ├── dto 业务实体 用于业务对象 如: redis 的 json 实体 + ├── request 请求实体 用于前端请求参数 + └── vo 展示实体 用于前端响应展示 + +orion-ops-runner 启动加载模块 + └── java com.orion.ops + └── runner 系统启动 runner 配置, 如: 自动修改状态, 加载转换器, 清除 redis 无效 key + +orion-ops-service 服务实现模块 + ├── java com.orion.ops + │ ├── config 服务配置包 + │ ├── handler 复杂业务逻辑包 如: 用于构建, 用于发布 + │ ├── interceptor 拦截器配置包 + │ ├── service + │ │ ├── api 应用服务接口定义 + │ │ └── impl 业务服务接口实现 + │ ├── task + │ │ ├── fixed 固定定时任务 如: 数据统计 + │ │ └── impl 自定义定时任务 如: 调度任务, 定时发布 + │ └── utils 业务工具类 + │ + └── resources + └── templates + ├── push 推送模板目录, 根据不同的类型拆分子包 + └── script 脚本模板目录 + +orion-ops-web restful api模块 + ├── java com.orion.ops + │ ├── config web 配置包 + │ ├── controller orion-ops-vue 接口包 + │ └── expose 对外暴露服务接口包 + │ + └── resources + ├── config 配置文件目录 + └── menu 菜单文件存放目录 ``` ### 后端代码规范 @@ -123,7 +170,11 @@ controller 禁止使用 map 传参 分页的请求对象必须继承 PageRequest 分页的响应类型必须为 DataGrid +每个表必须存在四个字段 id[bigint] deleted[tinyint] create_time[datetime(4)] update_time[datetime(4)] +DO 对象必须和数据库结构一一对应 +复杂查询必要时需要创建 Query 以及 DTO 对象 查询善用 DataQuery +CodeGenerator 为代码生成器 参数校验需要使用 utils.Valid 方法 抛出异常需要用到 Exceptions 方法, 不要 new @@ -135,8 +186,6 @@ DAO DTO DO VO 对象的定义 后缀必须为纯大写 代码必须要有注释 如果字段是一个枚举时 需要使用 @see 枚举 -CodeGenerator 为代码生成器 -可以不用写单元测试 禁止使用 @Autowire 注入 bean, 只能使用 @Resource 注入 @RestWrapper 为自定义注解, 自动返回 HttpWrapper diff --git a/docs/about/roadmap.md b/docs/about/roadmap.md index 10fae7f5..145f32ae 100644 --- a/docs/about/roadmap.md +++ b/docs/about/roadmap.md @@ -7,10 +7,12 @@ * 锁定用户 * 操作日志 * 登陆日志 +* 报警组维护 #### 机器模块 💻 * 环境变量配置 +* 机器监控 * 机器代理 * 秘钥管理 * web终端 @@ -28,10 +30,11 @@ * 调度任务自动恢复 * 调度任务统计 -#### 信息管理 📑 +#### 内容管理 📑 * 模板配置 * 日志管理 +* webhook维护 * 环境变量历史记录 #### 应用中心 🚀 @@ -68,18 +71,18 @@ ## 开发中 ⏱ -* 机器监控 (agent 端已完成) -* webhook维护 -* 报警维护 -* 报警组维护 -* 推送维护 +* 机器独立秘钥 +* 重构导出 +* 优化站内信 ## 未开始 ⏳ +* 增加更多推送方式(微信 飞书...) +* 应用监控 +* 机器跳板机 * 命令过滤功能 * 机器分组功能 * 环境资源配置功能 -* 批量安装监控 agent * webhook 触发构建发布流水线 * pipeline 相同仓库只用一次checkout * 命令执行添加 groovy 脚本支持选项 diff --git a/docs/about/update.md b/docs/about/update.md index 22e90c93..5aa75fc1 100644 --- a/docs/about/update.md +++ b/docs/about/update.md @@ -1,5 +1,111 @@ ⚡ 注意: 应用不支持跨版本升级, 可以进行多次升级 +## 1.2.0-beta + +> sql 脚本 + +```sql +CREATE TABLE `machine_monitor` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `machine_id` bigint DEFAULT NULL COMMENT '机器id', + `monitor_status` tinyint DEFAULT '1' COMMENT '监控状态 1未启动 2启动中 3运行中', + `monitor_url` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '请求 api url', + `access_token` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '请求 api accessToken', + `agent_version` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '插件版本', + `deleted` tinyint DEFAULT '1' COMMENT '是否删除 1未删除 2已删除', + `create_time` datetime(4) DEFAULT CURRENT_TIMESTAMP(4) COMMENT '创建时间', + `update_time` datetime(4) DEFAULT CURRENT_TIMESTAMP(4) ON UPDATE CURRENT_TIMESTAMP(4) COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='机器监控配置表'; + +CREATE TABLE `webhook_config` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `webhook_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '名称', + `webhook_url` varchar(2048) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 'url', + `webhook_type` int DEFAULT NULL COMMENT '类型 10: 钉钉机器人', + `webhook_config` varchar(2048) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '配置项 json', + `deleted` tinyint DEFAULT '1' COMMENT '是否删除 1未删除 2已删除', + `create_time` datetime(4) DEFAULT CURRENT_TIMESTAMP(4) COMMENT '创建时间', + `update_time` datetime(4) DEFAULT CURRENT_TIMESTAMP(4) ON UPDATE CURRENT_TIMESTAMP(4) COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='webhook 配置'; + +CREATE TABLE `alarm_group` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `group_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '报警组名称', + `group_description` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '报警组描述', + `deleted` tinyint DEFAULT '1' COMMENT '是否删除 1未删除 2已删除', + `create_time` datetime(4) DEFAULT CURRENT_TIMESTAMP(4) COMMENT '创建时间', + `update_time` datetime(4) DEFAULT CURRENT_TIMESTAMP(4) ON UPDATE CURRENT_TIMESTAMP(4) COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='报警组'; + +CREATE TABLE `alarm_group_user` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `group_id` bigint DEFAULT NULL COMMENT '报警组id', + `user_id` bigint DEFAULT NULL COMMENT '报警组成员id', + `username` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '报警组成员用户名', + `deleted` tinyint DEFAULT '1' COMMENT '是否删除 1未删除 2已删除', + `create_time` datetime(4) DEFAULT CURRENT_TIMESTAMP(4) COMMENT '创建时间', + `update_time` datetime(4) DEFAULT CURRENT_TIMESTAMP(4) ON UPDATE CURRENT_TIMESTAMP(4) COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE, + KEY `group_id_idx` (`group_id`,`user_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='报警组成员'; + +CREATE TABLE `alarm_group_notify` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `group_id` bigint DEFAULT NULL COMMENT '报警组id', + `notify_id` bigint DEFAULT NULL COMMENT '通知id', + `notify_type` int DEFAULT NULL COMMENT '通知类型 10 webhook', + `deleted` tinyint DEFAULT '1' COMMENT '是否删除 1未删除 2已删除', + `create_time` datetime(4) DEFAULT CURRENT_TIMESTAMP(4) COMMENT '创建时间', + `update_time` datetime(4) DEFAULT CURRENT_TIMESTAMP(4) ON UPDATE CURRENT_TIMESTAMP(4) COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE, + KEY `group_idx` (`group_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='报警组通知方式'; + +CREATE TABLE `machine_alarm_config` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `machine_id` bigint DEFAULT NULL COMMENT '机器id', + `alarm_type` int DEFAULT NULL COMMENT '报警类型 10: cpu使用率 20: 内存使用率', + `alarm_threshold` double DEFAULT NULL COMMENT '报警阈值', + `trigger_threshold` int DEFAULT NULL COMMENT '触发报警阈值 次', + `notify_silence` int DEFAULT NULL COMMENT '报警通知沉默时间 分', + `deleted` tinyint DEFAULT '1' COMMENT '是否删除 1未删除 2已删除', + `create_time` datetime(4) DEFAULT CURRENT_TIMESTAMP(4) COMMENT '创建时间', + `update_time` datetime(4) DEFAULT CURRENT_TIMESTAMP(4) ON UPDATE CURRENT_TIMESTAMP(4) COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE, + KEY `machine_idx` (`machine_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='机器报警配置'; + +CREATE TABLE `machine_alarm_group` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `machine_id` bigint DEFAULT NULL COMMENT '机器id', + `group_id` bigint DEFAULT NULL COMMENT ' 报警组id', + `deleted` tinyint DEFAULT '1' COMMENT '是否删除 1未删除 2已删除', + `create_time` datetime(4) DEFAULT CURRENT_TIMESTAMP(4) COMMENT '创建时间', + `update_time` datetime(4) DEFAULT CURRENT_TIMESTAMP(4) ON UPDATE CURRENT_TIMESTAMP(4) COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE, + KEY `config_idx` (`machine_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='机器报警通知组'; + +CREATE TABLE `machine_alarm_history` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `machine_id` bigint DEFAULT NULL COMMENT '机器id', + `alarm_type` int DEFAULT NULL COMMENT '报警类型 10: cpu使用率 20: 内存使用率', + `alarm_value` double DEFAULT NULL COMMENT '报警值', + `alarm_time` datetime(4) DEFAULT NULL COMMENT '报警时间', + `deleted` tinyint DEFAULT '1' COMMENT '是否删除 1未删除 2已删除', + `create_time` datetime(4) DEFAULT CURRENT_TIMESTAMP(4) COMMENT '创建时间', + `update_time` datetime(4) DEFAULT CURRENT_TIMESTAMP(4) ON UPDATE CURRENT_TIMESTAMP(4) COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE, + KEY `machine_idx` (`machine_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='机器报警历史'; + +ALTER TABLE `machine_terminal_log` +CHANGE COLUMN `operate_log_file` `screen_path` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '录屏文件路径' AFTER `close_code`; +``` + ## 1.1.4 > 应用发布配置 diff --git a/docs/advance/second-dev.md b/docs/advance/second-dev.md index 4223d34a..5dccab01 100644 --- a/docs/advance/second-dev.md +++ b/docs/advance/second-dev.md @@ -23,17 +23,17 @@ 2. 初始化数据库 ``` # 执行DDL脚本 - orion-ops/orion-ops-service/init-schema.sql + orion-ops/sql/init-schema.sql # 执行默认数据脚本 [默认用户, 默认应用环境, 常用命令模板] (可选) - orion-ops/orion-ops-service/init-data.sql + orion-ops/sql/init-data.sql ``` 3. 修改后端配置 ``` # 修改配置文件 - orion-ops/orion-ops-service/src/main/resources/application-dev.properties + orion-ops/orion-ops-api/orion-ops-web/src/main/resources/application-dev.properties # 修改全局加密秘钥, 为了密码安全考虑 (推荐修改) - orion-ops/orion-ops-service/src/main/resources/application.properties value.mix.secret.key + orion-ops/orion-ops-api/orion-ops-web/src/main/resources/application.properties value.mix.secret.key ``` 4. 修改前端配置 diff --git a/docs/assert/img/machine_monitor_alarm_ding.png b/docs/assert/img/machine_monitor_alarm_ding.png new file mode 100644 index 00000000..9235ca9a Binary files /dev/null and b/docs/assert/img/machine_monitor_alarm_ding.png differ diff --git a/docs/assert/img/machine_monitor_summary.png b/docs/assert/img/machine_monitor_summary.png new file mode 100644 index 00000000..eb735cc7 Binary files /dev/null and b/docs/assert/img/machine_monitor_summary.png differ diff --git a/docs/assert/img/machine_monitor_view.png b/docs/assert/img/machine_monitor_view.png new file mode 100644 index 00000000..9f7d09fd Binary files /dev/null and b/docs/assert/img/machine_monitor_view.png differ diff --git a/docs/docs-serve.cmd b/docs/docs-serve.cmd index ced9f402..6c3ad0a1 100644 --- a/docs/docs-serve.cmd +++ b/docs/docs-serve.cmd @@ -1,2 +1,2 @@ start "" "C:\Program Files\Google\Chrome\Application\chrome.exe" "http://localhost:3000/" -docsify serve A:\Work\idea_project\orion\orion-ops\docs +docsify serve ./ diff --git a/docs/how-use.md b/docs/how-use.md new file mode 100644 index 00000000..9ecb87f9 --- /dev/null +++ b/docs/how-use.md @@ -0,0 +1,10 @@ +### 如何使用 + +1. 安装 node +2. 安装 docsify-cli + ```npm i docsify-cli -g``` +3. 在 doc 目录执行命令 + ```docsify serve ./``` +4. 在浏览器访问 http://localhost:3000 +5. 官方文档 https://docsify.js.org/#/?id=docsify + diff --git a/docs/operator/content.md b/docs/operator/content.md new file mode 100644 index 00000000..10168ed6 --- /dev/null +++ b/docs/operator/content.md @@ -0,0 +1,7 @@ +### 模板管理 + +维护命令模板。 在 `批量执行` `调度任务` `应用配置` 可以直接选择使用。 + +### webhook 配置 + +维护 webhook url。在报警联系组设置中选择使用, 暂时仅支持维护钉钉机器人通知。 diff --git a/docs/operator/machine.md b/docs/operator/machine.md index bd75753c..77159639 100644 --- a/docs/operator/machine.md +++ b/docs/operator/machine.md @@ -6,6 +6,19 @@ ⚡ 按住 `Ctrl` 点击 `Terminal` 可以打开一个新页面, 否则将会打开一个模态框。 ⚡ 按住 `Ctrl` 点击 `sftp` 可以打开一个新页面, 否则将会在当前页面跳转。 +### 机器监控 + +配置已启动的机器监控, 具有可视化图形以及数据粒度和时间区间的选择 +统计的指标有 `CPU监控` `内存监控` `网络带宽监控` `硬盘使用监控` + +* 安装: 批量安装本页机器的监控插件 +* 升级: 批量升级本页机器的监控插件 +* 检测: 批量检测本页机器的监控状态 +* 监控: 进入机器监控页面 +* 插件配置: 配置监控插件的地址和请求头 +* 报警配置: 配置机器监控的报警类型以及报警联系组 +* 报警历史: 查看当前机器的报警历史 + ### 环境变量 配置机器环境变量, 这个环境变量并不会设置到远程机器内, 而是运行命令时动态替换命令内容。 diff --git a/docs/operator/system.md b/docs/operator/system.md index e91e4326..3627b404 100644 --- a/docs/operator/system.md +++ b/docs/operator/system.md @@ -1,7 +1,3 @@ -### 模板管理 - -维护命令模板。 在 `批量执行` `调度任务` `应用配置` 可以直接选择使用。 - ### 系统变量 配置以及维护系统环境变量。 diff --git a/docs/operator/user.md b/docs/operator/user.md index 5731feea..fa1ef91e 100644 --- a/docs/operator/user.md +++ b/docs/operator/user.md @@ -2,11 +2,19 @@ 系统用户列表。 -* 日志: 查看操作日志 +* 日志: 查看用户操作日志 * 解锁: 管理员按钮, 解锁已锁定的用户 * 禁用: 管理员按钮, 禁用用户使该用户无法登陆 +* 删除: 管理员按钮, 删除该用户, 同时删除关联关系 * 重置密码: 管理员按钮, 重置用户密码 +### 报警联系组 + +维护报警联系组, 配置后可在机器监控中设置报警通知组。 + +* 修改: 修改当前报警组信息 +* 删除: 删除当前报警组, 同时删除关联关系 + ### 个人信息 可以修改当前用户的基本信息、用户操作日志, 以及查询站内信。 diff --git a/docs/quickstart/docker-install.md b/docs/quickstart/docker-install.md index da97557d..ce853c28 100644 --- a/docs/quickstart/docker-install.md +++ b/docs/quickstart/docker-install.md @@ -19,9 +19,9 @@ 2. 构建后端代码 ``` # 修改全局加密秘钥, 为了密码安全考虑 (推荐修改) - orion-ops/orion-ops-service/src/main/resources/application.properties value.mix.secret.key + orion-ops/orion-ops-api/orion-ops-web/src/main/resources/application.properties value.mix.secret.key # 进入代码目录 - cd orion-ops/orion-ops-service + cd orion-ops/orion-ops-api # 编译 mvn -U clean install -DskipTests ``` diff --git a/docs/quickstart/faq.md b/docs/quickstart/faq.md index 22c17455..35ce7006 100644 --- a/docs/quickstart/faq.md +++ b/docs/quickstart/faq.md @@ -10,7 +10,7 @@ 重启后端服务 添加启动参数 `--reset-admin` 会将 `orionadmin` 的密码重置为 `orionadmin` ``` -nohup java -jar orion-ops-service-1.0.0.jar --spring.profiles.active=prod --reset-admin & +nohup java -jar orion-ops-web-1.2.0-beta.jar --spring.profiles.active=prod --reset-admin & ```
@@ -20,7 +20,7 @@ nohup java -jar orion-ops-service-1.0.0.jar --spring.profiles.active=prod --rese 重启后端服务 添加启动参数 `--disable-ip-filter` 会将禁用ip过滤器 ``` -nohup java -jar orion-ops-service-1.0.0.jar --spring.profiles.active=prod --disable-ip-filter & +nohup java -jar orion-ops-web-1.2.0-beta.jar --spring.profiles.active=prod --disable-ip-filter & ```
@@ -111,11 +111,14 @@ server { 同理, 在命令的最后一行设置 `exit 1` 结果将会是失败, 可以用此来中断后续流程
-> ##### 17. docker 运行 orion-ops-service 失败提示 `sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)` +> ##### 17. 添加机器全局密钥时提示添加失败 + +生成秘钥时可以指定密钥 -m PEM + +```shell +ssh-keygen -t rsa -m PEM +``` -`1.1.4` 版本之前可能会出现此问题, 之后换成了配置文件中的默认头像 -原因是用户创建时会生成默认的头像, 依赖于 `awt` 绘制 -启动时需要添加 `RUN apk add --update ttf-dejavu fontconfig`
> ##### 18. 应用发布中选择 SCP 作为传输方式, 为什么还需要手动输入密码? diff --git a/docs/quickstart/install.md b/docs/quickstart/install.md index b91c7770..528d8640 100644 --- a/docs/quickstart/install.md +++ b/docs/quickstart/install.md @@ -23,19 +23,19 @@ 2. 初始化数据库 ``` # 执行DDL脚本 - orion-ops/orion-ops-service/init-schema.sql + orion-ops/sql/init-schema.sql # 执行默认数据脚本 [默认用户, 默认应用环境, 常用命令模板] (可选) - orion-ops/orion-ops-service/init-data.sql + orion-ops/sql/init-data.sql ``` 3. 构建后端代码 ``` # 修改配置文件 (mysql, redis) - orion-ops/orion-ops-service/src/main/resources/application-prod.properties + orion-ops/orion-ops-api/orion-ops-web/src/main/resources/application-prod.properties # 修改全局加密秘钥, 为了密码安全考虑 (推荐修改) - orion-ops/orion-ops-service/src/main/resources/application.properties value.mix.secret.key + orion-ops/orion-ops-api/orion-ops-web/src/main/resources/application.properties value.mix.secret.key # 进入代码目录 - cd orion-ops/orion-ops-service + cd orion-ops/orion-ops-api # 编译 mvn -U clean install -DskipTests ``` @@ -106,9 +106,9 @@ server { ``` 复制 orion-ops/orion-ops-vue/dist/index.html 到 /usr/share/nginx/html 复制 orion-ops/orion-ops-vue/dist 到 /usr/share/nginx/html 并且重命名为 ops -复制 orion-ops/orion-ops-service/target/orion-ops-service-1.1.4.jar 到 /data/orion +复制 orion-ops/orion-ops-api/orion-ops-api/target/orion-ops-web-1.2.0-beta.jar 到 /data/orion # 启动后台服务 -nohup java -jar orion-ops-service-1.1.4.jar --spring.profiles.active=prod --generator-admin & +nohup java -jar orion-ops-web-1.2.0-beta.jar --spring.profiles.active=prod --generator-admin & # 启动 nginx service nginx start ```