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

Observium MCP

MCP Server

Observium MCP Server是一个将Observium CE网络监控数据暴露给LLMs(如Claude)的服务,支持自然语言查询设备状态、网络流量、传感器读数、警报和历史趋势。

工具数

9

提示词数

0

GitHub Stars

3

资源数

0
网络监控PythonClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

kdesch5000

提供方

kdesch5000

最后核验

2026/5/17 20:46

运行时

Python

快速接入

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

命令预览

python3 -m venv venv

详细介绍

Observium MCP服务器

A. 模型上下文协议(MCP) 暴露的服务器 遵守 CE 将网络监控数据传输到Claude等LLM,实现有关设备状态、网络流量、传感器读数、警报和历史趋势的自然语言查询。

特性

  • 设备管理:列出并查询受监控设备的状态、正常运行时间和硬件信息
  • 网络端口:查看接口状态、流量率和利用率
  • 传感器:访问温度、电压、频率和其他传感器数据
  • 警报:使用摘要查询活动警报和历史警报
  • 趋势:从RRD数据中检索历史指标(负载、CPU、内存)

需求

  • Python 3.10+(MCP SDK要求)
  • 安装带有MySQL/MariaDB数据库访问的Observium CE
  • 访问Observium的RRD数据目录(用于趋势数据)
  • rrdtoollibrrd-dev 包(用于RRD数据访问)

安装

1.克隆存储库

git clone https://github.com/kdesch5000/observium-mcp.git
cd observium-mcp

2.创建虚拟环境

python3 -m venv venv
source venv/bin/activate

3.安装依赖项

pip install -r requirements.txt

4.配置环境

复制示例配置并使用您的Observium数据库凭据进行编辑:

cp config.example.env .env

编辑 .env 使用您的设置:

# Database connection (use SSH tunnel if remote)
OBSERVIUM_DB_HOST=localhost
OBSERVIUM_DB_PORT=3306
OBSERVIUM_DB_NAME=observium
OBSERVIUM_DB_USER=observium
OBSERVIUM_DB_PASS=your_database_password

# RRD data path (on the Observium server)
OBSERVIUM_RRD_PATH=/opt/observium/rrd

# Optional: SSH configuration for remote RRD access
# If MCP server runs on a different machine than Observium,
# set these to enable SSH-based RRD file access for trend data
# OBSERVIUM_RRD_SSH_HOST=observium.example.com
# OBSERVIUM_RRD_SSH_USER=pi
# OBSERVIUM_RRD_SSH_PORT=22

用法

使用克劳德代码

添加到您的Claude Code MCP配置中(~/.claude/claude_code_config.json):

{
  "mcpServers": {
    "observium": {
      "command": "python",
      "args": ["-m", "observium_mcp.server"],
      "cwd": "/path/to/observium-mcp/src",
      "env": {
        "OBSERVIUM_DB_HOST": "localhost",
        "OBSERVIUM_DB_NAME": "observium",
        "OBSERVIUM_DB_USER": "observium",
        "OBSERVIUM_DB_PASS": "your_password",
        "OBSERVIUM_RRD_PATH": "/opt/observium/rrd"
      }
    }
  }
}

使用克劳德桌面

添加到您的Claude Desktop配置中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "observium": {
      "command": "python",
      "args": ["-m", "observium_mcp.server"],
      "cwd": "/path/to/observium-mcp/src",
      "env": {
        "OBSERVIUM_DB_HOST": "your_observium_host",
        "OBSERVIUM_DB_NAME": "observium",
        "OBSERVIUM_DB_USER": "observium",
        "OBSERVIUM_DB_PASS": "your_password",
        "OBSERVIUM_RRD_PATH": "/opt/observium/rrd"
      }
    }
  }
}

独立

cd src
python -m observium_mcp.server

可用工具

工具说明
list_devices列出所有受监控的设备及其状态
get_device获取特定设备的详细信息
list_ports列出设备的网络接口
get_port_traffic获取特定端口的流量统计数据
list_sensors列出传感器读数(温度、电压等)
list_alerts列出活动或历史警报
get_alert_summary获取警报计数摘要
get_trends获取历史指标数据
list_available_metrics列出设备的可用RRD指标

查询示例

连接后,您可以向Claude提出以下问题:

  • “目前哪些设备出现故障?”
  • “显示主开关上的温度传感器”
  • “过去一周防火墙的CPU负载趋势如何?”
  • “是否有任何活动警报?”
  • “核心交换机上的哪些端口有错误?”
  • “我的所有Linux服务器的正常运行时间是多少?”

远程访问

如果您的Observium实例位于远程服务器上,您有几个选项:

选项1:SSH隧道

# Create SSH tunnel to forward MySQL port
ssh -L 3306:localhost:3306 user@observium-server

# Then configure .env with localhost
OBSERVIUM_DB_HOST=localhost

选项2:在Observium服务器上安装

将MCP服务器直接安装在Observium主机上,并配置Claude通过SSH连接。

选项3:网络接入

如果MySQL可以在网络上访问(出于安全考虑不建议):

OBSERVIUM_DB_HOST=observium.example.com

安全注意事项

  • 数据库凭据存储在 .env 这是不可忽视的
  • 服务器仅执行SELECT查询(只读)
  • 考虑使用只读MySQL用户以提高安全性
  • RRD访问是只读的,通过 rrdtool fetch

创建只读数据库用户

为了提高安全性,请创建一个专用的只读MySQL用户:

CREATE USER 'observium_mcp'@'localhost' IDENTIFIED BY 'secure_password';
GRANT SELECT ON observium.* TO 'observium_mcp'@'localhost';
FLUSH PRIVILEGES;

故障排除

连接被拒绝

  • 验证MySQL是否正在运行且可访问
  • 检查中的数据库凭据 .env
  • 确保MySQL用户具有SELECT权限

无RRD数据/趋势工具故障

  • 验证 OBSERVIUM_RRD_PATH 指向Observium服务器上的正确目录
  • 如果在其他计算机上运行MCP,请配置SSH访问:

- 集 OBSERVIUM_RRD_SSH_HOST 到Observium服务器主机名 - 集 OBSERVIUM_RRD_SSH_USER 对于具有SSH访问权限的用户 - 确保配置了基于SSH密钥的身份验证

  • 确保 rrdtool 安装在Observium服务器上(用于远程)或本地
  • 检查RRD目录上的文件权限

未找到模块

确保你正在逃离 src 目录或已安装程序包:

cd /path/to/observium-mcp/src
python -m observium_mcp.server

贡献

欢迎投稿!请随时提交问题和拉取请求。

许可证

MIT许可证-请参阅 许可证 了解详情。

致谢

目录标签

目录标签

网络监控PythonClaude本地部署设备管理传感器数据警报系统历史趋势分析

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

9

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP