NetPulse はネイティブエージェント、SNMP、外部エージェント、スイッチファームウェア内の beacon からデータを受信します。適切なソースは各デバイスで実行できるソフトウェアによって異なります。
対応するファミリーと各ソースで得られる情報です。実際の対応範囲はモデルとファームウェアによって異なります。
| プラットフォーム | データソース | 利用できるデータ | 要件と制限 |
|---|---|---|---|
| OpenWrt と GL.iNet | ルーター上のネイティブエージェント | システム、WiFi、クライアント、ポート | 対応バージョンでは NetPulse からインストール |
| MikroTik RouterOS 7+ | 外部 Go pusher | ホスト、アクセスポイント、ポート | 読み取り専用ユーザーと supervisor 用マシン |
| Asuswrt / Asuswrt-Merlin | ルーター上のプローブと pusher | システム、WiFi、クライアント、ポート | SSH アクセスと /jffs の永続ストレージ |
| その他の連携 | BBox ローカル API のポーラーと RTLPlayground ビーコン | BBox: システム、WAN、ホスト、ポートのレート。RTL: ポート状態、レート、FDB | BBox: ローカル API と supervisor 用マシン。RTL: 上級者向け。ファームウェアを復元用コピー付きで置き換え |
| UniFi | 外部コントローラーポーラー | 1 サイトのゲートウェイ、スイッチ、AP、クライアント | ui.com クラウド、CPU、温度には非対応 |
| 管理スイッチ | NetPulse からの SNMP | ポート、速度、LLDP-MIB ネイバー | 利用可能な MIB はデバイスによって異なります |
MikroTik、Asuswrt、UniFi がルーターやコントローラーを照会し、HTTPS 経由で NetPulse へデータを送ります。最後のカードは、それぞれ別の伝送方式を使う追加ソースをまとめています。
RouterOS を読み取り、ホスト、アクセスポイント、ポートを送信します。
Pusher はルーター上で動作し、NetPulse のポータブルプローブを再利用します。/jffs に配置できます。
コントローラー上の 1 サイトからゲートウェイ、スイッチ、アクセスポイント、クライアントを読み取ります。
要件が異なる 2 つの追加ソースです。
Realtek の Web 管理スイッチは Go エージェントを実行できません。RTLPlayground フォークの beacon は NetPulse リスナーへ直接データを送信します。
Beacon は信頼された LAN 内で UDP と平文トークンを使います。外部エージェントの署名付き HTTPS 転送は使いません。
RouterOS、Asus、BBox、UniFi は別リポジトリを共有します。NetPulse は取り込み契約を維持し、各連携はベンダーのリリースサイクルに従います。
各連携は独自のタグで修正を公開でき、サーバーのリリースを待つ必要がありません。
ルーターやコントローラーのパスワードは連携の設定内に保持されます。NetPulse が受け取るのはエージェントトークンです。
これらの連携はデータの読み取りと送信だけを行い、NetPulse からデバイス設定を変更しません。
コアは使用しない連携のコードを実行しません。軽量で安定した状態を保ち、必要なエージェントだけを追加できます。
エージェントは各スナップショットを X-Agent-Signature ヘッダーで HMAC-SHA256 署名し、トークンと共に NetPulse の取り込み先へ送ります。デバイスは external として表示されます。
git clone https://github.com/gnacho/netpulse-integrations
cd netpulse-integrations
go build -o netpulse-integrations ./cmd/integrations-supervisor
リポジトリでは amd64 と arm64 の静的バイナリを SHA-256 付きで公開し、systemd ユニットの例も含めています。