Utiliser Stackdriver Logging

Avec Stackdriver Logging, vous pouvez stocker, rechercher, analyser et surveiller les données et les événements des journaux de Google Cloud Platform et d'Amazon Web Services. Cette page explique comment gérer Stackdriver Logging à l'aide de PowerShell. Elle présente un exemple simple de création de journaux, de récepteurs et de métriques de journal.

Consultez la documentation de référence des cmdlets Cloud Tools for PowerShell pour en savoir plus sur les cmdlets Stackdriver Logging. Pour plus d'informations générales sur Stackdriver Logging, consultez la section Présentation de Stackdriver Logging.

Créer des journaux et des entrées de journal

Un journal est une collection nommée d'entrées de journal au sein d'un projet. Une entrée de journal enregistre un état ou un événement. Cette entrée peut être créée par les services GCP, les services AWS, des applications tierces ou vos propres applications. Le "message" contenu dans l'entrée de journal s'appelle la charge utile : il peut s'agir d'une chaîne simple ou de données structurées. Chaque entrée de journal inclut le nom d'une ressource surveillée qui indique d'où l'entrée provient.

Le cmdlet New‑GcLogEntry peut être utilisé pour créer une entrée de journal. Vous devrez spécifier le journal auquel l'entrée appartient (si le journal n'existe pas, il sera créé). Pour associer le journal à une ressource surveillée, vous pouvez utiliser le paramètre -MonitoredResource. Par défaut, l'entrée de journal est associée à la ressource "global" (globale). Pour créer une ressource surveillée, utilisez le cmdlet New‑GcLogMonitoredResource.

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

# 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." `
               -MonitoredResource $resource

Vous pouvez récupérer des entrées de journal avec le cmdlet 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"

Créer des récepteurs de journal

Pour exporter des entrées de journal, vous pouvez créer des récepteurs de journal avec le cmdlet New‑GcLogSink. Stackdriver Logging comparera les entrées de journal entrantes aux récepteurs et toutes les entrées de journal correspondant à chaque récepteur seront alors copiées vers la destination associée. Les entrées de journal existant avant la création du récepteur ne seront pas exportées.

Les destinations des journaux exportés peuvent être des buckets Cloud Storage, des ensembles de données BigQuery ou des sujets Pub/Sub Cloud.

# 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"

Créer des métriques de journal

Vous pouvez créer des métriques de journal qui comptent le nombre d'entrées de journal correspondant à certains critères avec le cmdlet New‑GcLogMetric. Ces métriques peuvent être utilisées pour créer des graphiques et des stratégies d'alerte dans 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`""