database_observability.mysql
Experimental

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 to experimental to use the component.

Usage

alloy
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:

NameTypeDescriptionDefaultRequired
data_source_namesecretData Source Name for the MySQL server to connect to.yes
forward_tolist(LogsReceiver)Where to forward log entries after processing.yes
collect_intervaldurationHow frequently to collect information from database."1m"no
disable_collectorslist(string)A list of collectors to disable from the default set.no
enable_collectorslist(string)A list of collectors to enable on top of the default set.no

The following collectors are enabled by default:

NameDescription
query_sampleCollect query samples.
schema_tableCollect schemas and tables from information_schema.

Blocks

The database_observability.mysql component doesn’t support any blocks. You can configure this component with arguments.

Example

alloy
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:

database_observability.mysql has exports that can be consumed by the following components:

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.