Token导航 LogoToken导航TokenDH.com
Monitoring MCP logo
运维云端stdio官方级别未说明来源级核验

Monitoring MCP

MCP Server

一个基于FastMCP 3.1.0的监控服务器,提供Grafana、Prometheus和Loki生态系统的智能操作,支持DevOps工作流的对话式AI辅助。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
日志管理PythonClaude性能监控Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

sandraschi

提供方

sandraschi

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uvx monitoring-mcp

详细介绍

监控MCP服务器

![CI](https://github.com/sandraschi/monitoring-mcp/actions) ![codecov](https://codecov.io/gh/sandraschi/monitoring-mcp) ](https://pypi.org/project/monitoring-mcp/) ](https://pypi.org/project/monitoring-mcp/) ![Python 3.10+](https://www.python.org/) ![License: MIT](https://opensource.org/licenses/MIT)

![FastMCP](https://github.com/jlowin/fastmcp) ![Grafana](https://grafana.com) ![Prometheus](https://prometheus.io) ![Loki](https://grafana.com/oss/loki/)

](https://github.com/sandraschi/monitoring-mcp) ](https://github.com/sandraschi/monitoring-mcp) ](https://github.com/sandraschi/monitoring-mcp/issues)

![MCP](https://modelcontextprotocol.io/) ![Status](https://github.com/sandraschi/monitoring-mcp/pulse) ![PRs Welcome](http://makeapullrequest.com)

*一个全面的FastMCP 3.1.0驱动的监控服务器,为Grafana、Prometheus和Loki生态系统提供智能操作,并为DevOps工作流程提供会话式AI辅助。*

特性

FastMCP 3.1.0集成

  • 会话工具返回 -人工智能友好的响应,具有可操作的见解
  • 采样能力 -大型结果集的智能数据采样
  • 持久化存储 -用于配置和状态的DiskStore后端
  • 生产就绪 -专为高性能监控操作而设计

综合监控工具

Grafana管理 (grafana_management)

  • 仪表板操作:列出、创建、更新、删除和分析仪表板
  • 数据源查询:对配置的数据源执行查询
  • 面板管理:添加和修改仪表板面板
  • 警报配置:为仪表板指标设置警报规则
  • AI驱动的分析:智能仪表板优化建议

普罗米修斯监控 (prometheus_monitoring)

  • 度量查询:使用智能采样执行PromQL查询
  • 范围查询:具有自动优化功能的时间序列分析
  • 目标健康:监控抓取目标状态和连接
  • 警报管理:列出活动警报并管理警报规则
  • 性能分析:查询优化和瓶颈检测

洛基测井 (loki_logging)

  • 日志查询:使用模式识别执行LogQL查询
  • 实时尾随:以可配置的限制流式传输实时日志
  • 异常检测:AI驱动的日志模式分析
  • 误差相关:将错误日志与系统事件链接
  • 请求跟踪:通过日志流跟踪请求流

跨系统相关性 (cross_system_correlation)

  • 事件分析:关联度量、日志和跟踪,以进行根本原因分析
  • 性能相关性:将性能指标与系统事件联系起来
  • 误差相关:跨系统连接错误模式
  • 健康评估:综合系统健康评分
  • 预测性洞察:基于人工智能的趋势分析和建议

状态和健康监测 (monitoring_status)

  • 系统健康检查:对所有系统进行全面的健康评估
  • 连接性测试:验证与所有监控组件的连接
  • 配置验证:验证系统配置和设置
  • 数据流监控:检查监控系统之间的数据流
  • 警报状态:监控警报系统运行状况和活动警报

人工智能驱动的智能

  • 会话响应:自然语言摘要和可操作的见解
  • 智能采样:大型数据集的自动数据缩减
  • 根本原因分析:人工智能辅助事件调查
  • 优化建议:性能和配置建议
  • 模式识别:自动异常检测和趋势分析

企业功能

  • 持久配置:具有平台感知路径的加密存储
  • 速率限制:智能请求限制和错误处理
  • 结构化日志记录:具有丰富上下文的JSON格式日志
  • 错误恢复:优雅的降级和自动重试逻辑
  • 安全:API密钥管理的身份验证支持

会话用法示例

这些示例展示了用户如何通过自然语言对话与监控MCP服务器交互,就像您在Claude Desktop或其他启用MCP的应用程序中一样。

系统健康检查对话

用户: “检查我的监控系统的整体运行状况”

监控MCP响应:

“我发现你的监控系统基本上是健康的! 系统状态:已降级 (4个成分中有3个健康) 格拉法纳:健康(12个仪表板,配置了3个数据源) 普罗米修斯:健康(247个目标,98%以上) 洛基:不健康(连接超时-检查Loki服务是否正在运行) 总体:1个问题需要注意 建议: 启动Loki服务并运行连接测试以验证修复。"

______________________________________________________________________

事故调查对话

用户: “我们的API响应时间在今天下午3点15分激增。你能帮我调查发生了什么吗?”

监控MCP响应:

“我将在下午3点15分调查API响应时间峰值。让我关联度量、日志和系统事件。 时间线分析: - 下午3时15分:API延迟从45毫秒跃升至890毫秒 - 指标:web-01服务器上的内存使用率飙升至92% - 日志:web api服务中出现多个“超出GC开销限制”错误 已确定根本原因: 内存压力引发了垃圾收集风暴,导致响应延迟。 证据: - 内存使用率:92%(阈值:80%) - GC暂停时间:450ms(正常:\ - 错误日志:5分钟窗口内出现47个“GC开销”异常 建议: 1. 扩展web-01实例(当前为t3.media) 1. 调整JVM GC设置(-XX:+使用G1GC-XX:最大GCPauseMillis=100) 1. 在75%阈值时添加内存监控警报”

______________________________________________________________________

性能分析对话

用户: “为什么本周我们的数据库查询性能下降了?”

监控MCP响应:

“过去一周,我分析了您的数据库性能。以下是我的发现: 性能趋势: 查询响应时间缩短23% 关键指标: - 平均查询时间:450毫秒(高于320毫秒) - 慢速查询(>1s):占总数的15%(高于8%) - 连接池利用率:89%(高于72%) 相关事件: - 星期二下午2:30:数据库重新启动(维护窗口) - 星期三:索引重建已完成(预期性能下降) - 星期五:连接池多次耗尽 性能洞察: 1. 连接池争用:89%的利用率表明池大小需要增加 1. 索引碎片:最近的重建显示出40%的改进潜力 1. 记忆压力:缓冲区缓存命中率降至87% 行动项目: - 将连接池大小增加25% - 安排定期指标维护 - 添加对连接池利用率>80%的监控”

______________________________________________________________________

日志分析对话

用户: “我在日志中看到身份验证失败。你能分析一下模式吗?”

监控MCP响应:

“我分析了您在过去24小时内的身份验证失败模式: 摘要: 检测到1247次登录尝试失败 主要故障原因: - 无效凭证68%(851次尝试)-正常用户错误 - 帐户已锁定:22%(275次尝试)-暴力保护 - 过期令牌:8%(100次尝试)-会话超时 - IP已阻止:2%(21次尝试)-安全措施 检测到可疑模式: - IP地址192.168.1.100:10分钟内连续45次失败 - 用户“admin”:针对89个不同的IP - 时间模式:UTC凌晨2点至4点之间的峰值故障 安全建议: 1. 临时阻止IP 192.168.1.100(暴力破解尝试) 1. 对登录失败实施渐进式延迟 1. 为可疑区域添加地理封锁 1. 为管理员帐户启用MFA”

______________________________________________________________________

仪表板创建对话

用户: “创建一个显示我们的服务健康状况概览的仪表板”

监控MCP响应:

“我将为您创建一个全面的服务健康仪表板! 已创建仪表板: '服务运行状况概述' UID: svc-health-2024 面板包括: 1. 服务状态网格 -所有服务的实时健康状况 1. 错误率趋势 -1h、24h、7d误差率图 1. 响应时间分布 -P50、P95、P99延迟指标 1. 资源利用 -CPU、内存、磁盘、网络使用情况 1. 警报摘要 -按严重程度列出的活动警报 1. 主要错误源 -产生最多错误的服务 已连接的数据源: - 普罗米修斯(指标) - 洛基(原木) - Grafana(可视化) 自动刷新: 30秒 时间范围: 最后1小时 访问权限: 可在 /d/svc-health-2024/service-health-overview 仪表板现已上线,将帮助您一目了然地监控服务健康状况!"

______________________________________________________________________

配置验证对话

用户: “验证我的监控配置是否正确”

监控MCP响应:

“让我检查所有组件的监控系统配置: 配置验证结果: 全部有效 格拉法纳http://grafana:3000): - API连接已确认 - 配置了3个数据源(Prometheus、Loki、TestData) - 12个可用仪表板 - 管理员权限已验证 普罗米修斯(http://prometheus:9090): - 查询API响应 - 已配置247个刮擦目标 - 98%的目标健康状况(243/247上升) - 45条警报规则处于活动状态 洛基(http://loki:3100): - LogQL API函数 - 8个不同的日志流 - 摄入2.3GB日志(过去24小时) - 保留政策:30天 跨系统集成: - Grafana可以查询普罗米修斯数据 - Grafana可以查询洛基日志 - 已配置警报路由 - 仪表板链接功能正常 建议: 1. 4个不健康的目标 普罗米修斯需要调查 1. 考虑提高保留率 如果您需要更长的日志历史记录 1. 添加更多警报规则 关键服务 您的监控堆栈已正确配置并可运行! "

______________________________________________________________________

API使用示例

对于直接与MCP工具集成的开发人员:

Grafana仪表板管理

# List all dashboards
await grafana_management(operation="list_dashboards")

# Create a new dashboard
await grafana_management(
    operation="create_dashboard",
    dashboard_data={
        "title": "System Overview",
        "tags": ["system", "overview"],
        "panels": [...]
    }
)

普罗米修斯指标分析

# Query system CPU usage
await prometheus_monitoring(
    operation="query_metrics",
    query="100 - (avg by(instance) (irate(node_cpu_seconds_total{mode='idle'}[5m])) * 100)"
)

洛基测井分析

# Search for error patterns
await loki_logging(
    operation="search_errors",
    query='{job="web-api"} |= "ERROR" or "Exception"'
)

跨系统事件分析

# Correlate incident data
await cross_system_correlation(
    operation="correlate_incident",
    incident_description="API response times spiked"
)

健康监测

# Check overall system health
await monitoring_status(operation="system_health")

安装

先决条件

快速开始

立即通过运行 uvx:

uvx monitoring-mcp

Claude桌面集成

添加到您的 claude_desktop_config.json:

"mcpServers": {
  "monitoring-mcp": {
    "command": "uv",
    "args": ["--directory", "D:/Dev/repos/monitoring-mcp", "run", "monitoring-mcp"]
  }
}

先决条件

  • Python 3.10+
  • 访问Grafana、Prometheus和洛基实例
  • FastMCP 3.1.0+(自动安装)

来自PyPI(推荐)

pip install monitoring-mcp

来源

git clone https://github.com/sandraschi/monitoring-mcp.git
cd monitoring-mcp
uv pip install -e .[dev]

配置

创建一个 .env 文件或设置环境变量:

# Monitoring endpoints
MONITORING_MCP_GRAFANA_URL=http://localhost:3000
MONITORING_MCP_PROMETHEUS_URL=http://localhost:9090
MONITORING_MCP_LOKI_URL=http://localhost:3100

# Authentication (optional)
MONITORING_MCP_GRAFANA_API_KEY=your_grafana_api_key
MONITORING_MCP_GRAFANA_USERNAME=your_username
MONITORING_MCP_GRAFANA_PASSWORD=your_password

# Performance settings
MONITORING_MCP_REQUEST_TIMEOUT=30
MONITORING_MCP_MAX_CONCURRENT_REQUESTS=10
MONITORING_MCP_MAX_RESULTS_LIMIT=1000

# Sampling configuration
MONITORING_MCP_ENABLE_SAMPLING=true
MONITORING_MCP_SAMPLING_THRESHOLD=10000
MONITORING_MCP_SAMPLING_RATE=0.1

配置

环境变量

变量描述默认值
MONITORING_MCP_GRAFANA_URLGrafana服务器URLhttp://localhost:3000
MONITORING_MCP_PROMETHEUS_URLPrometheus服务器URLhttp://localhost:9090
MONITORING_MCP_LOKI_URL洛基服务器URLhttp://localhost:3100
MONITORING_MCP_REQUEST_TIMEOUT请求超时(秒)30
MONITORING_MCP_MAX_RESULTS_LIMIT每次查询的最大结果数1000
MONITORING_MCP_ENABLE_SAMPLING启用智能采样true

认证

Grafana身份验证

  • API密钥 (推荐):设置 MONITORING_MCP_GRAFANA_API_KEY
  • 用户名/密码:设置两者 MONITORING_MCP_GRAFANA_USERNAMEMONITORING_MCP_GRAFANA_PASSWORD

普罗米修斯和洛基

  • 当前使用直接HTTP访问(本地设置不需要身份验证)
  • 对于生产部署,配置具有身份验证的反向代理

快速开始

1.启动服务器

# Using the installed package
monitoring-mcp

# Or directly with Python
python -m monitoring_mcp

2.配置克劳德桌面

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "monitoring": {
      "command": "python",
      "args": ["-m", "monitoring_mcp"],
      "env": {
        "MONITORING_MCP_GRAFANA_URL": "http://your-grafana:3000",
        "MONITORING_MCP_PROMETHEUS_URL": "http://your-prometheus:9090",
        "MONITORING_MCP_LOKI_URL": "http://your-loki:3100"
      }
    }
  }
}

3.测试连接

# Check system health
result = await monitoring_status(operation="system_health")
print(f"System status: {result['health_status']['overall_status']}")

# Query a simple metric
result = await prometheus_monitoring(
    operation="query_metrics",
    query="up"
)
print(f"Found {result['result_count']} metric series")

监控架构


                 Monitoring MCP Server                   
      
               Portmanteau Tools                        
           
      Grafana      Prometheus       Loki          
    Management     Monitoring      Logging        
           
      

                  
        
                          
  
   Grafana    Promethe   Loki   
 Dashboards    us Met-     Logs  
   & Panels    rics &   Analysis 
               Alerts            
  
                  
                  
     
        Cross-System          
        Correlation Engine    
                              
       Incident Analysis     
       Root Cause Detection  
       Performance Insights  
       Health Assessment     
     

工具参考

Grafana管理(grafana_management)

操作说明
list_dashboards列出所有带有元数据的仪表板
get_dashboard检索特定仪表板
create_dashboard创建新仪表板
update_dashboard修改现有仪表板
delete_dashboard删除仪表板
search_dashboards按条件搜索仪表板
list_datasources列出已配置的数据源
query_datasource对数据源执行查询
analyze_dashboard基于人工智能的仪表板分析

普罗米修斯监控(prometheus_monitoring)

操作说明
query_metrics执行即时PromQL查询
query_range执行范围PromQL查询
list_targets列出抓取目标和状态
get_target_health检查特定目标健康状况
list_rules列出警报和记录规则
list_alerts列出活动警报
analyze_metrics基于人工智能的指标分析
optimize_queries查询优化建议

洛基测井(loki_logging)

操作说明
query_logs执行即时LogQL查询
query_range执行范围LogQL查询
tail_logs流式传输实时日志
analyze_logs基于AI的日志模式分析
detect_anomalies识别异常日志模式
search_errors查找错误消息和异常
trace_requests跟踪请求跟踪
get_labels列出可用日志标签

跨系统相关性(cross_system_correlation)

操作说明
correlate_incident分析跨系统的事件
find_root_cause人工智能驱动的根本原因分析
performance_correlation将绩效与事件联系起来
error_correlation连接错误模式
health_assessment综合系统健康
service_dependency_map映射服务关系

状态监控(monitoring_status)

操作说明
system_health整体系统健康检查
connectivity_test测试系统连接性
configuration_validation验证配置
performance_metrics监控系统性能
data_flow_status检查数据流健康状况
alert_status监控警报系统

发展

![Ruff](https://github.com/astral-sh/ruff) ![Code style: black](https://github.com/psf/black) ![Imports: isort](https://pycqa.github.io/isort/) ![Type checking: mypy](http://mypy-lang.org/)

![pytest](https://github.com/pytest-dev/pytest) ![asyncio](https://docs.python.org/3/library/asyncio.html) ![FastAPI](https://fastapi.tiangolo.com/)

设置开发环境

# Install development dependencies
uv pip install -e .[dev]

# Run tests
pytest

# Run linting
ruff check .

# Format code
ruff format .

# Type checking
mypy src/

测试

# Run all tests
pytest

# Run with coverage
pytest --cov=monitoring_mcp --cov-report=html

# Run specific test category
pytest tests/unit/ -v
pytest tests/integration/ -v

Docker开发

# Build development image
docker build -t monitoring-mcp:dev -f Dockerfile.dev .

# Run with hot reload
docker run -p 8000:8000 -v $(pwd):/app monitoring-mcp:dev

文档

指南和文件

架构文档

贡献

我们欢迎捐款!请查看我们的 贡献指南 了解详情。

开发流程

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/-feature)
  3. 通过全面的测试进行更改
  4. 运行完整的测试套件: make test-all
  5. 根据需要更新文档
  6. 提交拉取请求

代码规范

  • FastMCP 3.1.0+:使用最新功能和模式
  • 类型提示:需要全类型覆盖
  • 异步优先:在适当的情况下,所有操作都应该是异步的
  • 对话式:工具响应应该对人工智能友好
  • 文档:综合文档和示例

🛡️ 工业级质量堆栈

该项目坚持 索塔14.1 高保真代理编排的工业标准:

  • Python(核心): 拉夫 用于裁剪和格式化。零容忍 print 核心处理程序中的语句(T201).
  • Web应用程序(用户界面): 生物群系 用于亚毫秒级的起毛。严格 noConsoleLog 执行。
  • 协议遵从:硬化 stdout/stderr 隔离,以确保防崩溃的JSON-RPC通信。
  • 自动化: Justfile 所有舰队行动的食谱(just lint, just fix, just dev).
  • 安全:通过以下方式进行自动化审计 banditsafety.

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

致谢

  • FastMCP团队 -对于优秀的MCP框架
  • Grafana实验室 -对于格拉法娜、普罗米修斯和洛基
  • 开放遥测社区 -对于可观测性标准
  • Pydantic团队 -用于强大的数据验证

______________________________________________________________________

使用FastMCP 3.1.0构建,用于智能监控操作

目录标签

目录标签

日志管理PythonClaude性能监控监控工具本地部署DevOps自动化AI辅助分析

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP