From 203ede5822e21cbac88dd6a8124f966048e6cafa Mon Sep 17 00:00:00 2001 From: Nenad Noveljic <18366081+nenadnoveljic@users.noreply.github.com> Date: Fri, 6 Jun 2025 22:07:21 +0200 Subject: [PATCH 1/4] Add MySQL receiver config --- .../integrations/mysql_metrics.md | 87 ++++++++++++++++++- 1 file changed, 86 insertions(+), 1 deletion(-) diff --git a/content/en/opentelemetry/integrations/mysql_metrics.md b/content/en/opentelemetry/integrations/mysql_metrics.md index 8a00a9c9c6193..feeda56eb9e61 100644 --- a/content/en/opentelemetry/integrations/mysql_metrics.md +++ b/content/en/opentelemetry/integrations/mysql_metrics.md @@ -19,10 +19,93 @@ For more information, see the OpenTelemetry project documentation for the [MySQL To collect MySQL metrics with OpenTelemetry for use with Datadog: 1. Configure the [MySQL receiver][1] in your OpenTelemetry Collector configuration. -2. Ensure the OpenTelemetry Collector is [configured to export to Datadog][5]. +2. Optionally configure the [host metrics receiver][6] if your OpenTelemetry Collector is running on the same server as your MySQL database. +3. Optionally configure the [file log receiver][7] if your OpenTelemetry Collector is running on the same server as your MySQL database. +4. Ensure the OpenTelemetry Collector is [configured to export to Datadog][5]. + +### MySQL Receiver + +```yaml: +receivers: + mysql: + endpoint: ":" + username: "" + password: "" + collection_interval: 10s + metrics: + mysql.connection.count: + enabled: true + mysql.connection.errors: + enabled: true + mysql.commands: + enabled: true + mysql.query.slow.count: + enabled: true + +processors: + transform/metrics: + metric_statements: + - context: resource + statements: + - set(attributes["datadog.host.name"], <"HOST">) + - convert_sum_to_gauge() where metric.name == "mysql.locks" + + cumulativetodelta: {} + + deltatorate: + metrics: + - mysql.connection.count + - mysql.commands + - mysql.operations + - mysql.query.slow.count + - mysql.connection.errors + - system.network.io + +``` See the [MySQL receiver documentation][1] for detailed configuration options and requirements. +### Host metrics receiver + +```yaml +receivers: + hostmetrics: + scrapers: + load: + cpu: + metrics: + system.cpu.utilization: + enabled: true + memory: + network: +``` + +### File log receiver + +```yaml +receivers: + filelog: + include: + - + - + operators: + - type: json_parser + parse_from: body + timestamp: + parse_from: attributes.timestamp + layout: "%Y-%m-%dT%H:%M:%SZ" + +processors: + transform/logs: + log_statements: + - context: resource + statements: + - set(attributes["datadog.host.name"], <"HOST>) + - set(attributes["datadog.log.source"], "mysql") + + batch: {} +``` + ## Data collected {{< mapping-table resource="mysql.csv">}} @@ -37,3 +120,5 @@ See [OpenTelemetry Metrics Mapping][2] for more information. [2]: /opentelemetry/guide/metrics_mapping/ [4]: https://app.datadoghq.com/dash/integration/12/mysql---overview [5]: /opentelemetry/setup/collector_exporter/ +[6]: https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/hostmetricsreceiver +[7]: http://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/filelogreceiver \ No newline at end of file From 721dd83dfe904130175c136fa6522b2ab1935a61 Mon Sep 17 00:00:00 2001 From: Nenad Noveljic <18366081+nenadnoveljic@users.noreply.github.com> Date: Sat, 7 Jun 2025 17:25:43 +0200 Subject: [PATCH 2/4] Update content/en/opentelemetry/integrations/mysql_metrics.md Co-authored-by: Jen Gilbert --- content/en/opentelemetry/integrations/mysql_metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/opentelemetry/integrations/mysql_metrics.md b/content/en/opentelemetry/integrations/mysql_metrics.md index feeda56eb9e61..4df1ea15f9ec0 100644 --- a/content/en/opentelemetry/integrations/mysql_metrics.md +++ b/content/en/opentelemetry/integrations/mysql_metrics.md @@ -19,7 +19,7 @@ For more information, see the OpenTelemetry project documentation for the [MySQL To collect MySQL metrics with OpenTelemetry for use with Datadog: 1. Configure the [MySQL receiver][1] in your OpenTelemetry Collector configuration. -2. Optionally configure the [host metrics receiver][6] if your OpenTelemetry Collector is running on the same server as your MySQL database. +2. Optionally, configure the [host metrics receiver][6] if your OpenTelemetry Collector is running on the same server as your MySQL database. 3. Optionally configure the [file log receiver][7] if your OpenTelemetry Collector is running on the same server as your MySQL database. 4. Ensure the OpenTelemetry Collector is [configured to export to Datadog][5]. From 4d3253c92615376cd84c79fed863bf6038fe38b3 Mon Sep 17 00:00:00 2001 From: Nenad Noveljic <18366081+nenadnoveljic@users.noreply.github.com> Date: Sat, 7 Jun 2025 17:25:50 +0200 Subject: [PATCH 3/4] Update content/en/opentelemetry/integrations/mysql_metrics.md Co-authored-by: Jen Gilbert --- content/en/opentelemetry/integrations/mysql_metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/opentelemetry/integrations/mysql_metrics.md b/content/en/opentelemetry/integrations/mysql_metrics.md index 4df1ea15f9ec0..ded7bb283dadb 100644 --- a/content/en/opentelemetry/integrations/mysql_metrics.md +++ b/content/en/opentelemetry/integrations/mysql_metrics.md @@ -20,7 +20,7 @@ To collect MySQL metrics with OpenTelemetry for use with Datadog: 1. Configure the [MySQL receiver][1] in your OpenTelemetry Collector configuration. 2. Optionally, configure the [host metrics receiver][6] if your OpenTelemetry Collector is running on the same server as your MySQL database. -3. Optionally configure the [file log receiver][7] if your OpenTelemetry Collector is running on the same server as your MySQL database. +3. Optionally, configure the [file log receiver][7] if your OpenTelemetry Collector is running on the same server as your MySQL database. 4. Ensure the OpenTelemetry Collector is [configured to export to Datadog][5]. ### MySQL Receiver From 64c0fe00d4ad1a269e4bc330ff487e14812363f9 Mon Sep 17 00:00:00 2001 From: Nenad Noveljic <18366081+nenadnoveljic@users.noreply.github.com> Date: Sat, 7 Jun 2025 17:28:21 +0200 Subject: [PATCH 4/4] Add a space --- .../opentelemetry/integrations/mysql_metrics.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/en/opentelemetry/integrations/mysql_metrics.md b/content/en/opentelemetry/integrations/mysql_metrics.md index ded7bb283dadb..cef754a8678fe 100644 --- a/content/en/opentelemetry/integrations/mysql_metrics.md +++ b/content/en/opentelemetry/integrations/mysql_metrics.md @@ -53,13 +53,13 @@ processors: cumulativetodelta: {} deltatorate: - metrics: - - mysql.connection.count - - mysql.commands - - mysql.operations - - mysql.query.slow.count - - mysql.connection.errors - - system.network.io + metrics: + - mysql.connection.count + - mysql.commands + - mysql.operations + - mysql.query.slow.count + - mysql.connection.errors + - system.network.io ``` @@ -121,4 +121,4 @@ See [OpenTelemetry Metrics Mapping][2] for more information. [4]: https://app.datadoghq.com/dash/integration/12/mysql---overview [5]: /opentelemetry/setup/collector_exporter/ [6]: https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/hostmetricsreceiver -[7]: http://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/filelogreceiver \ No newline at end of file +[7]: http://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/filelogreceiver