Linux MCP故障排除场景
此存储库包含要支持的Ansible剧本 rhel光速/linux mcp服务器.
这项工作的目的是创建可重复的损坏系统状态,可用于基准测试和比较不同的人工智能驱动的故障排除策略。
先决条件
- 安塞波 本地安装
- A. 红帽企业 Linux 具有SSH访问权限的虚拟机
- VM的快照功能(QEMU或类似设备)
安装Ansible
# macOS
brew install ansible
# Fedora/RHEL
sudo dnf install ansible
# Ubuntu/Debian
sudo apt install ansible设置
1.配置库存
复制清单模板并配置VM连接:
cp hosts.ini.example hosts.iniVM自动化(可选)
该项目可以与 mcp虚拟机脚本 自动创建虚拟机并运行场景剧本,用于在隔离环境中测试故障排除场景。
安装
按照以下说明安装mcp vm脚本: .
安装后,您可以创建一个VM并自动运行场景剧本:
./tools/mcpvm setup --playbook=
/scenarios/01_selinux_port_denial/scenario.yaml --version=此命令将创建一个新的RHEL VM,为其配置SSH访问权限,并运行指定的场景剧本以引入故障
用于管理虚拟机
# List all managed VMs
./tools/mcpvm list
# Delete a VM when done
./tools/mcpvm delete 有关详细的设置说明和VM管理命令,请参阅 mcp vm脚本文档.
场景
使用引入特定系统故障的Ansible标签触发场景。
| 场景 | 标签 | 命令 | 故障描述 |
|---|---|---|---|
| SELinux端口拒绝 | scenario1 | ansible-playbook -i hosts.ini scenarios/01_selinux_port_denial/scenario.yaml -K | Apache配置在端口8088上,被SELinux策略阻止 |
| SSH权限锁定 | scenario2 | ansible-playbook -i hosts.ini scenarios/02_ssh_permissions/scenario.yaml -K | .ssh 目录设置为 0777,阻止基于密钥的身份验证 |
| OOM杀戮 | scenario3 | ansible-playbook -i hosts.ini scenarios/03_systemd_oom_limit/scenario.yaml -K | chronyd 服务限制为1MB内存,触发OOM |
| 级联故障 | scenario4 | ansible-playbook -i hosts.ini scenarios/04_cascading_db_failure/scenario.yaml -K | MariaDB磁盘已满+日志目录所有权已损坏 |
与鹅一起跑步的场景
这 run_scenario.sh 该脚本使用Goose CLI助手自动执行故障排除场景。它根据量规处理场景选择和评估。
先决条件
- GEMINI_API_键 环境变量集
用法
./run_scenario.sh 这将:
- 使用特定场景的提示启动Goose会话
- 创建唯一的会话名称
- 可选地将聊天会话导出为JSON
- 可选择使用量规工具包根据场景的量规评估会话
使用评估工具包进行评估
该项目与 量规套件 创建用于评估mcp服务器性能的评估量规。评估工具包提供了对人工智能代理如何处理这些故障场景的评估。
安装
pip install rubric-kit有关详细的安装和设置说明,请参阅 量规套件文档 或 .
用法
从聊天会话生成评估标准
rubric-kit generate --from-chat-session scenarios/01_selinux_port_denial/ \
--output-file scenarios/01_selinux_port_denial/rubric.yaml \
--model 根据评估标准评估聊天会话
rubric-kit evaluate --from-chat-session \
--rubric-file scenarios/01_selinux_port_denial/rubric.yaml \
--output-file results.yaml将结果导出为PDF
rubric-kit export results.yaml --format pdf --output report.pdf有关量规结构、评判小组和评估选项的更多信息,请参阅 量规工具包存储库.
