最近一直在探索和研究智能运维平台的可落地方案,说实话难度很大,因为很多细节在当前的技术背景下落地难度还是有点大。我们不妨曲线救国,与其做平台要考虑各种复杂场景,不如先实现和落地某一项功能模块。所以,当前我研究的方向为自动化运维智能体!
以下是一个Coze+jumpserver设计方案,细节上还有待考究,发出来给大家提供一些思路。
一、架构图

二、实现步骤
1、Coze智能体配置
-
在Coze平台创建新智能体,命名为“运维助手”。 -
设置系统提示词(Prompt):
你是一个运维智能助手,负责通过JumpServer管理服务器资产。用户可用自然语言指令要求执行操作(如登录服务器、执行命令、查看日志等)。你需要:1. 解析用户意图,提取关键参数(服务器IP、命令、用户名等)。2. 调用JumpServer API执行操作。3. 返回结果并记录审计日志。严禁执行高危操作(如rm -rf /),需二次确认。
2、开发Coze插件(调用JumpServer API)
1)插件功能:
-
认证管理:通过JumpServer的API Key/Secret获取Token。 -
资产操作:查询资产列表、执行命令、上传文件等。 -
会话管理:创建/终止会话、查看实时日志。
2)插件开发示例(Python):
from coze import Plugin, actionimport requestsclass JumpServerPlugin(Plugin):def __init__(self):self.base_url = "https://jumpserver.example.com/api/v1"self.token = self._get_token()def _get_token(self):# 获取JumpServer API Tokenauth_data = {"username": "api_user","password": "API_SECRET"}response = requests.post(f"{self.base_url}/authentication/token/", json=auth_data)return response.json()["token"]@actiondef execute_command(self, asset_id: str, command: str):"""在指定资产上执行命令"""headers = {"Authorization": f"Bearer {self.token}"}data = {"asset": asset_id, "command": command}response = requests.post(f"{self.base_url}/terminals/commands/",headers=headers,json=data)return response.json()@actiondef list_assets(self):"""查询可访问的资产列表"""headers = {"Authorization": f"Bearer {self.token}"}response = requests.get(f"{self.base_url}/assets/assets/", headers=headers)return response.json()
3、JumpServer配置
-
创建专用API用户(如 coze_bot),分配最小必要权限(仅允许操作指定资产)。 -
启用API访问并记录 Access Key和Secret Key。
-
启用双因素认证(2FA)。 -
配置命令过滤规则(禁止高危命令如 rm -rf、shutdown)。 -
开启操作审计日志,记录所有API调用。
4、Coze与JumpServer集成

5、高级功能扩展
@actiondef handle_alert(self, alert_id: str): log_data = self.fetch_logs(alert_id) # 获取告警日志 if "disk full" in log_data: return self.execute_command("server-01", "df -h && rm /tmp/*.log")
-
用户输入:“部署Nginx到Web服务器组” -
智能体分解任务: -
查询Web服务器组资产列表。 -
逐台执行 yum install nginx -y -
启动服务并验证状态。
三、使用场景示例
|
用户指令 |
智能体操作 |
|---|---|
|
“查看所有Web服务器IP” |
调用 |
|
“在192.168.1.10上重启Nginx” |
调用 |
|
“上传文件到数据库服务器” |
调用JumpServer文件上传API,将本地文件传输到目标服务器。 |
|
“检查服务器磁盘使用率” |
执行 |
四、技术栈推荐
|
组件 |
工具/技术 |
|---|---|
|
AI智能体 |
Coze(支持插件、工作流) |
|
堡垒机 |
JumpServer(开源、API完善) |
|
插件开发 |
Python + Flask/FastAPI |
|
认证 |
JumpServer API Key + OAuth2 |
|
日志分析 |
ELK Stack(可选) |
登录查看剩余 70% 内容