Zabbix监控集成服务

Zabbix MCP Server是一个用于将Zabbix监控平台与Claude等AI助手集成的模型上下文协议服务器,提供主机管理、触发器监控、问题告警和指标查询等功能。

  • by instanceone-cloud
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 oribot89/zabbix-mcp

使用说明

Zabbix MCP服务器

用于将Zabbix监控平台与Claude和其他AI助手集成的模型上下文协议(MCP)服务器。

特性

  • 🖥️ 主机管理:列出并获取受监视主机的详细信息
  • 🔔 触发器监控:查询触发器状态和历史记录
  • ⚠️ 问题警报:获取活动问题和警报
  • 📊 指标:访问监控项目和历史数据
  • 👥 群组:查看主机组和组织
  • 📅 事件:查询最近的事件
  • 🔐 安全:基于令牌的Zabbix API身份验证

快速开始

先决条件

  • Python 3.10+
  • Zabbix 6.0+,可访问API
  • 有效的Zabbix API证书

安装

git clone https://github.com/oribot89/zabbix-mcp.git
cd zabbix-mcp

# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate  # Linux/macOS

# Install dependencies
pip install -e .

配置

cp .env.example .env
# Edit .env with your Zabbix credentials

测试连接

python test_connection.py

运行服务器

python -m zabbix_mcp.server

可用工具

查询工具(只读)

获取_帖子

列出Zabbix中所有受监视的主机。

get_问题

获取活动问题/警报。

get_triggers

列出触发器的当前状态。

get_events

从Zabbix获取最近的事件。

获取费用详情

获取特定主机的详细信息。

参数:

  • hostname (必填):要查找的主机名称

获取项目

获取监控项目(指标)。

参数:

  • hostname (可选):按主机名筛选

get_host_groups

列出所有主机组。

get_system_status

获取整体系统状态和统计数据。

获取模板

列出所有可用的Zabbix模板。

check_host_interface_可用性

检查主机的代理接口是否可用并响应。

参数:

  • hostid (必填):要检查的主机ID

管理工具(写入操作)

create_host⭐ 推荐

创建一个新的Zabbix主机来监控容器或服务器。

推荐参数:

  • hostname (必填):内部标识符(例如。, beta-servicedesk)
  • display_name (必填):在前端显示名称(例如。, Beta Service Desk (CTID 105))
  • ip_address (必填):用于轮询的代理IP(例如。, 10.0.0.7)
  • port (可选):代理端口(默认值: 10050)
  • group_id (可选):主机组ID(默认值: 2 =Linux服务器)
  • template_id (可选):模板ID(默认值: 10001 =Zabbix代理的Linux)

为什么使用API而不是手动编辑DB:

  • Zabbix内部状态已正确同步
  • 自动管理序列表
  • 标记为可用的接口=1立即
  • 代理轮询在30-60秒内开始
  • 保证数据一致性

例子:

Create host: beta-servicedesk
Display: Beta Service Desk (CTID 105)
IP: 10.0.0.7
Port: 10050

add_host_interface

向现有主机添加网络接口以进行代理轮询。

参数:

  • hostid (必填):主机ID
  • ip_address (必填):IP地址
  • port (可选):代理端口(默认值: 10050)
  • interface_type (可选):1=代理,2=SNMP,3=IPMI,4=JMX(默认值:1)

链接模板

将模板链接到主机以自动生成监控项。

参数:

  • hostname (必填):主机名
  • template_name (必填):模板名称

sync_zabbix序列

修复序列表不同步问题(手动数据库操作后调用一次)。

注: 只有当序列不同步时才需要。基于API的操作会自动处理此问题。

Claude桌面集成

添加到您的Claude Desktop配置文件(~/.config/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "zabbix": {
      "command": "python",
      "args": ["-m", "zabbix_mcp.server"],
      "env": {
        "ZABBIX_HOST": "zabbix.example.com",
        "ZABBIX_USERNAME": "Admin",
        "ZABBIX_PASSWORD": "your-password"
      }
    }
  }
}

许可证

麻省理工学院

作者

Ori_(oribot@edinprint3d.co.uk)