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

enableTrueに設定してCollectionを登録すると、収集が開始されます。