TELEMETRY PIPELINE
Google Cloud Operations Suite

Google Cloud Operations Suite destination plugin

The Google Cloud Operations Suite destination plugin lets you configure Chronosphere Telemetry Pipeline to stream your log data and metrics to Google Cloud Operations Suite.

Supported telemetry types

This plugin supports these telemetry types:

LogsMetricsTraces

Configuration parameters

Use the parameters in this section to configure your plugin. The Telemetry Pipeline web interface uses the values in the Name column to describe the parameters. Items in the Key column are the YAML keys to use in pipeline configuration files.

GCP Authentication

NameKeyDescriptionDefault
Google Service Credentials Pathgoogle_service_credentialsThe Service Credentials file lets Telemetry Pipeline communicate directly with Google Cloud Services. For information about how to set up service credentials, see the Google Cloud Observability documentation (opens in a new tab).none
GCP Service Account Emailservice_account_emailAccount email associated to the service. Available only if no credentials file is provided.none
GCP Service Account Secretservice_account_secretPrivate key content associated with the service account. Available only if no credentials file is provided.none
Metadata Servermetadata_serverPrivate key content associated with the service account. Available only if no credentials file is provided.http://metadata.google.internal

Advanced

NameKeyDescriptionDefault
Region LocationlocationThe Google Cloud or AWS region in which to store data about the resource. If the resource type is either generic_node or generic_task, this field is required.none
Namespace IdentifiernamespaceA namespace identifier, such as a cluster name or environment. If the resource type is either generic_node or generic_task, this field is required.none
Node ID Identifiernode_idA unique identifier for the node within the namespace, such as hostname or IP address. If the resource type is generic_node, this field is required.none
Job IdentifierjobAn identifier for a grouping of related task, such as the name of a microservice or distributed batch. If the resource type is generic_task, this field is required.none
Task ID Identifiertask_idA unique identifier for the task within the namespace and job, such as a replica index identifying the task within the job. If the resource type is generic_task, this field is required.none
GCP Project IDexport_to_project_idThe Google Cloud project to receive these logs. Defaults to the project ID of the google_service_credentials file, or the project_id from Google's metadata.google.internal server.none
Resource TyperesourceSet resource type of data. Accepted values: k8s_container, k8s_node, k8s_pod, global, generic_node, generic_task, gce_instance.none
Kubernetes Cluster Namek8s_cluster_nameThe name of the cluster that the container (node or pod based on the resource type) is running in. If the resource type is k8s_container, k8s_node, or k8s_pod, this field is required.none
Kubernetes Cluster Locationk8s_cluster_locationThe physical location of the cluster that contains (node or pod based on the resource type) the container. If the resource type is k8s_container, k8s_node, or k8s_pod, this field is required.none
Labels Keylabels_keyThe value of this field is used by the Stackdriver output plugin to find the related labels from jsonPayload and then extract the value of it to set the LogEntry labels.none
LabelslabelsOptional list of comma-separated of strings specifying key/value pairs. The resulting labels are combined with the elements in obtained from labels_key to set the LogEntry labels. Elements from labels override duplicate values from labels_key.none
Log Name Keylog_name_keyThe value of this field is used by the plugin to extract logName from jsonPayload and set the logName field.none
Tag Prefixtag_prefixSet the tag_prefix used to validate the tag of logs with k8s resource type. Without this option, the tag of the log must be in format of k8s_container(pod/node).* to use the k8s_container resource type. Now the tag prefix is configurable by this option, being aware of the ending dot.none
Severity Keyseverity_keySpecify the name of the key from the original record that contains the severity information.none
Enable Cloud Trace Integrationautoformat_stackdriver_traceRewrite the trace field to include the projectID and format it for use with Cloud Trace. When enabled, the user can get the correct result by printing only the traceID (usually 32 characters). Accepted values: true, false.false
Custom K8s Regexcustom_k8s_regexSet a custom regular expression to extract field like pod_name, namespace_name, container_name, and docker_id from the local_resource_id in logs. This is helpful if the value of pod or node name contains dots.none

Security and TLS

NameKeyDescriptionDefault
TLStlsEnable or disable TLS/SSL support. Accepted values: true, false.false
TLS Certificate Validationtls.verifyEnable or disable TLS/SSL certificate validation. TLS must be enabled for certificates to be validated. Accepted values: off, on.on
TLS Debug Leveltls.debugSet TLS debug verbosity level. Accepted values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational), 4 (Verbose).1
CA Certificate File Pathtls.ca_fileAbsolute path to CA certificate file.none
Certificate File Pathtls.crt_fileAbsolute path to certificate file.none
Private Key File Pathtls.key_fileAbsolute path to private key file.none
Private Key Path Passwordtls.key_passwdPassword for private key file.none
TLS SNI Hostname Extensiontls.vhostHostname to be used for TLS SNI extension.none

Advanced Networking

NameKeyDescriptionDefault
DNS Modenet.dns.modeSelect the primary DNS connection type, which can be TCP or UDP.none
DNS Resolvernet.dns.resolverSelect the primary DNS connection type, which can be LEGACY or ASYNC.none
Prefer IPv4net.dns.prefer_ipv4Prioritize IPv4 DNS results when trying to establish a connection. Accepted values: true, false.false
Keepalivenet.keepaliveEnable or disable Keepalive support. Accepted values: true, false.true
Keepalive Idle Timeoutnet.keepalive_idle_timeoutSet maximum time allowed for an idle Keepalive connection.30s
Max Connect Timeoutnet.connect_timeoutSet maximum time allowed to establish a connection, which includes the TLS handshake.10s
Max Connect Timeout Log Errornet.connect_timeout_log_errorOn connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message. Accepted values: true, false.true
Max Keepalive Recyclenet.keepalive_max_recycleSet maximum number of times a keepalive connection can be used before it's retired.2000
Source Addressnet.source_addressSpecify network address to bind for data traffic.none