Skip to main content
Sumo Logic

Collect Logs for Google Cloud Functions

This page has instructions for configuring Google Cloud Functions to send logs to Sumo.

Configure Google Cloud Functions to export logs to Stackdriver   

If you haven't already done so, set up Google Cloud Functions to export logs to Stackdriver. For more information, see Overview of Logs Export in GCP.

Set up a Google-validated HTTP source and Pub/Sub topic   

In this step, you set up an HTTP source in Sumo, register it with Google, and create a Pub/Sub topic to send data to the HTTP source. Follow the instructions in Google Cloud Platform Source.

When you create the HTTP Source, assign a Source Category of “GCP”.

Create export of Google Cloud Function logs from Stackdriver  

  1. Go to Logging and click Exports.
    gcp6.png
  2. Click Create Export.
    gcp7.png
  3. Select a GCP service to filter the logs.The recommended GCP service to create sinks for is "Cloud Function". In the Edit Export window on the right:

    1. Set the Sink Name. For example, "gce-vm-instance".
    2. Select "Cloud Pub/Sub" as the Sink Service.
    3. Set Sink Destination to the Pub/Sub topic you created in the Google Cloud Platform Source procedure. For example, "pub-sub-logs".
    4. Click Create Sink.
      gcp8.png

Query Sample 

Created Resources Over Time

_sourceCategory=*gcp* logName textPayload "\"type\":\"cloud_function\"" "\"textPayload\":\"Function execution took"
| parse regex "\"logName\":\"(?<log_name>[^\"]+)\""
| where log_name matches "projects/*/logs/cloudfunctions.googleapis.com%2Fcloud-functions"
| json "message.data.resource.labels" as labels
| json field=labels "function_name", "project_id", "region" as function, project, region
| timeslice 1h
| count as executions by _timeslice 
| compare with timeshift 1d 7 avg