イベント#

はじめに#

イベントとは LXD 上で発生したアクションに関するメッセージです。 /1.0/events の API エンドポイントを直接使うか lxc monitor コマンドを使うことでウェブソケットに接続しログとライフサイクルメッセージがストリーム出力されます。

イベント種別#

LXD は現在 3 つのイベント種別をサポートします。

  • Logging: サーバのログレベルに関係なく全てのログメッセージを表示します。

  • Operation: 作成から完了までの(状態と進捗メタデータの更新を含む)全ての実行中のオペレーションを表示します。

  • Lifecycle: LXD 上で発生する特定のアクションの監査証跡を表示します。

イベント構造#

例:#

location: cluster_name
metadata:
  action: network-updated
  requestor:
    protocol: unix
    username: root
  source: /1.0/networks/lxdbr0
timestamp: "2021-03-14T00:00:00Z"
type: lifecycle
  • location: クラスタメンバー名(クラスタであれば)。

  • timestamp: RFC3339 形式のイベント発生時刻。

  • type: イベント種別(logging, operation, lifecycle のいずれか)。

  • metadata: 特定のイベント種別に関する情報。

logging イベントの構造#

  • message: ログメッセージ。

  • level: ログのログレベル。

  • context: イベントに含まれる追加情報。

operation イベントの構造#

  • id: オペレーションの UUID

  • class: オペレーション種別(task, token, websocket のいずれか)。

  • description: オペレーションの説明。

  • created_at: オペレーションの作成日時。

  • updated_at: オペレーションの更新日時。

  • status: オペレーションの現在の状態。

  • status_code: オペレーションのステータスコード。

  • resources: このオペレーションで影響を受けるリソース。

  • metadata: オペレーション特有のメタデータ。

  • may_cancel: オペレーションがキャンセル可能か。

  • err: オペレーションのエラーメッセージ。

  • location: クラスタメンバー名(クラスタであれば)。

lifecycle イベントの構造#

  • action: 発生したライフサイクルアクション。

  • requestor: 誰がリクエストを作成したかの情報(該当するものがあれば)。

  • source: アクションの対象のパス。

  • context: イベントに含まれる追加情報。

サポートされる lifecycle イベント#

| 名前 | 説明 | 追加情報 | - | :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | certificate-created | サーバのトラスト・ストアに新しい証明書が追加された。 | | | certificate-deleted | トラスト・ストアから証明書が削除された。 | | | certificate-updated | 証明書の設定が更新された。 | | | cluster-certificate-updated | クラスタ全体の証明書が変更された。 | | | cluster-disabled | このマシンに対してクラスタリングが無効化された。 | | | cluster-enabled | このマシンに対してクラスタリングが有効化された。 | | | cluster-member-added | 新しいマシンがクラスタに参加した。 | | | cluster-member-removed | クラスタからクラスタメンバーが削除された。 | | | cluster-member-renamed | クラスタメンバーがリネームされた。 | old_name: 以前の名前。 | | cluster-member-updated | クラスタメンバーの設定が変更された。 | | | cluster-token-created | クラスタメンバー追加のための参加トークンが作成された。 | | | config-updated | サーバの設定が変更された。 | | | image-alias-created | 既存イメージのエイリアスが作成された。 | target: オリジナルのインスタンス。 | | image-alias-deleted | 既存イメージのエイリアスが削除された。 | target: オリジナルのインスタンス。 | | image-alias-renamed | 既存イメージのエイリアスがリネームされた。 | old_name: 以前の名前。 | | image-alias-updated | イメージ・エイリアスの設定が変更された。 | target: オリジナルのインスタンス。 | | image-created | イメージ・ストアに新しいイメージが追加された。 | type: container か vm。 | | image-deleted | イメージ・ストアからイメージが削除された。 | | | image-refreshed | ローカルのイメージコピーが現在のソースイメージのバージョンに更新された。 | | | image-retrieved | raw イメージファイルがサーバからダウンロードされた。 | target: ダウンロード先のサーバ。 | | image-secret-created | イメージ取得用のワンタイム・キーが作成された。 | | | image-updated | イメージの設定が変更された。 | | | instance-backup-created | インスタンスのバックアップが作成された。 | | | instance-backup-deleted | インスタンスのバックアップが削除された。 | | | instance-backup-renamed | インスタンスのバックアップがリネームされた。 | old_name: 以前の名前。 | | instance-backup-retrieved | raw インスタンス・バックアップ・ファイルがダウンロードされた。 | | | instance-console | インスタンスのコンソールに接続された。 | type: console か vga。 | | instance-console-reset | コンソール・バッファーがリセットされた。 | | | instance-console-retrieved | コンソール・ログがダウンロードされた。 | | | instance-created | 新しいインスタンスが作成された。 | | | instance-deleted | インスタンスが削除された。 | | | instance-exec | インスタンス上でコマンドが実行された。 | command: 実行されたコマンド。 | | instance-file-deleted | インスタンス上のファイルが削除された。 | file: ファイルのパス。 | | instance-file-pushed | インスタンスにファイルがアップロードされた。 | file-source: ローカルのファイルパス。 file-destination: コピー先のファイルパス。 info: ファイルの情報。 | | instance-file-retrieved | インスタンスからファイルがダウンロードされた。 | file-source: インスタンスのファイルパス。 file-destination: コピー先のファイルパス。 | | instance-log-deleted | インスタンスの指定のログファイルが削除された。 | | | instance-log-retrieved | インスタンスの指定のログファイルがダウンロードされた。 | | | instance-metadata-retrieved | インスタンスのイメージメタデータがダウンロードされた。 | | | instance-metadata-updated | インスタンスのイメージメタデータが変更された。 | | | instance-metadata-template-created | インスタンスの新しいイメージテンプレートファイルが作成された。 | path: ファイルの相対パス。 | | instance-metadata-template-deleted | インスタンスのイメージテンプレートファイルが削除された。 | path: ファイルの相対パス。 | | instance-metadata-template-retrieved | インスタンスのイメージテンプレートファイルがダウンロードされた。 | path: ファイルの相対パス。 | | instance-paused | インスタンスが休止状態にされた。 | | | instance-renamed | インスタンスがリネームされた。 | old_name: 以前の名前。 | | instance-restarted | インスタンスが再起動された。 | | | instance-restored | インスタンスがスナップショットから復元された。 | snapshot: 復元されたスナップショット名。 | | instance-resumed | インスタンスが休止状態から復帰された。 | | | instance-shutdown | インスタンスがシャットダウンされた。 | | | instance-started | インスタンスが起動された。 | | | instance-stopped | インスタンスが停止された。 | | | instance-updated | インスタンスの設定が変更された。 | | | instance-snapshot-created | インスタンスのスナップショットが作成された。 | | | instance-snapshot-deleted | インスタンスのスナップショットが削除された。 | | | instance-snapshot-renamed | インスタンスのスナップショットがリネームされた。 | old_name: 以前の名前。 | | instance-snapshot-updated | インスタンス・スナップショットの設定が変更された。 | | | network-acl-created | 新しいネットワーク ACL が作成された。 | | | network-acl-deleted | ネットワーク ACL が削除された。 | | | network-acl-renamed | ネットワーク ACL がリネームされた。 | old_name: 以前の名前。 | | network-acl-updated | ネットワーク ACL の設定が変更された。 | | | network-created | ネットワークデバイスが作成された。 | | | network-deleted | ネットワークデバイスが削除された。 | | | network-renamed | ネットワークデバイスがリネームされた。 | old_name: 以前の名前。 | | network-updated | ネットワークデバイスの設定が変更された。 | | | operation-cancelled | オペレーションがキャンセルされた。 | | | profile-created | 新しいプロファイルが作成された。 | | | profile-deleted | プロファイルが削除された。 | | | profile-renamed | プロファイルがリネームされた。 | old_name: 以前の名前。 | | profile-updated | プロファイルの設定が変更された。 | | | project-created | 新しいプロジェクトが作成された。 | | | project-deleted | プロジェクトが削除された。 | | | project-renamed | プロジェクトがリネームされた。 | old_name: 以前の名前。 | | project-updated | プロジェクトの設定が変更された。 | | | storage-pool-created | 新しいストレージプールが作成された。 | target: クラスタメンバー名。 | | storage-pool-deleted | ストレージプールが削除された。 | | | storage-pool-updated | ストレージプールの設定が変更された。 | target: クラスタメンバー名。 | | storage-volume-backup-created | ストレージボリュームの新しいバックアップが作成された。 | type: container, virtual-machine, image, custom のいずれか。 | | storage-volume-backup-deleted | ストレージボリュームのバックアップが削除された。 | | | storage-volume-backup-renamed | ストレージボリュームのバックアップがリネームされた。 | old_name: 以前の名前。 | | storage-volume-backup-retrieved | ストレージボリュームのバックアップがダウンロードされた。 | | | storage-volume-created | 新しいストレージボリュームが作成された。 | type: container, virtual-machine, image, custom のいずれか。 | | storage-volume-deleted | ストレージボリュームが削除された。 | | | storage-volume-renamed | ストレージボリュームがリネームされた。 | old_name: 以前の名前。 | | storage-volume-restored | ストレージボリュームがスナップショットから復元された。 | snapshot: 復元されたスナップショット名。 | | storage-volume-updated | ストレージボリュームの設定が変更された。 | | | storage-volume-snapshot-created | 新しいストレージボリュームスナップショットが作成された。 | type: container, virtual-machine, image, custom のいずれか。 | | storage-volume-snapshot-deleted | ストレージボリュームのスナップショットが削除された。 | | | storage-volume-snapshot-renamed | ストレージボリュームのスナップショットがリネームされた。 | old_name: 以前の名前。 | | storage-volume-snapshot-updated | ストレージボリュームのスナップショットの設定が変更された。 | | | warning-acknowledged | 警告の状態が "acknowledged" (確認済み)に設定された。 | | | warning-deleted | 警告が削除された。 | | | warning-reset | 警告の状態が "new" (新規)に設定された。 | |