# イベント ## イントロダクション イベントとは LXD 上で発生したアクションに関するメッセージです。 `/1.0/events` の API エンドポイントを直接使うか `lxc monitor` コマンドを使うことでウェブソケットに接続しログとライフサイクルメッセージがストリーム出力されます。 ## イベント種別 LXD は現在 3 つのイベント種別をサポートします。 - `logging`: サーバーのログレベルに関係なく全てのログメッセージを表示します。 - `operation`: 作成から完了までの(状態と進捗メタデータの更新を含む)全ての実行中のオペレーションを表示します。 - `lifecycle`: LXD 上で発生する特定のアクションの監査証跡を表示します。 ## イベント構造 ### 例: ```yaml 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`: クラスタメンバー名(クラスタであれば)。 ### ライフサイクルイベントの構造 - `action`: 発生したライフサイクルアクション。 - `requestor`: 誰がリクエストを作成したかの情報(該当するものがあれば)。 - `source`: アクションの対象のパス。 - `context`: イベントに含まれる追加情報。 ## サポートされるライフサイクルイベント | 名前 | 説明 | 追加情報 | :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `certificate-created` | サーバーのトラスト・ストアに新しい証明書が追加された。 | | | `certificate-deleted` | トラスト・ストアから証明書が削除された。 | | | `certificate-updated` | 証明書の設定が更新された。 | | | `cluster-certificate-updated` | クラスタ全体の証明書が変更された。 | | | `cluster-disabled` | このマシンに対してクラスタリングが無効化された。 | | | `cluster-enabled` | このマシンに対してクラスタリングが有効化された。 | | | `cluster-group-created` | 新しいクラスタグループが作成された。 | | | `cluster-group-deleted` | クラスタグループが削除された。 | | | `cluster-group-renamed` | クラスタグループがリネームされた。 | | | `cluster-group-updated` | クラスタグループが更新された。 | | | `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-template-created` | インスタンスの新しいイメージテンプレートファイルが作成された。 | `path`: ファイルの相対パス。 | | `instance-metadata-template-deleted` | インスタンスのイメージテンプレートファイルが削除された。 | `path`: ファイルの相対パス。 | | `instance-metadata-template-retrieved` | インスタンスのイメージテンプレートファイルがダウンロードされた。 | `path`: ファイルの相対パス。 | | `instance-metadata-updated` | インスタンスのイメージメタデータが変更された。 | | | `instance-paused` | インスタンスが休止状態にされた。 | | | `instance-ready` | インスタンスが準備完了になった。 | | | `instance-renamed` | インスタンスがリネームされた。 | `old_name`: 以前の名前。 | | `instance-restarted` | インスタンスが再起動された。 | | | `instance-restored` | インスタンスがスナップショットから復元された。 | `snapshot`: 復元されたスナップショット名。 | | `instance-resumed` | インスタンスが休止状態から復帰された。 | | | `instance-shutdown` | インスタンスがシャットダウンされた。 | | | `instance-snapshot-created` | インスタンスのスナップショットが作成された。 | | | `instance-snapshot-deleted` | インスタンスのスナップショットが削除された。 | | | `instance-snapshot-renamed` | インスタンスのスナップショットがリネームされた。 | `old_name`: 以前の名前。 | | `instance-snapshot-updated` | インスタンス・スナップショットの設定が変更された。 | | | `instance-started` | インスタンスが起動された。 | | | `instance-stopped` | インスタンスが停止された。 | | | `instance-updated` | インスタンスの設定が変更された。 | | | `network-acl-created` | 新しいネットワーク ACL が作成された。 | | | `network-acl-deleted` | ネットワーク ACL が削除された。 | | | `network-acl-renamed` | ネットワーク ACL がリネームされた。 | `old_name`: 以前の名前。 | | `network-acl-updated` | ネットワーク ACL の設定が変更された。 | | | `network-created` | ネットワークデバイスが作成された。 | | | `network-deleted` | ネットワークデバイスが削除された。 | | | `network-forward-created` | ネットワークフォワードが作成された。 | | | `network-forward-deleted` | ネットワークフォワードが削除された。 | | | `network-forward-updated` | ネットワークフォワードが更新された。 | | | `network-peer-created` | ネットワークピアが作成された。 | | | `network-peer-deleted` | ネットワークピアが削除された。 | | | `network-peer-updated` | ネットワークピアがリネームされた。 | | | `network-renamed` | ネットワークデバイスがリネームされた。 | `old_name`: 以前の名前。 | | `network-updated` | ネットワークデバイスの設定が変更された。 | | | `network-zone-created` | ネットワークゾーンが作成された。 | | | `network-zone-deleted` | ネットワークゾーンが削除された。 | | | `network-zone-record-created` | ネットワークゾーンレコードが作成された。 | | | `network-zone-record-deleted` | ネットワークゾーンレコードが削除された。 | | | `network-zone-record-updated` | ネットワークゾーンレコードが更新された。 | | | `network-zone-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-snapshot-created` | 新しいストレージボリュームスナップショットが作成された。 | `type`: `container`, `virtual-machine`, `image`, `custom` のいずれか。 | | `storage-volume-snapshot-deleted` | ストレージボリュームのスナップショットが削除された。 | | | `storage-volume-snapshot-renamed` | ストレージボリュームのスナップショットがリネームされた。 | `old_name`: 以前の名前。 | | `storage-volume-snapshot-updated` | ストレージボリュームのスナップショットの設定が変更された。 | | | `storage-volume-updated` | ストレージボリュームの設定が変更された。 | | | `warning-acknowledged` | 警告の状態が "acknowledged" (確認済み)に設定された。 | | | `warning-deleted` | 警告が削除された。 | | | `warning-reset` | 警告の状態が "new" (新規)に設定された。 | |