Collection
Collection
は、データを収集する対象デバイス及び収集アイテムを管理するプラグインです。
Collectionが保有する属性
-
hostname
: 収集対象デバイスのホスト名を指定します。指定しない場合は、後述するaddress
がデフォルト設定されます。ユニークである必要があります。 -
address
: 収集対象デバイスのアドレスを指定します。 -
correlation_info
: 任意の関連情報を辞書型で指定します。指定した辞書は、後述するcollections
情報へのレンダリングやカスタムスクリプト内で参照することができます。correlation_info
は、収集されたデータとセットでデータフローパイプライン横断で伝搬されます。 -
enable
: 収集状態の有効化を指定します。True
の場合、定期収集が有効化されます。False
の場合、定期収集が無効化されます。 -
run_script
:Collection
の登録、変更、削除、取得時に実行するCollection Hook
の名前を指定します。例としてCollection
登録時に外部に存在するZabbixサーバにエージェント情報を追加するようなユースケースで使用します。Docs » Collector/Reflector » Collectionフック
を参考にしてください。 -
collections
: 収集アイテムを定義します。Collection Pattern
名を指定するか、収集アイテムや収集方法を直接指定することができます。収集アイテムの設定項目についてはCollection Pattern
と同様となります。Docs » Collector/Reflector » Collectionパタン
を参考にしてください。
API
Collectionリソースの操作は、FrontalのGUIから可能ですが、多くのケースではScenarioやATOMからCRUDされるため、以下のAPIを提供しています。
Method | Path | Description |
---|---|---|
POST | /collections?run_script={collection_hook} | Collectionリソースの新規作成 |
PUT | /collections/{target_id}?run_script={collection_hook} | Collectionリソースの設定変更 |
DELETE | /collections/{target_id}?run_script={collection_hook} | Collectionリソースの削除 |
GET | /collections/{target_id} | Collectionリソースの取得 |
GET | /collections?hostname={hostname}&address={address} | Collectionリソースの検索 |
Note
run_script
は、クエリオプションで指定することもできます。
サンプル
以下は、Collectionのサンプル定義です。尚、correlation_info
には様々なシークレット情報が格納されるため、起動パラメータplugin_secret_key
に秘密鍵を指定してプラグイン定義ファイルへの暗号化を適用することを推奨します。
- hostname: CSR1000v
address: 192.168.2.200
collections:
- csr1000v
correlation_info:
snmp_community: public
vmid: 75CE72DHP742RGQCMLI1MCRFK8I1KRNS
vmware_endpoint: 'http://localhost:8697'
vmware_password: Qmonus!2021
vmware_username: qmonus
zabbix_host: localhost
zabbix_hostgroup: qmonus-example
zabbix_password: zabbix
zabbix_port: 10051
zabbix_url: 'http://localhost:80/api_jsonrpc.php'
zabbix_username: Admin
enable: true
Note
enable
をTrue
に設定してCollectionを登録すると、収集が開始されます。