Utiliser Logging

Grâce à Cloud Logging, vous pouvez stocker, rechercher, analyser et surveiller les données et les événements des journaux à partir de Google Cloud et d'Amazon Web Services, et recevoir des alertes le cas échéant. Cette page explique comment gérer 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 relative aux cmdlets Cloud Tools for PowerShell pour en savoir plus sur les cmdlets Logging. Pour en savoir plus sur Logging en général, consultez le guide Présentation de 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 Google Cloud, 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 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

Vous pouvez récupérer des entrées de journal à l'aide du 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 journaux à l'aide du 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.

# 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

À l'aide du cmdlet New‑GcLogMetric, vous pouvez créer des métriques de journal qui comptent le nombre d'entrées correspondant à certains critères. 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`""