{"id":29571926,"url":"https://github.com/oceanbase/obagent","last_synced_at":"2025-07-19T04:36:38.449Z","repository":{"id":185028070,"uuid":"410858457","full_name":"oceanbase/obagent","owner":"oceanbase","description":"An agent client that provides operation and data collecting interface for OceanBase","archived":false,"fork":false,"pushed_at":"2024-08-16T02:38:34.000Z","size":15136,"stargazers_count":15,"open_issues_count":2,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-16T03:42:23.784Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mulanpsl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oceanbase.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-27T11:34:08.000Z","updated_at":"2024-08-16T03:42:23.784Z","dependencies_parsed_at":"2023-10-11T04:14:25.312Z","dependency_job_id":"8604dfcb-7cfb-4a86-9ee0-8891854bf668","html_url":"https://github.com/oceanbase/obagent","commit_stats":null,"previous_names":["oceanbase/obagent"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/oceanbase/obagent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oceanbase%2Fobagent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oceanbase%2Fobagent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oceanbase%2Fobagent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oceanbase%2Fobagent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oceanbase","download_url":"https://codeload.github.com/oceanbase/obagent/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oceanbase%2Fobagent/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265889162,"owners_count":23844539,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-19T04:36:37.702Z","updated_at":"2025-07-19T04:36:38.430Z","avatar_url":"https://github.com/oceanbase.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OB-Agent\nOB Agent 是 OCP Express 远程访问主机和 OBServer 的入口，提供两个主要能力：\n1. 运维主机和 OBServer；\n2. 收集主机、OBServer的监控。 \n此外，OB Agent 还承担 OB 日志查询和日志清理的职能。\n\n## 目录结构\n\n```\nobagent\n├── cmd：程序主入口\n│   ├── mgragent: 运维进程主入口，后台运行的进程，不期望被用户使用；目标产物名称为 ob_mgragent。\n│   ├── monagent: 监控进程主入口，后台运行进程，不期望被用户使用；目标产物名称为 ob_monagent。\n│   ├── agentd: 守护进程，后台运行的进程，负责拉起异常退出的ob_mgragent和ob_monagent进程；目标产物名称为ob_agentd。\n│   └── agentctl: 黑屏运维工具主入口，命令行运维工具，可通过该工具运维 ob_mgragent 和 ob_monagent 进程；目标产物名称为 ob_agentctl 。\n├── api：请求处理、认证\n│   ├── monroute：监控模块route和handlers\n│   ├── mgrroute：运维模块route和handlers\n│   ├── web：http server\n│   └── common：公共handlers和middleware\n├── agentd：守护进程agentd模块\n│   └── api：进程状态信息\n├── config: 配置文件解析，回调函数注册\n│   ├── monconfig：监控配置\n│   ├── mgrconfig：运维配置\n│   ├── agentctl：黑屏运维工具配置\n│   └── sdk：配置管理，回调函数注册\n├── executor：提供运维能力，命令执行能力，支持 shell 跨平台执行\n│   ├── agent：agent进程运维\n│   ├── cleaner：日志清理\n│   ├── log_query：日志查询\n│   └── ...\n├── lib：通用方法，比如加密、脱敏、重试、命令行执行等\n│   ├── command：命令执行，异步任务调度\n│   ├── process：进程启停\n│   ├── goroutinepool：任务池\n│   ├── log_analyzer：日志解析\n│   ├── retry：重试框架\n│   ├── shellf：命令模板配置解析，命令构建\n│   ├── shell：命令执行\n│   └── ...\n├── monitor：监控模块，包含插件定义、流水线引擎、监控数据结构等\n│   ├── engine：流水线引擎\n│   ├── plugins：流水线插件\n│   ├── message：监控数据结构\n│   └── utils：监控通用函数\n├── stat：自监控模块，obagent、moniotr 都会依赖此模块实现自监控\n├── log：日志框架\n├── errors：错误处理\n├── rpm：rpm打包逻辑\n├── tests：测试脚本、数据、配置\n├── etc：发布的配置文件，均为 yaml 类型\n│   ├── config_properties：key-value配置\n│   ├── module_config：流水线等配置文件\n│   ├── prometheus_config：prometheus拉取配置\n│   ├── scripts：开机自启动脚本\n│   └── shell_templates：命令模板\n└── docs：文档，包括 obagent 的 README 文档，以及各个子模块的说明文档\n```\n\n# 安装 OBAgent\n\n您可以使用 RPM 包或者构建源码安装 OBAgent。\n\n## 环境依赖\n\n构建 OBAgent 需要 Go 1.19 版本及以上。\n\n## RPM 包\n\nOBAgent 提供 RPM 包，您可以去 [Release 页面](https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/) 下载 RPM 包，然后使用以下命令安装：\n\n```bash\nrpm -ivh obagent-4.1.0-1.el7.x86_64.rpm\n```\n\n## 构建源码\n\n### Debug 模式\n\n```bash\nmake build // make build will be debug mode by default\nmake build-debug\n```\n\n### Release 模式\n\n```bash\nmake build-release\n```\n\n# License\nOBAgent 根据 Mulan 公共许可证版本 2 获得许可。有关详细信息，请参阅 [木兰宽松许可证, 第2版](LICENSE.txt) 。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foceanbase%2Fobagent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foceanbase%2Fobagent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foceanbase%2Fobagent/lists"}