https://github.com/jkstack/smartagent
SmartAgent
https://github.com/jkstack/smartagent
Last synced: 11 months ago
JSON representation
SmartAgent
- Host: GitHub
- URL: https://github.com/jkstack/smartagent
- Owner: jkstack
- License: agpl-3.0
- Created: 2022-04-28T06:34:28.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2023-08-24T07:34:11.000Z (over 2 years ago)
- Last Synced: 2025-04-05T06:05:54.443Z (12 months ago)
- Language: Go
- Homepage: http://open.jkstack.com
- Size: 360 KB
- Stars: 28
- Watchers: 3
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# SmartAgent Agent
[](https://github.com/jkstack/smartagent/actions/workflows/build.yml)
[](https://github.com/jkstack/smartagent)
[](https://www.gnu.org/licenses/agpl-3.0.txt)
[](https://github.com/jkstack/smartagent)
SmartAgent 采用C/S架构的模型来运行,两者之间采用ws协议保障在企业级网络策略中通信能力。为提高可扩展性,在Agent端使用多进程的方式运行多种插件,来提供业务方的扩展能力。
### 服务端
Server为SmartAgent的控制端,负责控制所有主机极其运行插件。
### 客户端
Agent为SmartAgent的受控端,目前通过插件的方式已支持:远程命令(脚本)执行、获取主机文件列表、文件上传下载、远程命令行等。Agent端支持对执行插件的CPU和内存限制,以此来保障Agent端不会因为自生原因而影响宿主机上的其他服务。
规划中插件能力:
- Docker插件
- 自动化机器人(RPA)插件
## 产品特色
### 安全性
SmartAgent服务端在接受新的链接后会等待客户端的握手消息,其中包含客户端所在主机的操作系统、CPU、内存、主机名等基础信息。若服务端在5秒内无法收到客户端的握手消息或者握手消息格式有误时,服务端将会主动断开链接。
### 插件化
为丰富SmartAgent自身功能,SmartAgent提供了插件化的能力。在服务器端接收到客户端的握手消息并确认无误后,将会根据客户端的操作系统分发对应操作系统的可执行插件。
### 跨平台
SmartAgent主程序采用go语言进行开发,应此兼容市面上大部分操作系统,如centos、redhat、debian、ubuntu、suse、solaris、xp、win2003、win2008、2012、2016、2019等,go语言本身要求linux内核版本号不低于2.6.23,理论上SmartAgent支持该内核版本以上的所有linux操作系统,包括嵌入式Arm、MIPS平台等。
### Restful接口
Server端提供了完整的API接口获取Agent列表、主机信息、任务执行等操作,可以将SmartAgent作为底层通信组件便于集成到上层分布式业务系统中。
SmartAgent Client
https://github.com/jkstack/SmartAgent
SmartAgent Server
https://github.com/jkstack/SmartAgent-server
SmartAgent 开源站点
http://open.jkstack.com
SmartAgent 用户微信群
