Stackdriver
Stackdriver output plugin allows to ingest your records into Google Cloud Stackdriver Logging service.
Before to get started with the plugin configuration, make sure to obtain the proper credentials to get access to the service. We strongly recommend to use a common JSON credentials file, reference link:
Your goal is to obtain a credentials JSON file that will be used later by Fluent Bit Stackdriver output plugin.
Configuration Parameters
Key | Description | default |
---|---|---|
google_service_credentials | Absolute path to a Google Cloud credentials JSON file | Value of environment variable $GOOGLE_SERVICE_CREDENTIALS |
service_account_email | Account email associated to the service. Only available if no credentials file has been provided. | Value of environment variable $SERVICE_ACCOUNT_EMAIL |
service_account_secret | Private key content associated with the service account. Only available if no credentials file has been provided. | Value of environment variable $SERVICE_ACCOUNT_SECRET |
resource | Set resource type of data. Supported resource types: k8s_container, k8s_node, k8s_pod, global and gce_instance. | global, gce_instance |
k8s_cluster_name | The name of the cluster that the container (node or pod based on the resource type) is running in. If the resource type is one of the k8s_container, k8s_node or k8s_pod, then this field is required. | |
k8s_cluster_location | The physical location of the cluster that contains (node or pod based on the resource type) the container. If the resource type is one of the k8s_container, k8s_node or k8s_pod, then this field is required. | |
labels_key | The 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. | logging.googleapis.com/labels |
Configuration File
If you are using a Google Cloud Credentials File, the following configuration is enough to get started:
[INPUT]
Name cpu
Tag cpu
[OUTPUT]
Name stackdriver
Match *
Troubleshooting Notes
Upstream connection error
Github reference: #761
An upstream connection error means Fluent Bit was not able to reach Google services, the error looks like this:
[2019/01/07 23:24:09] [error] [oauth2] could not get an upstream connection
This belongs to a network issue by the environment where Fluent Bit is running, make sure that from the Host, Container or Pod you can reach the following Google end-points:
Other implementations
Stackdriver officially supports a logging agent based on Fluentd.
We plan te support some special fields in structured payloads.
Currently, we have supported operation. See some use cases of operation here.