Zabbix监控API服务

一个提供只读访问Zabbix API的服务,用于获取主机列表、当前问题、触发器、主机负载和指标历史数据。

  • by RamazanovDV
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 RamazanovDV/aic-t16

使用说明

MCP Zabbix服务器

用于监控Zabbix API的MCP服务器。提供只读工具:

  • 获取主机列表
  • 解决当前问题
  • 获取触发器
  • 接收主机负载(CPU、RAM、磁盘)
  • 获取度量历史记录

安装

# Создать виртуальное окружение
python -m venv .venv

# Активировать
source .venv/bin/activate

# Установить зависимости
pip install -e .

配置

创建文件 config.yaml:

zabbix:
  url: "http://zabbix.example.com"
  username: "Admin"
  password: "your_password"

启动服务器

# Из конфиг-файла
python -m mcp_zabbix_server --config config.yaml

# Из переменных окружения
ZABBIX_URL=http://zabbix.example.com \
ZABBIX_USERNAME=Admin \
ZABBIX_PASSWORD=your_password \
python -m mcp_zabbix_server

# С указанием порта и хоста
python -m mcp_zabbix_server --config config.yaml --host 0.0.0.0 --port 8000

使用客户

# Список доступных инструментов
mcp-client tools http://localhost:8000

# Получить хосты
mcp-client call http://localhost:8000 --tool get_hosts

# Получить проблемы
mcp-client call http://localhost:8000 --tool get_problems

# Получить нагрузку хоста
mcp-client call http://localhost:8000 --tool get_host_load --args '{"host_id": "10084"}'

# Получить историю
mcp-client call http://localhost:8000 --tool get_history --args '{"host_id": "10084", "item_key": "system.cpu.load[all,avg1]", "time_from_hours": 24}'

可用工具

工具描述参数 |------------|----------|-----------| | get_hosts 主机列表 host_ids, group_ids, filter_name | | get_problems 目前的问题。 host_ids, severity, time_from_hours | | get_triggers 触发器主机 host_ids, status, priority | | get_host_load 负载(CPU/RAM/Disk) host_id, item_key | | get_history Metric的历史 host_id, item_key, time_from_hours, time_till_hours, limit |

要求

  • Python 3.13+
  • Zabbix 7.x(使用Bearer Token Auth)