zapi-mcp¶
Zabbix API 用の MCP サーバーです。
ネットワーク運用のために作りました。daily_brief を1回呼べばアクティブな問題と
サイト固有のカテゴリ(DHCP プール使用率・SNAT セッション使用率・コアネットワークの
問題など)がまとまり、個別のツールで問題・ホスト・アイテム値を照会できます。
ツール¶
| ツール | 説明 |
|---|---|
health_check |
サーバーのバージョン・Zabbix への接続と認証・検出した API バージョン・読み込まれている daily_brief カテゴリ。セッション開始時やタイムアウト後に呼ぶ |
daily_brief |
朝の点検用。アクティブな問題(Warning 以上)と、設定したカテゴリごとのセクション |
get_problems |
深刻度・タグで絞ったアクティブな問題。新しい順・経過時間つき、eventid を含む |
get_hosts |
role / タグ / グループで絞ったホスト一覧(IP・タグつき) |
get_host_items |
1ホストの現在のアイテム値 |
acknowledge_problem |
問題を acknowledge してメッセージを追加(クローズはしない) |
acknowledge_problem 以外はすべて読み取り専用です。
設計方針¶
組織固有の知識はコードではなく設定ファイルに置く。 どのホストタグが「DHCP
プール」や「コアネットワーク」を意味するか、どのアイテムキーが使用率を持つか、
どの閾値が重要か — すべて ZABBIX_CATEGORIES_INI から読みます。サーバー自身は
特定の環境について何も知らないので、同じパッケージをそのまま他所で使えます。
詳しくは daily_brief のカテゴリ設定。
溜まった問題が「今起きたこと」を埋もれさせない。 Zabbix は復旧が確認される
まで問題をアクティブなままにするため、どの環境にも何年も「アクティブ」な
アラートが溜まります(撤去済みホストの ICMP ping down、誰も再起動していない RDP
サービスなど)。daily_brief は問題を新しい順に経過時間つきで並べ、直近ウィンドウ
より古いものは … and N older (stale; oldest …) の1行に畳みます。
件数を黙って切り捨てない。 セクション見出しには真の総数が入り、取得が上限に
達した場合は showing N of TOTAL と表示します。上限に達したリストが自分の長さ
だけを表示すると「これで全部」と読めてしまう — それを避けるための設計です。
認証はサーバーのバージョンに追随する。 Zabbix 6.0 LTS は user と auth
フィールド、6.4 / 7.0 は username と Authorization: Bearer ヘッダーを要求します。
クライアントが API バージョンを検出して正しい形を使うので、アップグレードを
跨いでも同じパッケージが動きます。
次に読むもの¶
- セットアップ — インストール・環境変数・MCP クライアントへの登録
- daily_brief のカテゴリ設定 — 朝のレポートの形を決める INI
- リファレンス — ツール・CLI・終了コード・出力形式