MCP Ambari API-Apache Hadoop集群管理自动化
🚀 使用AI/LLM自动化Apache Ambari操作:通过模型上下文协议(MCP)工具对Hadoop集群管理、服务监控、配置检查和精确的Ambari Metrics查询进行会话控制。
______________________________________________________________________



______________________________________________________________________
建筑与内部(DeepWiki)

______________________________________________________________________
📋 概述
MCP Ambari API 是一个功能强大的模型上下文协议(MCP)服务器,通过自然语言命令实现无缝的Apache Ambari集群管理。专为使用Hadoop生态系统的DevOps工程师、数据工程师和系统管理员而设计。
特性
- ✅ 互动安巴里运营中心 –为通过自然语言而不是控制台或UI界面查询和管理服务提供基于MCP的基础。
- ✅ 实时集群可见性 –在单个界面中全面查看关键指标,包括服务状态、主机详细信息、警报历史记录和正在进行的请求。
- ✅ 度量情报管道 –动态发现和过滤AMS appId和指标名称,直接连接到时间序列分析工作流。
- ✅ 自动化操作工作流 –将重复的启动/停止操作、配置检查、用户查询和请求跟踪整合到一致的场景中。
- ✅ 内置运营报告 –通过LLM或CLI界面即时提供dfsadmin风格的HDFS报告、服务摘要和容量指标。
- ✅ 安全防护装置和护栏 –在大规模操作之前需要用户确认,并通过提示模板为有风险的命令提供明确的指导。
- ✅ LLM集成优化 –包括自然语言示例、参数映射和使用指南,以确保稳定的AI代理操作。
- ✅ 灵活的部署模型 –支持stdio/streamable http传输、Docker Compose和令牌身份验证,以便在开发和生产环境中部署。
- ✅ 面向性能的缓存体系结构 内置的AMS元数据缓存和请求日志确保即使在大规模集群中也能快速响应。
- ✅ 可扩展代码架构 异步HTTP、结构化日志记录和模块化工具层使添加新功能变得容易。
- ✅ 生产验证 –基于在测试Ambari集群中验证的工具,可立即在生产环境中使用。
- ✅ 多样化的部署渠道 –可通过PyPI包、Docker镜像和其他首选部署方法使用。
气流REST-API文件
话题
apache-ambari hadoop-cluster mcp-server cluster-automation devops-tools big-data infrastructure-management ai-automation llm-tools python-mcp
______________________________________________________________________
示例查询-群集信息/状态
转到更多示例查询
______________________________________________________________________
Example: Querying Ambari Cluster(1)
______________________________________________________________________
Example: Querying Ambari Cluster(2)
______________________________________________________________________
🚀 Docker快速入门指南
注: 以下说明假设您正在使用 streamable-http MCP服务器的模式。快速入门/教程流程图
Flow Diagram of Quickstart/Tutorial
1.准备安巴里集群(测试目标)
要设置Ambari演示集群,请按照以下指南操作:
2.运行Docker Compose
启动 MCP-Server, MCPO(OpenAPI的MCP代理),以及 OpenWebUI.
- 确保您的系统上安装了Docker和Docker Compose。
- 克隆此存储库并导航到其根目录。
- 设置环境配置:
# Copy environment template and configure your settings
cp .env.example .env
# Edit .env with your Ambari cluster information- 在中配置您的Ambari连接
.env文件:
# Ambari cluster connection
AMBARI_HOST=host.docker.internal
AMBARI_PORT=7070
AMBARI_USER=admin
AMBARI_PASS=admin
AMBARI_CLUSTER_NAME=TEST-AMBARI
# Ambari Metrics (AMS) collector
AMBARI_METRICS_HOST=host.docker.internal
AMBARI_METRICS_PORT=16188
AMBARI_METRICS_PROTOCOL=http
AMBARI_METRICS_TIMEOUT=15
# (Optional) Enable authentication for streamable-http mode
# Recommended for production environments
REMOTE_AUTH_ENABLE=false
REMOTE_SECRET_KEY=your-secure-secret-key-here- 运行:
docker-compose up -d- OpenWebUI将在以下网址提供:
http://localhost:${DOCKER_EXTERNAL_PORT_OPENWEBUI}(默认值:3001) - MCPO代理可在以下网址访问:
http://localhost:${DOCKER_EXTERNAL_PORT_MCPO_PROXY}(默认值:8001) - MCPO API文件:
http://localhost:${DOCKER_EXTERNAL_PORT_MCPO_PROXY}/mcp-ambari-api/docs
3.在OpenWebUI中注册该工具
📌 备注:Web UI配置说明基于OpenWebUI v0.6.22。菜单位置和设置在较新版本中可能有所不同。
- 使用管理员帐户登录OpenWebUI
- 转到“设置”→ 顶部菜单中的“工具”。
- 输入
mcp-ambari-api工具地址(例如。,http://localhost:8000/mcp-ambari-api)将MCP Tools与您的Ambari集群连接。
4.更多示例:使用MCP工具查询Ambari集群
下面是一个示例屏幕截图,显示了如何在OpenWebUI中使用MCP工具查询Ambari集群:
示例查询-群集配置审查和建议
Example: Querying Ambari Cluster(2)
示例查询-重新启动HDFS服务
Example: Querying Ambari Cluster(3) Example: Querying Ambari Cluster(3)
______________________________________________________________________
📈 指标和趋势
- 术语快速参考
- 应用ID:Ambari Metrics Service将每个度量分组到应用标识符下(例如。, namenode, datanode, ambari_server, HOST).将其视为发出该时间序列的组件或服务。 - 度量名称:Ambari为每个时间序列使用的完全限定字符串(例如。, jvm.JvmMetrics.MemHeapUsedM, dfs.datanode.BytesWritten).查询AMS时需要精确的名称。
list_common_metrics_catalog:对实时元数据支持的度量目录(本地缓存)进行关键字搜索。使用search="heap"或者类似于在运行时间序列查询之前的狭义建议。\
_示例_:“显示NameNode appId可用的堆相关指标。”
list_ambari_metric_apps:已发现AMS列表appId值,可选地包括度量计数;通过refresh=true或limit以控制输出。\
_示例_:“列出AMS当前公开的每个appId。”
- The natural-language query“仅显示AMS中可用的appId列表”maps to
list_ambari_metric_apps并返回您可以复制到其他工具中的确切标识符。
list_ambari_metrics_metadata:原始AMS元数据浏览器(支持app_id,metric_name_filter,host_filter,search,可调节limit,默认值为50)。\
_示例_:“在HOST下给我提供与CPU相关的度量元数据。”
query_ambari_metrics:获取时间序列数据;该工具会自动选择精心策划的度量名称,在需要时回退到元数据搜索,并尊重Ambari的默认精度,除非您明确提供precision="SECONDS"等等。\
_示例_:“绘制最后30分钟 jvm.JvmMetrics.MemHeapUsedM 对于NameNode。“/”比较 jvm.JvmMetrics.MemHeapUsedM 对于DataNode主机 bigtop-hostname0.demo.local 和 bigtop-hostname1.demo.local 在过去的30分钟里。”
hdfs_dfadmin_report:生成DFSAdmin风格的容量/DataNode摘要(镜像hdfs dfsadmin -report).
实时指标目录(通过AMS元数据)
- 根据需要从以下位置发现度量名称
/ws/v1/timeline/metrics/metadata并缓存以供快速重用。 - 使用
list_common_metrics_catalog或ambari-metrics://catalog/all资源(附加?refresh=true绕过缓存)以检查最新appId → metric地图。查询ambari-metrics://catalog/apps列出appId或ambari-metrics://catalog/对于单个应用程序。 - 典型的appId包括
ambari_server,namenode,datanode,nodemanager,resourcemanager,以及HOST,但该列表会适应Ambari Metrics服务在您的集群中发布的任何广告。
______________________________________________________________________
🔍 Ambari指标查询要求(精确匹配工作流)
最近的更新删除了自然语言度量猜测,转而支持确定性、目录驱动的查找。当您(或LLM代理)致电时,请记住以下规则 query_ambari_metrics:
- 始终传递一个明确的
app_id. 如果它丢失或不受支持,该工具将返回有效appId的列表并中止,以便您可以手动选择一个。 - 指定精确的度量名称。 使用
list_common_metrics_catalog(app_id="", search="keyword"),list_ambari_metric_apps(发现appId),或ambari-metrics://catalog/用于浏览实时每个应用度量集并复制标识符的资源(例如。,jvm.JvmMetrics.MemHeapUsedM). - 主机作用域行为:何时
hostnames则API返回集群范围的聚合。提供一个或多个主机(逗号分隔)以专注于特定节点。 - 没有模糊的匹配。 服务器现在完全按照请求调用Ambari。如果指标错误或为空,Ambari将不返回任何数据点——通过以下方式仔细检查标识符
/ws/v1/timeline/metrics/metadata.
调用示例:
query_ambari_metrics(
metric_names="jvm.JvmMetrics.MemHeapUsedM",
app_id="nodemanager",
duration="1h",
group_by_host=true
)对于多指标查找,请传递一个逗号分隔的确切名称列表。响应会记录任何自动应用的主机筛选器,以便您可以将它们复制/粘贴到后续请求中。
______________________________________________________________________
🐛 使用和配置
此MCP服务器支持两种连接模式: 标准 (传统)和 可流式传输http (基于Docker)。您可以使用CLI参数或环境变量配置传输模式。
配置优先级: CLI参数>环境变量>默认值
CLI参数
--type(-t):运输类型(stdio或streamable-http)-默认值:stdio--host:HTTP传输的主机地址-默认值:127.0.0.1--port(-p):HTTP传输的端口号-默认值:8000--auth-enable:为可流式传输的http模式启用承载令牌身份验证-默认值:false--secret-key:承载令牌身份验证的密钥(启用身份验证时需要)
环境变量
| 变量 | 描述 | 默认值 | 项目默认值 |
|---|---|---|---|
PYTHONPATH | MCP服务器导入的Python模块搜索路径 | - | /app/src |
MCP_LOG_LEVEL | 服务器日志记录冗长(调试、信息、警告、错误) | INFO | INFO |
FASTMCP_TYPE | MCP传输协议(用于CLI的stdio,用于web的流式http) | stdio | streamable-http |
FASTMCP_HOST | HTTP服务器绑定地址(所有接口为0.0.0.0) | 127.0.0.1 | 0.0.0.0 |
FASTMCP_PORT | 用于MCP通信的HTTP服务器端口 | 8000 | 8000 |
REMOTE_AUTH_ENABLE | 为可流式传输的http模式启用承载令牌身份验证 | ||
| 默认值:false (如果未定义、为空或null) | false | false | |
REMOTE_SECRET_KEY | 用于承载令牌身份验证的密钥 | ||
| 当REMOTE_AUTH_ENABLE=true时需要 | - | your-secret-key-here | |
AMBARI_HOST | Ambari服务器主机名或IP地址 | 127.0.0.1 | host.docker.internal |
AMBARI_PORT | Ambari服务器端口号 | 8080 | 8080 |
AMBARI_USER | Ambari服务器身份验证的用户名 | admin | admin |
AMBARI_PASS | Ambari服务器身份验证密码 | admin | admin |
AMBARI_CLUSTER_NAME | 目标安巴里集群的名称 | TEST-AMBARI | TEST-AMBARI |
DOCKER_EXTERNAL_PORT_OPENWEBUI | Open WebUI容器的主机端口映射 | 8080 | 3001 |
DOCKER_EXTERNAL_PORT_MCP_SERVER | MCP服务器容器的主机端口映射 | 8080 | 18001 |
DOCKER_EXTERNAL_PORT_MCPO_PROXY | MCPO代理容器的主机端口映射 | 8000 | 8001 |
备注: AMBARI_CLUSTER_NAME 当没有指定特定集群时,它将作为操作的默认目标集群。所有环境变量都可以通过配置 .env 文件。
传输选择逻辑:
配置优先级: CLI参数>环境变量>默认值
传输选择逻辑:
- CLI优先级:
--type streamable-http --host 0.0.0.0 --port 18001 - 环境优先:
FASTMCP_TYPE=streamable-http FASTMCP_HOST=0.0.0.0 FASTMCP_PORT=18001 - 传统支持:
FASTMCP_PORT=18001(自动启用可流式传输的http模式) - 默认:
stdio未提供配置时的模式
环境设置
# 1. Clone the repository
git clone https://github.com/call518/MCP-Ambari-API.git
cd MCP-Ambari-API
# 2. Set up environment configuration
cp .env.example .env
# 3. Configure your Ambari connection in .env file
AMBARI_HOST=your-ambari-host
AMBARI_PORT=your-ambari-port
AMBARI_USER=your-username
AMBARI_PASS=your-password
AMBARI_CLUSTER_NAME=your-cluster-name______________________________________________________________________
🔐 安全和身份验证
承载令牌身份验证
对于 streamable-http 模式下,此MCP服务器支持承载令牌身份验证,以确保远程访问的安全。在生产环境中运行服务器时,这一点尤为重要。
配置
启用身份验证:
# In .env file
REMOTE_AUTH_ENABLE=true
REMOTE_SECRET_KEY=your-secure-secret-key-here或者通过CLI:
python -m mcp_ambari_api --type streamable-http --auth-enable --secret-key your-secure-secret-key-here安全等级
- stdio模式 (默认):仅本地访问,无需身份验证
- 可流式传输的http+REMOTE_AUTH_ENABLE=false/undefined:无身份验证的远程访问⚠️ 不建议用于生产
- 可流式传输http+REMOTE_AUTH_ENABLE=true:使用承载令牌身份验证进行远程访问✅ 建议用于生产
🔒 默认策略:REMOTE_AUTH_ENABLE默认为false如果未定义、为空或为null。这确保了服务器即使在没有显式身份验证配置的情况下也能启动。
客户端配置
启用身份验证后,MCP客户端必须在授权标头中包含Bearer令牌:
{
"mcpServers": {
"mcp-ambari-api": {
"type": "streamable-http",
"url": "http://your-server:8000/mcp",
"headers": {
"Authorization": "Bearer your-secure-secret-key-here"
}
}
}
}安全最佳实践
- 始终启用身份验证 在生产环境中使用流式http模式时
- 使用强随机生成的密钥 (建议使用32+个字符)
- 使用HTTPS 如果可能(使用SSL/TLS配置反向代理)
- 限制网络访问 使用防火墙或网络策略
- 定期旋转密钥 增强安全性
- 监控访问日志 未经授权的访问尝试
错误处理
当身份验证失败时,服务器返回:
- 401未经授权 用于丢失或无效的令牌
- 详细的错误消息 JSON格式用于调试
______________________________________________________________________
方法1:本地MCP(传输=“stdio”)
{
"mcpServers": {
"mcp-ambari-api": {
"command": "uvx",
"args": ["--python", "3.12", "mcp-ambari-api"],
"env": {
"AMBARI_HOST": "host.docker.internal",
"AMBARI_PORT": "8080",
"AMBARI_USER": "admin",
"AMBARI_PASS": "admin",
"AMBARI_CLUSTER_NAME": "TEST-AMBARI",
"MCP_LOG_LEVEL": "INFO"
}
}
}
}方法2:远程MCP(传输=“可流式传输http”)
在MCP客户端主机上:
{
"mcpServers": {
"mcp-ambari-api": {
"type": "streamable-http",
"url": "http://localhost:18001/mcp"
}
}
}使用承载令牌身份验证(建议用于生产):
{
"mcpServers": {
"mcp-ambari-api": {
"type": "streamable-http",
"url": "http://localhost:18001/mcp",
"headers": {
"Authorization": "Bearer your-secure-secret-key-here"
}
}
}
}______________________________________________________________________
示例用法:Claude Desktop
claude_desktop_config json
{
"mcpServers": {
"mcp-ambari-api": {
"command": "uvx",
"args": ["--python", "3.12", "mcp-ambari-api"],
"env": {
"AMBARI_HOST": "localhost",
"AMBARI_PORT": "7070",
"AMBARI_USER": "admin",
"AMBARI_PASS": "admin",
"AMBARI_CLUSTER_NAME": "TEST-AMBARI",
"MCP_LOG_LEVEL": "INFO"
}
}
}
}(选项)配置多个Ambari集群
{
"mcpServers": {
"Ambari-Cluster-A": {
"command": "uvx",
"args": ["--python", "3.12", "mcp-ambari-api"],
"env": {
"AMBARI_HOST": "a.foo.com",
"AMBARI_PORT": "8080",
"AMBARI_USER": "admin-user",
"AMBARI_PASS": "admin-pass",
"AMBARI_CLUSTER_NAME": "AMBARI-A",
"MCP_LOG_LEVEL": "INFO"
}
},
"Ambari-Cluster-B": {
"command": "uvx",
"args": ["--python", "3.12", "mcp-ambari-api"],
"env": {
"AMBARI_HOST": "b.bar.com",
"AMBARI_PORT": "8080",
"AMBARI_USER": "admin-user",
"AMBARI_PASS": "admin-pass",
"AMBARI_CLUSTER_NAME": "AMBARI-B",
"MCP_LOG_LEVEL": "INFO"
}
}
}
}带身份验证的远程访问(Claude Desktop):
{
"mcpServers": {
"mcp-ambari-api-remote": {
"type": "streamable-http",
"url": "http://your-server-ip:18001/mcp",
"headers": {
"Authorization": "Bearer your-secure-secret-key-here"
}
}
}
}______________________________________________________________________
🎯 核心特征和功能
服务操作
- Hadoop服务管理:启动、停止、重启HDFS、YARN、Spark、HBase等
- 批量操作:同时控制所有群集服务
- 状态监测:实时服务运行状况和性能跟踪
配置管理
- 统一配置工具:所有配置类型(纱线站点、hdfs站点等)的单一接口
- 批量配置:通过过滤导出和管理多个配置
- 配置验证:应用更改前的语法检查和验证
监控和警报
- 实时警报:具有过滤功能的当前和历史群集警报
- 请求跟踪:监控长时间运行的操作及其详细进度
- 主机监控:硬件指标、组件状态和资源利用率
行政
- 用户管理:检查群集用户管理
- 主机管理:节点注册、组件分配和运行状况监视
______________________________________________________________________
可用的MCP工具
此MCP服务器为Ambari集群管理提供了以下工具:
群集管理
get_cluster_info-检索基本群集信息和状态get_active_requests-列出当前活动/正在运行的操作get_request_status-检查特定请求的状态和进度get_request_tasks-获取特定请求的每个主机/角色的任务细分。支持按状态过滤(status_filter="FAILED","not:COMPLETED"等)和主机名子字符串(host_filter="node01")
服务管理
get_cluster_services-列出所有服务及其状态get_service_status-获取特定服务的详细状态get_service_components-列出服务的组件和主机分配get_service_details-获取全面的服务信息start_service-启动特定服务stop_service-停止特定服务restart_service-重新启动特定服务start_all_services-启动群集中的所有服务stop_all_services-停止群集中的所有服务restart_all_services-重新启动群集中的所有服务
配置工具
dump_configurations-统一配置工具(取代get_configurations,list_configurations前内部dump_all_configurations).支持:
- 单一类型: dump_configurations(config_type="yarn-site") - 批量摘要: dump_configurations(summarize=True) - 按子字符串(类型或键)筛选: dump_configurations(filter="memory") - 服务筛选器(按子字符串缩小类型): dump_configurations(service_filter="yarn", summarize=True) - 仅按键(无值): dump_configurations(include_values=False) - 限制类型数量: dump_configurations(limit=10, summarize=True)
突破性变化:get_configurations和list_configurations被移除,取而代之的是这个功能更强大的单一工具。
主机管理
list_hosts-列出群集中的所有主机get_host_details-获取特定或所有主机的详细信息(包括组件状态、硬件指标和服务分配)
用户管理
list_users-列出Ambari系统中的所有用户及其用户名和API链接get_user-获取特定用户的详细信息,包括:
- 基本配置文件(ID、用户名、显示名称、用户类型) - 状态信息(管理员权限、活动状态、登录失败) - 身份验证详细信息(LDAP用户状态、身份验证源) - 组成员资格、特权和小部件布局
警报管理
get_alerts_history- 统一警报工具 对于当前和历史警报:
- 当前模式 (mode="current"):检索具有实时状态的当前/活动警报 - 跨群集、服务或主机的当前警报状态 - 维护模式过滤(开/关) - 摘要格式:基本摘要和按定义分组 - 详细的警报信息,包括时间戳和描述 - 历史模式 (mode="history"):从群集中检索历史警报事件 - 范围筛选:群集范围、特定于服务或特定于主机的警报 - 时间范围过滤:从/到时间戳支持 - 对大型数据集的分页支持 - 共同特征 (两种模式): - 状态过滤:严重、警告、正常、未知警报 - 定义筛选:按特定警报定义名称筛选 - 多种输出格式:详细、摘要、紧凑 - 统一的API提供一致的警报查询体验
______________________________________________________________________
🤝 贡献与支持
如何做出贡献
使用的技术
- 语言:Python 3.12
- 框架:模型上下文协议(MCP)
- API:Apache Ambari REST API
- 运输:stdio(本地)和可流式传输的http(远程)
- 部署:Docker、Docker Compose、PyPI
开发环境。
- WSL2(网络模式=桥接)+Docker桌面
- .wslconfig:已测试 networkingMode = bridged
- Python 3.12 venv
### Option-1: with uv
uv venv --python 3.12 --seed
### Option-2: with pip
python3.12 -m venv .venv
source .venv/bin/activate
pip install -U pip______________________________________________________________________
🛠️ 添加自定义工具
在您彻底探索了现有功能后,您可能希望为特定的监控或管理需求添加自己的自定义工具。此MCP服务器旨在易于扩展。
分步指南
1. 添加辅助函数(可选)
添加可重用的数据函数 src/mcp_ambari_api/functions.py:
async def get_your_custom_data(target_resource: str = None) -> List[Dict[str, Any]]:
"""Your custom data retrieval function."""
# Example implementation - adapt to your Ambari service
endpoint = f"/clusters/{AMBARI_CLUSTER_NAME}/your_custom_endpoint"
if target_resource:
endpoint += f"/{target_resource}"
response_data = await make_ambari_request(endpoint)
if response_data is None or "items" not in response_data:
return []
return response_data["items"]2. 创建您的MCP工具
将您的工具功能添加到 src/mcp_ambari_api/mcp_main.py:
@mcp.tool()
@log_tool
async def get_your_custom_analysis(limit: int = 50, target_name: Optional[str] = None) -> str:
"""
[Tool Purpose]: Brief description of what your tool does
[Core Functions]:
- Feature 1: Data aggregation and analysis
- Feature 2: Resource monitoring and insights
- Feature 3: Performance metrics and reporting
[Required Usage Scenarios]:
- When user asks "your specific analysis request"
- Your business-specific monitoring needs
Args:
limit: Maximum results (1-100)
target_name: Target resource/service name (optional)
Returns:
Formatted analysis results (success: formatted data, failure: English error message)
"""
try:
limit = max(1, min(limit, 100)) # Always validate input
results = await get_your_custom_data(target_resource=target_name)
if not results:
return f"No custom analysis data found{' for ' + target_name if target_name else ''}."
# Apply limit
limited_results = results[:limit]
# Format output
result_lines = [
f"Custom Analysis Results{' for ' + target_name if target_name else ''}",
"=" * 50,
f"Found: {len(limited_results)} items (total: {len(results)})",
""
]
for i, item in enumerate(limited_results, 1):
# Customize this formatting based on your data structure
name = item.get("name", "Unknown")
status = item.get("status", "N/A")
result_lines.append(f"[{i}] {name}: {status}")
return "\n".join(result_lines)
except Exception as e:
return f"Error: Exception occurred while retrieving custom analysis - {str(e)}"3. 更新导入
将辅助函数添加到中的导入部分 src/mcp_ambari_api/mcp_main.py:
from mcp_ambari_api.functions import (
format_timestamp,
format_single_host_details,
make_ambari_request,
# ... existing imports ...
get_your_custom_data, # Add your new function here
)4. 更新提示模板(推荐)
将您的工具描述添加到 src/mcp_ambari_api/prompt_template.md 为了更好地识别AI:
### Custom Analysis Tools
**get_your_custom_analysis**
- "Show me custom analysis results"
- "Get custom analysis for target_name"
- "Display custom monitoring data"
- 📋 **Features**: Custom data aggregation, resource monitoring, performance insights5. 测试你的工具
# Local testing with MCP Inspector
./run-mcp-inspector-local.sh
# Or test with Docker environment
docker-compose up -d
docker-compose logs -f mcp-server
# Test with natural language queries:
# "Show me custom analysis results"
# "Get custom analysis for my_target"重要说明
- 总是使用
@mcp.tool()和@log_tool装饰器 正确注册和记录 - 遵循现有的错误处理模式 -返回以“error:”开头的英文错误消息
- 使用
make_ambari_request()功能 用于所有Ambari API调用,以确保一致的身份验证和错误处理 - 验证所有输入参数 在API调用中使用它们之前
- 彻底测试 包含有效和无效输入
示例用例
- 定制服务健康检查 超出标准Ambari监控
- 专业配置验证 符合贵组织的标准
- 自定义警报聚合 以及报告格式
- 与外部监控系统集成 通过 Ambari 数据
- 自动合规性检查 用于集群配置
______________________________________________________________________
❓ 常见问题
Q: 支持哪些Ambari版本?
A.:建议使用Ambari 2.7+。早期版本可能有效,但尚未经过正式测试。
Q: 我可以将其用于云管理的Hadoop集群吗?
A.:是的,只要Ambari API端点是可访问的,它就可以用于内部部署、云部署和混合部署。
Q: 如何解决连接问题?
A.:检查您的 AMBARI_HOST, AMBARI_PORT,以及网络连接。使用启用调试日志记录 MCP_LOG_LEVEL=DEBUG.
Q: 这与Ambari Web UI相比如何?
A.:这通过AI/LLM命令提供程序化访问,非常适合自动化、脚本编写和与现代DevOps工作流的集成。
______________________________________________________________________
贡献
🤝 有想法吗?发现虫子了吗?想添加酷炫的功能吗?
我们总是很高兴欢迎新的贡献者!无论您是修复拼写错误、添加新的监控工具还是改进文档,每一份贡献都会使这个项目变得更好。
贡献方式:
- 🐛 报告问题或错误
- 💡 建议新的Ambari监控功能
- 📝 改进文档
- 🚀 提交拉取请求
- ⭐ 如果你觉得回购有用,请为其加星!
专业提示: 代码库的设计非常适合添加新工具。查看现有 @mcp.tool() 功能在 mcp_main.py 并遵循 添加自定义工具 上面的指南。
______________________________________________________________________
📄 许可证
该项目根据MIT许可证获得许可。
