# ops-admin **Repository Path**: yagerya/ops-admin ## Basic Information - **Project Name**: ops-admin - **Description**: 基于过往运维工具和运维需求开发的ops后端 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2023-02-16 - **Last Updated**: 2023-02-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ops-admin ## 介绍 用以集成已有运维工具和各类实时监控和跳转的功能;这个设计的理念就是,只关注当下;因为历史的监控数据已经有另外的项目在负责,我们只需要关注当下,以及对服务的管理; ## 功能划分 这里是实际的业务功能模块的划分,可能还会有变动: ```bash ops-admin |-- 首页 # 进行主要事件的展示 |-- 集群管理 # 管理集群信息,下面的所有内容都应该包含在集群下 |-- 监控工具 # 包含各种监控相关的工具的管理 | |-- Prometheus # Prometheus的管理 |-- 运维工具 # 包含各类已发布的运维工具的使用 | |-- 工具库 # 用于二进制工具的发布、管理 | |-- 脚本库 # 用于脚本的管理 | |-- 运维编排 # 编排需要的运维任务,比如定时运行某个工具 |-- 任务看板 # 包含任务相关的内容 | |-- 失败任务 # 展示各集群Yarn任务失败的情况 | |-- 任务元数据 # 任务元数据信息的查看导入等 |-- 数据底座 # 包含大数据底座的相关内容 | |-- 概览页 # 统计信息展示 | |-- Ambari # 对多Ambari进行总览 | |-- HDFS # 对多HDFS集群进行总览 | |-- YARN # 对多Yarn集群进行总览 |-- 资产管理 # 管理资产 | |-- 主机资产 # 管理主机信息 | |-- 配置资产 # 管理配置信息 ``` ## 目录结构 项目的目录规划如下: ```bash ops-admin |-- api # api |-- config # 配置结构 |-- global # 全局变量声明 |-- initialize # 初始化内容 |-- middleware # 中间件 |-- model # 数据模型 | |-- request # 请求相关的结构体 | |-- response # 响应相关的结构体 |-- router # 路由树结构 |-- service # 数据库操作方法 ``` ### api api目录下,存放暴露到外部的api代码 ### model model目录下,请求json的结构在request下定义,响应json的结构在response下定义。 ## 设计思路 ### 关于通用脚本 对于脚本的运行,提供一套规范,所有提交的脚本,应该符合规范的模板,并且入参等需要符合设计的模板才能够正常调度运行,脚本运行至少要返回一个状态码,同时会获取返回的结果,进行打印; 接口调用时,提交必要信息:脚本名称,类型(python还是shell),命令行参数,flag参数, ### 关于任务看板 任务不关注调度平台的任务模型,因为调度平台的任务模型层次不齐,这里应该只针对Yarn,后续或许会对接海豚调度的模型,尝试进行功能的拓展