diff --git a/README.en.md b/README.en.md index 11ae681c250976a5522994312f753a3ccb694531..a91de965e60d8da95a5983b473a7821c7bb62ffe 100644 --- a/README.en.md +++ b/README.en.md @@ -1,22 +1,124 @@ # PilotGo -#### Description -PilotGo is a plugable operation platform written in go. +#### Introduction -#### Software Architecture -Software architecture description +PilotGo is an operations and maintenance (O\&M) management platform natively incubated by the openEuler community. It adopts a plugin-based architecture with modular, lightweight, and independently evolving functional components, while ensuring the stability of core features. Plugins enhance the platform's capabilities and break down barriers between different O\&M components, achieving global state awareness and automated workflows. -#### Installation +#### Feature Overview -1. xxxx -2. xxxx -3. xxxx +The core modules of PilotGo include: -#### Instructions +* User Management: Supports group management based on organizational structure and importing existing platform accounts for easy migration. -1. xxxx -2. xxxx -3. xxxx +* Access Control: Role-Based Access Control (RBAC) for flexible and reliable permission management. + +* Host Management: Visualized host state, direct management of software packages, services, and kernel parameters. Simple and user-friendly. + +* Batch Execution: Enables concurrent execution of O\&M tasks, ensuring stability and efficiency. + +* Audit Logging: Tracks user and plugin operations, facilitating issue tracing and security auditing. + +* Alert Management: Real-time awareness of platform abnormalities. + +* Plugin System: Extends platform functionalities. Plugins can interact with each other, boosting automation and reducing manual effort. + +![Alt text](./images/functional%20modules.png) + + +Integrated Plugins in the Current OS Release + +* **Prometheus Plugin**: Hosts the Prometheus monitoring component, automates the deployment and configuration of `node-exporter` for data collection, and integrates with the platform’s alerting system. + ![Alt text](./images/prometheus%20plugin.png) + +* **Grafana Plugin**: Integrates Grafana visualization, offering a beautiful and user-friendly metrics dashboard. + ![Alt text](./images/grafana%20plugin.png) + +#### Application Scenarios + +PilotGo is ideal for managing large-scale server clusters. It provides basic management and monitoring functionalities for mass server clusters. By integrating business-specific plugins, PilotGo also enables unified platform management for business clusters such as MySQL databases, Redis caches, and Nginx gateways. + +#### Installation and Startup Guide + +PilotGo supports both **standalone** and **clustered** deployment. Be sure to **disable the firewall** before installation. + +1. **Install MySQL and Redis**, and configure their passwords. + +2. **Install PilotGo Server** and modify the configuration file: + + ```bash + dnf install -y PilotGo-server + vim /opt/PilotGo/server/config_server.yaml + ``` + + **http_server**: addr is the address where PilotGo-server is installed; + + **socket_server**: addr is the address where PilotGo-server is installed; + + **mysql**: host_name is the address where MySQL is installed; user_name is the database login user; password is the database access password; + + **redis**: redis_conn is the address where the Redis service is installed; redis_pwd is the Redis password; + + **storage**: path is the storage path for the file service. + + For the first local startup, please fill in the MySQL password, Redis password, and file service storage path. + + **Start the service**: + + ```bash + systemctl start PilotGo-server + ``` + **Stop the service**: + + ```bash + systemctl stop PilotGo-server + ``` + **Check service status**: + + ```bash + systemctl status PilotGo-server + ``` + +3. **Install PilotGo Agent**: + + ```bash + dnf install -y PilotGo-agent + vim /opt/PilotGo/agent/config_agent.yaml + ``` + + `server.addr`: Address of the installed PilotGo-server. + + **Start the agent**: + + ```bash + systemctl start PilotGo-agent + ``` + + **Stop the agent**: + + ```bash + systemctl stop PilotGo-agent + ``` + + **Check agent status**: + + ```bash + systemctl status PilotGo-agent + ``` + +4. **Plugin Installation**: + + * [PilotGo-plugin-grafana Installation](https://gitee.com/src-openeuler/PilotGo-plugin-grafana) + * [PilotGo-plugin-prometheus Installation](https://gitee.com/src-openeuler/PilotGo-plugin-prometheus) + * [PilotGo-plugin-a-tune Installation](https://gitee.com/openeuler/PilotGo-plugin-a-tune) + * [PilotGo-plugin-topology Installation](https://gitee.com/openeuler/PilotGo-plugin-topology) + + +#### Additional Links + +1. [PilotGo User Manual](https://gitee.com/openeuler/docs/tree/master/docs/zh/docs/PilotGo/使用手册.md) +2. [PilotGo Software Repository](https://gitee.com/src-openeuler/PilotGo) +3. PilotGo Community Developer WeChat Group +![Alt text](./images/PilotGo社区开发群.jpg) #### Contribution diff --git a/README.md b/README.md index 10112b53d77da64135cd0ff68f73c5e6b97e9ffb..c0767efbfa45af2a4e119f45d68036d5f987c33f 100644 --- a/README.md +++ b/README.md @@ -1,58 +1,119 @@ # PilotGo #### 介绍 -PilotGo is a plugable operation platform written in go. -#### 使用说明 -请在使用之前关闭防火墙,PilotGo各组件可以集群部署也可单机部署,采用部署需要在各组件中配置相应服务的真实ip地址。 +PilotGo 是 openEuler 社区原生孵化的运维管理平台,采用插件式架构设计,功能模块轻量化组合、独立迭代演进,同时保证核心功能稳定;同时使用插件来增强平台功能、并打通不同运维组件之间的壁垒,实现了全局的状态感知及自动化流程。 -#### 安装教程 +#### 功能描述 -1. 安装mysql、redis,并设置密码; -2. 安装PilotGo-server,并修改配置文件: - >dnf install -y PilotGo-server +PilotGo 核心功能模块包括: - >vim /opt/PilotGo/server/config_server.yaml +* 用户管理:支持按照组织结构分组管理,支持导入已有平台账号,迁移方便; - http_server:addr为安装PilotGo-server地址; +* 权限管理:支持基于RBAC的权限管理,灵活可靠; + +* 主机管理:状态前端可视化、直接执行软件包管理、服务管理、内核参数调优、简单易操作; + +* 批次管理:支持运维操作并发执行,稳定高效; - socket_server:addr为安装PilotGo-server地址; +* 日志审计:跟踪记录用户及插件的变更操作,方便问题回溯及安全审计; - mysql:host_name为安装mysql地址;user_name为DB的登录用户;password为DB访问密码; +* 告警管理:平台异常实时感知; - redis:redis_conn为安装redis服务地址;redis_pwd为redis密码; +* 插件功能:支持扩展平台功能,插件联动,自动化能力倍增,减少人工干预。 - 启动服务 - >systemctl start PilotGo-server +![Alt text](./images/functional%20modules.png) - 停止服务 - >ystemctl stop PilotGo-server - 服务状态 - >systemctl status PilotGo-server -3. 安装PilotGo-agent: - >dnf install -y PilotGo-agent - - >vim /opt/PilotGo/agent/config_agent.yaml - - server:addr为安装PilotGo-server地址; +当前OS发布版本还集成了以下插件: + +* Prometheus:托管Prometheus监控组件,自动化下发及配置node-exporter监控数据采集,对接平台告警功能;![Alt text](./images/prometheus%20plugin.png) + +* Grafana:集成Grafana可视化平台,提供美观易用的指标监控面板功能。 +![Alt text](./images/grafana%20plugin.png) + +#### 应用场景 + +PilotGo可用于典型的服务器集群管理场景,支持大批量的服务器集群基本管理及监控;通过集成对应的业务功能插件,还可实现业务集群的统一平台管理,例如Mysql数据库集群、redis数据缓存集群、nginx网关集群等。 + +#### 安装、启动教程 + +PilotGo可以单机部署也可以采用集群式部署。安装之前先关闭防火墙。 +1. **安装mysql、redis**,并设置密码; + +2. **安装PilotGo-server**,并修改配置文件: + + ```bash + dnf install -y PilotGo-server + vim /opt/PilotGo/server/config_server.yaml + ``` + + http_server:addr为安装PilotGo-server地址; + + socket_server:addr为安装PilotGo-server地址; + + mysql:host_name为安装mysql地址;user_name为DB的登录用户;password为DB访问密码; + + redis:redis_conn为安装redis服务地址;redis_pwd为redis密码; + + storage:path为文件服务存储路径 + + 本地第一次启动请填入mysql密码,redis密码和文件服务存储路径 + + **启动服务**: + + ```bash + systemctl start PilotGo-server + ``` + **停止服务**: + + ```bash + systemctl stop PilotGo-server + ``` + **服务状态**: + + ```bash + systemctl status PilotGo-server + ``` +3. **安装PilotGo-agent**: + + ```bash + dnf install -y PilotGo-agent + vim /opt/PilotGo/agent/config_agent.yaml + ``` + + **server**:addr为安装PilotGo-server地址; - 启动服务 - >systemctl start PilotGo-agent + **启动服务** + + ```bash + systemctl start PilotGo-agent + ``` + + **停止服务** + + ```bash + systemctl stop PilotGo-agent + ``` + + **服务状态** - 停止服务 - >systemctl stop PilotGo-agent + ```bash + systemctl status PilotGo-agent + ``` - 服务状态 - >systemctl status PilotGo-agent -4. 插件安装: - [PilotGo-plugin-grafana插件安装](https://gitee.com/src-openeuler/PilotGo-plugin-grafana) - [PilotGo-plugin-prometheus插件安装](https://gitee.com/src-openeuler/PilotGo-plugin-prometheus) +4. **插件安装**: + * [PilotGo-plugin-grafana插件安装](https://gitee.com/src-openeuler/PilotGo-plugin-grafana) + * [PilotGo-plugin-prometheus插件安装](https://gitee.com/src-openeuler/PilotGo-plugin-prometheus) + * [PilotGo-plugin-a-tune插件安装](https://gitee.com/openeuler/PilotGo-plugin-a-tune) + * [PilotGo-plugin-topology插件安装](https://gitee.com/openeuler/PilotGo-plugin-topology) -#### 补充连接 +#### 补充链接 1. [PilotGo使用手册](https://gitee.com/openeuler/docs/tree/master/docs/zh/docs/PilotGo/使用手册.md) -2. PilotGo[代码仓](https://gitee.com/openeuler/PilotGo) +2. PilotGo[软件包仓](https://gitee.com/src-openeuler/PilotGo) +3. PliotGo社区开发微信群 +![Alt text](./images/PilotGo社区开发群.jpg) #### 参与贡献 diff --git "a/images/PilotGo\347\244\276\345\214\272\345\274\200\345\217\221\347\276\244.jpg" "b/images/PilotGo\347\244\276\345\214\272\345\274\200\345\217\221\347\276\244.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..238a0e0f7f10a289347ca634f622d9de4aa0b1eb Binary files /dev/null and "b/images/PilotGo\347\244\276\345\214\272\345\274\200\345\217\221\347\276\244.jpg" differ diff --git a/images/functional modules.png b/images/functional modules.png new file mode 100644 index 0000000000000000000000000000000000000000..86782bfc46f42a051b56f457cd46fad60cad3332 Binary files /dev/null and b/images/functional modules.png differ diff --git a/images/grafana plugin.png b/images/grafana plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..1e2ed031ac525d8a69c98c9f143b3edece72be77 Binary files /dev/null and b/images/grafana plugin.png differ diff --git a/images/prometheus plugin.png b/images/prometheus plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..a85aad4547a6dc8b6d55d50524c69c92668e54a6 Binary files /dev/null and b/images/prometheus plugin.png differ