An open API service indexing awesome lists of open source software.

https://github.com/jkstack/smartagent

SmartAgent
https://github.com/jkstack/smartagent

Last synced: 11 months ago
JSON representation

SmartAgent

Awesome Lists containing this project

README

          

# SmartAgent Agent

[![smartagent](https://github.com/jkstack/smartagent/actions/workflows/build.yml/badge.svg)](https://github.com/jkstack/smartagent/actions/workflows/build.yml)
[![go-mod](https://img.shields.io/github/go-mod/go-version/jkstack/smartagent)](https://github.com/jkstack/smartagent)
[![license](https://img.shields.io/github/license/jkstack/smartagent)](https://www.gnu.org/licenses/agpl-3.0.txt)
[![platform](https://img.shields.io/badge/platform-linux%20%7C%20windows-lightgrey.svg)](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 用户微信群