Google Cloud のオペレーション スイート Logging の操作

Google Cloud のオペレーション スイート Logging を使用すると、Google Cloud と Amazon Web Services から、ログデータやイベントの保存、検索、分析、モニタリング、アラートを実行できます。このページでは、PowerShell を使用して Google Cloud のオペレーション スイート Logging を管理する方法について説明します。ログ、ログシンク、ログ指標を作成する簡単な例を示します。

Google Cloud のオペレーション スイート Logging コマンドレットの詳細については、Cloud Tools for PowerShell コマンドレット リファレンスをご覧ください。Google Cloud のオペレーション スイート Logging の詳細については、Google Cloud のオペレーション スイート Logging の概要をご覧ください。

ログとログエントリの作成

ログは、プロジェクトで発生したログエントリの名前付きコレクションです。ログエントリにはステータスやイベントが記録されます。エントリは、Google Cloud サービス、AWS サービス、サードパーティ製アプリケーション、または独自のアプリケーションによって作成されます。ログエントリで送受信される「メッセージ」はペイロードと呼ばれ、単純な文字列の場合もあれば、構造化データの場合もあります。各ログエントリには、モニタリング対象リソースの名前など、ログの作成元が記録されます。

コマンドレット New‑GcLogEntry を使用してログエントリを作成できます。エントリが属するログを指定する必要があります(ログが存在しない場合は作成されます)。ログをモニタリング対象リソースに関連付けるには、-MonitoredResource パラメータを使用できます。デフォルトでは、ログエントリは「グローバル」リソースに関連付けられます。モニタリング対象リソースを作成するには、New‑GcLogMonitoredResource コマンドレットを使用します。

# Creates a log entry in the log "my-log".
New-GcLogEntry -LogName "my-log" -TextPayload "This is a log entry."

# Creates a log entry associated with a Cloud SQL monitored resource
$resource = New-GcLogMonitoredResource -ResourceType "cloudsql_database" `
                                       -Labels @{"project_id" = "my-project";
                                                 "database_id" = "id"}
New-GcLogEntry -LogName "my-log" `
               -TextPayload "This is a log entry." `
               -MonitoredResource $resource

コマンドレット Get‑GcLogEntry. を使用してログエントリを取得できます。

# Gets all entries from log "my-log"
Get-GcLogEntry -LogName "my-log"

# Gets all entries associated with Compute Engine instances
Get-GcLogEntry -ResourceName "gce_instance"

ログシンクの作成

ログエントリをエクスポートするには、コマンドレット New‑GcLogSink を使用してログシンクを作成します。 Stackdriver Logging では、受信したログエントリをシンクと照合し、各シンクに一致するすべてのログエントリが関連付けられた宛先にコピーされます。 シンクが作成される前に存在していたログエントリはエクスポートされません。

エクスポートされたログの出力先には、Cloud Storage バケット、BigQuery データセット、Pub/Sub トピックを指定できます。

# Creates a log sink for log entries in the default project.
# The entries will be sent to the Cloud Storage bucket "my-bucket"
New-GcLogSink -Sink "my-sink" -GcsBucketDestination "my-bucket"

# Creates a log sink for log entries in log "my-log".
# The entries will be sent to the BigQuery data set "my_dataset"
New-GcLogSink -Sink "my-sink" `
              -LogName "my-log" `
              -BigQueryDataSetDestination "my_dataset"

# Creates a log sink for log entries that match the filter.
# The entries will be sent to the Pub/Sub topic "my-topic".
New-GcLogSink -Sink "my-sink" `
              -Filter "textPayload = `"Testing`"" `
              -PubSubTopicDestination "my-topic"

ログ指標の作成

コマンドレット New‑GcLogMetric で特定の条件に一致するログエントリの数をカウントするログ指標を作成できます。これらの指標を使用して、Stackdriver Monitoring でグラフやアラート ポリシーを作成できます。

# Creates a metric for entries in log "my-log".
New-GcLogMetric -Metric "my-metric" -LogName "my-log"

# Creates a metric for entries associated with Compute Engine instances
New-GcLogMetric -Metric "my-metric" -ResourceType "gce_instance"

# Creates a metric for entries that match the filter.
New-GcLogMetric -Metric "my-metric" -Filter "textPayload = `"Testing`""