以下の内容はhttps://tenko.hatenablog.jp/entry/2025/12/11/085302より取得しました。


UniFiのAPIを使ってzabbixで自宅Unifiのメトリクスを取得してみた

この記事は、Zabbix - Qiita Advent Calendar 2025 - Qiita 11日目の記事です。

昨日の投稿は@noun0414 さんのZabbixで円周率の近似値を求めてみた #zabbix - Qiita

思わず吹き出してしまいましたwこれZabbixでやる必要なくね?というのは禁句です。

概要

さて、本日は皆さんのご家庭にも1台はあるであろう、みんな大好きUniFiのお話です。

我が家では、以下のUniFi機器を利用しています。

  • Unifi Express 7
  • Unifi Flex 2.5G 5Port
  • Unifi U7 Lite

自宅のネットワーク概要構成図と対象箇所を以下図に青枠で示します。
(左側にあるのは自宅環境ではなく、クラウド上のサービスです。)

自宅環境とUnifiの利用箇所

今回は、この青枠の情報をZabbixで取得してみた、という内容を書かせていただきます。

これを読むとわかること

  • Unifiというのは、Ubiquiti(ユビキティ)社の製品名であること
  • UniFiのメトリクスを取る方法が、APISNMPの2種類あること、すべてのデバイスSNMP対応ではないこと
  • UniFiのAPIには、Site ManagerのAPIとローカルゲートウェイAPIの2種類あることと、その取得方法
  • UniFiの画面に表示されていても、取れない情報があること

<ここに自作テンプレートのURLを張る>

なお、テンプレートが入ったままでZabbixをすっとばしてしまったので、テンプレートの共有は後日になる見込みです。予めご了承ください。バックアップ大事。

■目次(クリックすると展開されます)

Unifiのメーカー「Ubiquiti」社について

こちらは、過去にTwitterで読み方がわからん!とツイートしたところ、公式から「ユビキティでーす」とご回答をいただきました。大変フレンドリーで親切です。

最初はストアの展開状況から中国の会社なのかな?と思っていましたが、実はアメリカのカリフォルニアの会社さんなんだそうです。

詳細についてはWikipediaの記事や公式HPをご参照ください!!

UniFiのメトリクス取得について

頭出しもしましたが、UniFiのメトリクス取得方法は大きく分けて以下の2種類があります。

  • 通常のネットワーク機器と同様に、SNMPでデータを取得する方法
  • APIを利用し、Site Manager とローカルゲートウェイからデータを取得する方法

SNMPについて

はじめに注意点として、SNMPはすべての機器でサポートをされているわけではありません。

例えば、私の保有しているUniFi Flex 2.5G 5Portは、SNMP非対応です。

SNMPの有効化は、管理画面から、「歯車マーク」→「CyberSecure」→「トラフィックロギング」タブ→「SNMPモニタリング」の箇所から設定が可能です。

WebUIでのSNMP有効化の設定箇所

非対応のデバイスもこちらで表示されていますね。大変親切です。

SNMP用のテンプレートとしては、Zabbix公式のテンプレートが活用できますので、こちらを利用されるとよいと思います。

Ubiquiti monitoring and integration with Zabbix

UniFi APIについて

概要

UniFiのAPIは、Site ManagerのAPIとローカルゲートウェイAPIの2種類ある、と記載しました。

公式ドキュメントはこちらをご参照ください。

各々で取得できる情報や、取得のためのパラメータを以下表にまとめます。

API 取得できる情報 取得に必要なパラメーター
SiteManager API 各ローカルサイトのID情報、サイト内にあるデバイスID、ISP遅延など (1)UniFiパブリックAPIのURL
(2)SiteManagerで発行したTOKEN情報
ローカルゲートウェイ API ローカルサイト内デバイスのメトリクス情報、サイト内クライアントの情報 (1)ローカルゲートウェイAPIのURL
(2)ローカルゲートウェイで発行したTOKEN情報
(3)ローカルゲートウェイのサイトID情報
(4)各デバイスのID情報

最初に戸惑ったのはこの棲み分けでした。これだけみれば、なるほど、となる方もいらっしゃるかもしれません。

以下では、各々の要素について解説していきます。

SiteManager APIについて
公式ドキュメント

以下URLに公式ドキュメントが公開されていますので、ご参照ください。

Getting Started | UniFi API

API TOKEN取得方法

SiteManagerの画面上から「Integration」→「Create New API Key」で発行できます。

パーミッションは標準ではView Onlyが選択されています。
POSTなどをしたい方はFull Accessを選択されるとよいでしょう。

SiteManager側のAPIトークンの発行場所

ローカルゲートウェイAPIについて
公式ドキュメント

おそらく、各サイトのクラウドゲートウェイマッピングされている?ような気がしていますので、URL自体は共有はやめておきます。

「Integration」のメニューを開くと、右側に「API Request Format」のリンクがありますので、そちらをご参照ください。

下記のScreenShot内でもリファレンスへのリンクの位置を確認可能です。

API TOKEN取得方法

ローカルゲートウェイ側の管理画面から、「Integration」→「Create New API Key」を選択します。

こちらでは権限などの定義はありませんでした。

ここで発行されたAPIキーは、あとから参照はできませんので、手元にのこしておきます。

ローカルゲートウェイ側のAPIトークンの発行場所

Zabbix上でのAPI側のメトリクス取得について

やっとZabbixが出てきました。ここまでお付き合いいただきありがとうございます。

Zabbixでは、基本的に上記APIのすべてをHTTPエージェントで処理できます。

注意点としては以下の点です。

  • APIが2種類あるため、各々でエンドポイントが異なる
  • SiteManager上で取得した対象サイトのデバイスID情報は、ローカルゲートウェイのデバイスIDと同一
  • SiteManager上で取得した対象サイトID情報は、ローカルゲートウェイAPIを利用する際に必要となるサイトID情報とは異なる

特に、ローカルゲートウェイのリファレンスを読むとわかりますが、ローカルゲートウェイ側のエンドポイントの形式が、SiteManager側と異なるため注意が必要です。

そのため、私は以下のようなディスカバリの実装にしました。

  • SiteManager上から取得してくるテンプレートのディスカバリアイテム…ローカルデバイスのID情報、モデル情報、ホスト名
    • ディスカバリ上で、ホストテンプレートに対してデバイスIDの情報などをマクロで引き渡す
    • SiteManagerのみをホスト登録し、残りはディスカバリで自動でホスト登録させるため、SiteManager側では不要となる以下のマクロの値をホストテンプレート側に引き渡す
  • ローカルゲートウェイ用のテンプレートのディスカバリアイテム…ローカルデバイスの各種アイテムをAPIで取得し、LLDマクロで各アイテム用の値としてばらまく

取得できるものとできないもの

実際に触ってみた結果、以下の通りの結果でした。

  • 通信機器系…CPU/Memory Usageや、Uplinkのトラフィックのメトリクスは取得可能だが、各ポートまでは難しそう
  • クライアント系…ホスト名などは取得できるが、トラフィックメトリクスなどは難しそう

上述したように、WebUIで確認可能な項目の中でも、取得できるものとできないものがあることがわかりました。

このあたりについては、必要に応じてSNMPで取得可能なメトリクスと組み合わせてモニタリングをするのがよさそうだな、という印象です。

テンプレートの共有

<ここに自作テンプレートのURLを張る>

冒頭にも記載しましたが、2025/12/1 8:46時点では、ふっとばしたテンプレートデータを再構築できていないため、現時点では共有できる情報はありません。

早く使いたい!という方は、GitHubなどにAPI用のテンプレートが公開されているようですので、そちらをご参照ください。

気長にお待ちいただける方は、今週末までにはなんとか復旧させますので、それまでお待ちください。

終わりに

長々とUniFiのAPI仕様について記載してきました。いかがだったでしょうか。

私はネットワークエンジニアを20年以上続けていますが、これほど高機能な機器がこの値段で買えるとは…と驚きを隠せませんでした。

ぜひ皆さんも、自宅ネットワークの再構築の際にはUniFiを導入することを検討してみてください。

ちょうどホリデー割引も来ています(ニッコリ) https://x.com/i/status/1998765933985235142

そして、Zabbixでメトリクス情報を取得してみてください。

UniFiはいいぞおじさん「UniFiはいいぞ」

Zabbixはいいぞおじさん「Zabbixはいいぞ」




以上の内容はhttps://tenko.hatenablog.jp/entry/2025/12/11/085302より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14