Google Cloud

Note
This feature is available as an add-on for the Honeycomb Enterprise plan. Please contact your Honeycomb account team for details.

Supported Types 

Logs Metrics Traces

Prerequisites 

Network Requirements 

The following Google Cloud APIs must be enabled

  • Cloud Monitoring
  • Cloud Logging
  • Cloud Trace

The following network access is required between the Telemetry Pipeline Agent and the following Google API endpoint URLs.
Metrics: metrics.

Logging
Google Cloud Logging API v2: logging.googleapis.com:443

Metrics
Google Cloud Monitoring API v3: monitoring.googleapis.com:443

Traces
Google Cloud Trace API: cloudtrace.googleapis.com:443

Tip
👍 Typically, when sent telemetry from a GCP hosted system, these URLs are part of default network access.

Authentication 

The Google Cloud destination supports two forms of authentication.

  • Access Scopes
    • Access Scopes are used when the Telemetry Pipeline Agent is running on a GCP-hosted VM.
  • Service Account
    • Services Account auth is the only option for sending telemetry from non-GCP-hosted agents.

Google Cloud Access Scopes 

When running within Google Cloud, you can configure your Compute Engine instances with the following access scopes. This will allow the Google Cloud destination to configure authentication automatically.

  • logging.write
  • monitoring.write
  • trace.append

You can read more about access scopes here.

Service Account 

If running outside of Google Cloud, or within Google Compute Engine without access scopes, you can create a service account for authentication.

  1. Create a Google service account following this documentation.
  2. Assign your service account the following roles
    1. Logs Writer: roles/logging.logWriter
    2. Monitoring Metric Writer: roles/monitoring.metricWriter
    3. Cloud Trace Agent: roles/cloudtrace.agent
  3. Create and download a Service Account Access Key following this documentation.

The downloaded access key will be used when configuring the Google Cloud destination.

Configuration Table 

Parameter Type Default Description
project string The Google Cloud Project ID to send logs, metrics, and traces to.
auth_type enum auto The method used for authenticating to Google Cloud. ‘auto’ will attempt to use the collector’s environment, which is useful when running on Google Cloud or when you have set GOOGLE_APPLICATION_CREDENTIALS in the collector’s environment. ‘json’ takes the JSON contents of a Google Service Account’s credentials file. ‘file’ is the file path to a Google Service Account credential file.
credentials string JSON value from a Google Service Account credential file.
credentials_file string Path to a Google Service Account credential file on the collector system. The collector’s runtime user must have permission to read this file.

Supported Retry and Queuing Settings 

This destination supports the following retry and queuing settings:

Sending Queue Persistent Queue Retry on Failure

Example Configurations 

Automatic Configuration 

This example uses the auto Authentication Method. When running within Google Cloud with the correct access scopes, the destination will perform automatic authentication and send metrics, traces, and logs to the project bindplane-gcp.

Honeycomb Docs - Google Cloud - automatic configuration

Service Account Credentials (JSON) 

The Honeycomb Telemetry Pipeline can embed credentials into the agent configuration when the authentication method json is selected.

When using the json option, paste the service account JSON key into the text box. This method is convenient as it does not require copying the service account key on the agent system.

Honeycomb Docs - Google Cloud - json configuration

Service Account Credentials (File) 

If you would prefer to copy the service account key to the agent system instead of having Telemetry Pipeline handle it, you can select the file option. In this example, the service account access key file is located at /opt/observiq-otel-collector/service_account.json.

Honeycomb Docs - Google Cloud - file configuration