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を登録すると、収集が開始されます。