database_observability.mysql
EXPERIMENTAL: This is an experimental component. Experimental components are subject to frequent breaking changes, and may be removed with no equivalent replacement. The
stability.level
flag must be set toexperimental
to use the component.
Usage
database_observability.mysql "LABEL" {
data_source_name = DATA_SOURCE_NAME
forward_to = [LOKI_RECEIVERS]
}
Arguments
You can use the following arguments with database_observability.mysql
:
Name | Type | Description | Default | Required |
---|---|---|---|---|
data_source_name | secret | Data Source Name for the MySQL server to connect to. | yes | |
forward_to | list(LogsReceiver) | Where to forward log entries after processing. | yes | |
collect_interval | duration | How frequently to collect information from database | "10s" | no |
query_samples_enabled | bool | Whether to enable collection of query samples | true | no |
Blocks
The database_observability.mysql
component doesn’t support any blocks. You can configure this component with arguments.
Example
database_observability.mysql "orders_db" {
data_source_name = "user:pass@mysql:3306/"
forward_to = [loki.write.logs_service.receiver]
}
prometheus.scrape "orders_db" {
targets = database_observability.mysql.orders_db.targets
honor_labels = true // required to keep job and instance labels
forward_to = [prometheus.remote_write.metrics_service.receiver]
}
prometheus.remote_write "metrics_service" {
endpoint {
url = sys.env("<GCLOUD_HOSTED_METRICS_URL>")
basic_auth {
username = sys.env("<GCLOUD_HOSTED_METRICS_ID>")
password = sys.env("<GCLOUD_RW_API_KEY>")
}
}
}
loki.write "logs_service" {
endpoint {
url = sys.env("<GCLOUD_HOSTED_LOGS_URL>")
basic_auth {
username = sys.env("<GCLOUD_HOSTED_LOGS_ID>")
password = sys.env("<GCLOUD_RW_API_KEY>")
}
}
}
Replace the following:
<GCLOUD_HOSTED_METRICS_URL>
: The URL for your Google Cloud hosted metrics.<GCLOUD_HOSTED_METRICS_ID>
: The user ID for your Google Cloud hosted metrics.<GCLOUD_RW_API_KEY>
: Your Google Cloud API key.<GCLOUD_HOSTED_LOGS_URL>
: The URL for your Google Cloud hosted logs.<GCLOUD_HOSTED_LOGS_ID>
: The user ID for your Google Cloud hosted logs.
Compatible components
database_observability.mysql
can accept arguments from the following components:
- Components that export Loki
LogsReceiver
database_observability.mysql
has exports that can be consumed by the following components:
- Components that consume Targets
Note
Connecting some components may not be sensible or components may require further configuration to make the connection work correctly. Refer to the linked documentation for more details.