Cette référence fournit des configurations YAML complètes pour le monitoring MySQL avec le Collector New Relic Distribution of OpenTelemetry (NRDOT). Ces configurations aux fonctionnalités complètes incluent toutes les métriques disponibles et les paramètres de Processeur avancés pour les environnements de production dans les déploiements auto-hébergés et Amazon RDS.
Important
Vous souhaitez commencer rapidement ? Il s’agit de configurations avancées pour une utilisation en production. Si vous mettez en place le monitoring MySQL pour la première fois, nous vous recommandons de commencer par la configuration standard dans nos guides d’installation et de revenir à ces configurations complètes une fois que vous aurez vérifié le fonctionnement de base.
Auto-hébergé
Cette configuration active le catalogue complet de métriques MySQL que le Récepteur nrmysql peut produire.
extensions: health_check:
receivers: otlp: protocols: grpc: http:
nrmysql: endpoint: "<YOUR_DB_HOST>:<YOUR_DB_PORT>" transport: tcp username: "<YOUR_DB_USERNAME>" password: "<YOUR_DB_PASSWORD>" allow_native_passwords: true collection_interval: 15s initial_delay: 1s # "procedure" collects EXPLAIN plans for write statements (UPDATE/DELETE/INSERT/REPLACE) # without granting DML to the monitoring user, via a SQL SECURITY DEFINER procedure. # Falls back to "inline" (default) automatically if the procedure is absent for a schema. # Requires one-time setup per schema -- see Prerequisites -> DML query plan collection. explain_mode: procedure statement_events: digest_text_limit: 4096 time_limit: 24h limit: 500 query_sample_collection: max_rows_per_query: 100 # APM-DB correlation: surfaces the nr_service_guid SQL comment tag (e.g. injected by # transaction_tracer.sql_metadata_comments in the Java agent) as db.query.comment_tags / # db.query.comment_tags.nr_service_guid. Empty list by default -- nothing is extracted # unless the key is explicitly allow-listed here. allowed_comment_keys: [nr_service_guid] top_query_collection: lookback_time: 60 max_query_sample_count: 5000 top_query_count: 200 collection_interval: 60s query_plan_cache_size: 1000 query_plan_cache_ttl: 1h allowed_comment_keys: [nr_service_guid] events: db.server.query_sample: enabled: true db.server.top_query: enabled: true db.server.query_plan: enabled: true resource_attributes: db.system.version: enabled: true metrics: # ---- Default-enabled metrics (kept explicit for visibility) ---- mysql.buffer_pool.data_pages: enabled: true mysql.buffer_pool.limit: enabled: true mysql.buffer_pool.operations: enabled: true mysql.buffer_pool.page_flushes: enabled: true mysql.buffer_pool.pages: enabled: true mysql.buffer_pool.usage: enabled: true mysql.double_writes: enabled: true mysql.handlers: enabled: true mysql.index.io.wait.count: enabled: true mysql.index.io.wait.time: enabled: true mysql.locks: enabled: true mysql.log_operations: enabled: true mysql.mysqlx_connections: enabled: true mysql.opened_resources: enabled: true mysql.operations: enabled: true mysql.page_operations: enabled: true mysql.prepared_statements: enabled: true mysql.row_locks: enabled: true mysql.row_operations: enabled: true mysql.sorts: enabled: true mysql.table.io.wait.count: enabled: true mysql.table.io.wait.time: enabled: true mysql.threads: enabled: true mysql.tmp_resources: enabled: true mysql.uptime: enabled: true
# ---- Disabled-by-default metrics (explicitly turned on for full-feature) ---- mysql.client.network.io: enabled: true mysql.commands: enabled: true mysql.connection.count: enabled: true mysql.connection.errors: enabled: true mysql.file.open: enabled: true mysql.innodb.data_file.io: enabled: true mysql.innodb.history_list.length: enabled: true mysql.innodb.operation.pending: enabled: true mysql.innodb.redo_log.checkpoint.age: enabled: true mysql.innodb.redo_log.lsn.checkpoint: enabled: true mysql.innodb.redo_log.lsn.current: enabled: true mysql.innodb.row_lock.wait.count: enabled: true mysql.innodb.row_lock.wait.duration.avg: enabled: true mysql.innodb.row_lock.wait.duration.max: enabled: true mysql.innodb.transaction.active.count: enabled: true mysql.innodb.transaction.active.duration.max: enabled: true mysql.joins: enabled: true mysql.max_used_connections: enabled: true mysql.myisam.key_cache.block.unused: enabled: true mysql.myisam.key_cache.block.used.max: enabled: true mysql.myisam.key_cache.disk.operation: enabled: true mysql.myisam.key_cache.request: enabled: true mysql.mysqlx_worker_threads: enabled: true mysql.page_size: enabled: true mysql.query.client.count: enabled: true mysql.query.count: enabled: true mysql.query.execution.time: enabled: true mysql.query.slow.count: enabled: true mysql.replica.sql_delay: enabled: true mysql.replica.temp_table.open: enabled: true mysql.replica.thread.running: enabled: true mysql.replica.time_behind_source: enabled: true mysql.server.healthy: enabled: true mysql.session.active.count: enabled: true mysql.statement_event.count: enabled: true mysql.statement_event.wait.time: enabled: true mysql.table.average_row_length: enabled: true mysql.table.lock_wait.read.count: enabled: true mysql.table.lock_wait.read.time: enabled: true mysql.table.lock_wait.write.count: enabled: true mysql.table.lock_wait.write.time: enabled: true mysql.table.open: enabled: true mysql.table.rows: enabled: true mysql.table.size: enabled: true mysql.table_open_cache: enabled: true mysql.thread.slow_launch: enabled: true
processors: transform: trace_statements: - context: span statements: - truncate_all(span.attributes, 4095) - truncate_all(resource.attributes, 4095)
batch:
resource_detection: detectors: ["system"] system: hostname_sources: ["os"] resource_attributes: host.id: enabled: true
resource_detection/cloud: detectors: ["gcp", "ec2", "azure"] timeout: 2s override: true
resource_detection/env: detectors: ["env"] timeout: 2s override: true
exporters: otlp/newrelic: endpoint: "<YOUR_NEWRELIC_OTLP_ENDPOINT>" headers: api-key: "<YOUR_NEWRELIC_LICENSE_KEY>" compression: gzip sending_queue: enabled: true sizer: bytes queue_size: 100_000_000 num_consumers: 10 batch: sizer: bytes max_size: 1_000_000 min_size: 0 flush_timeout: 5s retry_on_failure: enabled: true initial_interval: 5s max_interval: 30s max_elapsed_time: 300s
service: telemetry: metrics: level: none
extensions: [health_check]
pipelines: metrics/mysql: receivers: [nrmysql] processors: - resource_detection - resource_detection/cloud - resource_detection/env - batch exporters: [otlp/newrelic]
logs/mysql: receivers: [nrmysql] processors: - resource_detection - resource_detection/cloud - resource_detection/env - batch exporters: [otlp/newrelic]
traces: receivers: [otlp] processors: [transform, resource_detection, resource_detection/cloud, resource_detection/env, batch] exporters: [otlp/newrelic]
metrics: receivers: [otlp] processors: [resource_detection, resource_detection/cloud, resource_detection/env, batch] exporters: [otlp/newrelic]
logs: receivers: [otlp] processors: [resource_detection, resource_detection/cloud, resource_detection/env, batch] exporters: [otlp/newrelic]Important
L'intégration MySQL via le Collector NRDOT suit la tarification standard d'ingestion de données. Notez que la configuration complète des fonctionnalités ingère plus de données qu’une installation standard, ce qui peut augmenter votre facture globale.
RDS
Cette configuration active le catalogue complet de métriques MySQL que le Récepteur nrmysql peut produire.
extensions: health_check:
receivers: otlp: protocols: grpc: http:
nrmysql: endpoint: "<YOUR_DB_HOST>:<YOUR_DB_PORT>" transport: tcp username: "<YOUR_DB_USERNAME>" password: "<YOUR_DB_PASSWORD>" allow_native_passwords: true collection_interval: 15s initial_delay: 1s # "procedure" collects EXPLAIN plans for write statements (UPDATE/DELETE/INSERT/REPLACE) # without granting DML to the monitoring user, via a SQL SECURITY DEFINER procedure. # Falls back to "inline" (default) automatically if the procedure is absent for a schema. # Requires one-time setup per schema -- see Prerequisites -> DML query plan collection. explain_mode: procedure statement_events: digest_text_limit: 4096 time_limit: 24h limit: 500 query_sample_collection: max_rows_per_query: 100 # APM-DB correlation: surfaces the nr_service_guid SQL comment tag (e.g. injected by # transaction_tracer.sql_metadata_comments in the Java agent) as db.query.comment_tags / # db.query.comment_tags.nr_service_guid. Empty list by default -- nothing is extracted # unless the key is explicitly allow-listed here. allowed_comment_keys: [nr_service_guid] top_query_collection: lookback_time: 60 max_query_sample_count: 5000 top_query_count: 200 collection_interval: 60s query_plan_cache_size: 1000 query_plan_cache_ttl: 1h allowed_comment_keys: [nr_service_guid] events: db.server.query_sample: enabled: true db.server.top_query: enabled: true db.server.query_plan: enabled: true resource_attributes: db.system.version: enabled: true metrics: # ---- Default-enabled metrics (kept explicit for visibility) ---- mysql.buffer_pool.data_pages: enabled: true mysql.buffer_pool.limit: enabled: true mysql.buffer_pool.operations: enabled: true mysql.buffer_pool.page_flushes: enabled: true mysql.buffer_pool.pages: enabled: true mysql.buffer_pool.usage: enabled: true mysql.double_writes: enabled: true mysql.handlers: enabled: true mysql.index.io.wait.count: enabled: true mysql.index.io.wait.time: enabled: true mysql.locks: enabled: true mysql.log_operations: enabled: true mysql.mysqlx_connections: enabled: true mysql.opened_resources: enabled: true mysql.operations: enabled: true mysql.page_operations: enabled: true mysql.prepared_statements: enabled: true mysql.row_locks: enabled: true mysql.row_operations: enabled: true mysql.sorts: enabled: true mysql.table.io.wait.count: enabled: true mysql.table.io.wait.time: enabled: true mysql.threads: enabled: true mysql.tmp_resources: enabled: true mysql.uptime: enabled: true
# ---- Disabled-by-default metrics (explicitly turned on for full-feature) ---- mysql.client.network.io: enabled: true mysql.commands: enabled: true mysql.connection.count: enabled: true mysql.connection.errors: enabled: true mysql.file.open: enabled: true mysql.innodb.data_file.io: enabled: true mysql.innodb.history_list.length: enabled: true mysql.innodb.operation.pending: enabled: true mysql.innodb.redo_log.checkpoint.age: enabled: true mysql.innodb.redo_log.lsn.checkpoint: enabled: true mysql.innodb.redo_log.lsn.current: enabled: true mysql.innodb.row_lock.wait.count: enabled: true mysql.innodb.row_lock.wait.duration.avg: enabled: true mysql.innodb.row_lock.wait.duration.max: enabled: true mysql.innodb.transaction.active.count: enabled: true mysql.innodb.transaction.active.duration.max: enabled: true mysql.joins: enabled: true mysql.max_used_connections: enabled: true mysql.myisam.key_cache.block.unused: enabled: true mysql.myisam.key_cache.block.used.max: enabled: true mysql.myisam.key_cache.disk.operation: enabled: true mysql.myisam.key_cache.request: enabled: true mysql.mysqlx_worker_threads: enabled: true mysql.page_size: enabled: true mysql.query.client.count: enabled: true mysql.query.count: enabled: true mysql.query.execution.time: enabled: true mysql.query.slow.count: enabled: true mysql.replica.sql_delay: enabled: true mysql.replica.temp_table.open: enabled: true mysql.replica.thread.running: enabled: true mysql.replica.time_behind_source: enabled: true mysql.server.healthy: enabled: true mysql.session.active.count: enabled: true mysql.statement_event.count: enabled: true mysql.statement_event.wait.time: enabled: true mysql.table.average_row_length: enabled: true mysql.table.lock_wait.read.count: enabled: true mysql.table.lock_wait.read.time: enabled: true mysql.table.lock_wait.write.count: enabled: true mysql.table.lock_wait.write.time: enabled: true mysql.table.open: enabled: true mysql.table.rows: enabled: true mysql.table.size: enabled: true mysql.table_open_cache: enabled: true mysql.thread.slow_launch: enabled: true
processors: transform: trace_statements: - context: span statements: - truncate_all(span.attributes, 4095) - truncate_all(resource.attributes, 4095)
batch:
resource_detection: detectors: ["system"] system: hostname_sources: ["os"] resource_attributes: host.id: enabled: true
resource_detection/cloud: detectors: ["gcp", "ec2", "azure"] timeout: 2s override: true
resource_detection/env: detectors: ["env"] timeout: 2s override: true
exporters: otlp/newrelic: endpoint: "<YOUR_NEWRELIC_OTLP_ENDPOINT>" headers: api-key: "<YOUR_NEWRELIC_LICENSE_KEY>" compression: gzip sending_queue: enabled: true sizer: bytes queue_size: 100_000_000 num_consumers: 10 batch: sizer: bytes max_size: 1_000_000 min_size: 0 flush_timeout: 5s retry_on_failure: enabled: true initial_interval: 5s max_interval: 30s max_elapsed_time: 300s
service: telemetry: metrics: level: none
extensions: [health_check]
pipelines: metrics/mysql: receivers: [nrmysql] processors: - resource_detection - resource_detection/cloud - resource_detection/env - batch exporters: [otlp/newrelic]
logs/mysql: receivers: [nrmysql] processors: - resource_detection - resource_detection/cloud - resource_detection/env - batch exporters: [otlp/newrelic]
traces: receivers: [otlp] processors: [transform, resource_detection, resource_detection/cloud, resource_detection/env, batch] exporters: [otlp/newrelic]
metrics: receivers: [otlp] processors: [resource_detection, resource_detection/cloud, resource_detection/env, batch] exporters: [otlp/newrelic]
logs: receivers: [otlp] processors: [resource_detection, resource_detection/cloud, resource_detection/env, batch] exporters: [otlp/newrelic]Important
L'intégration MySQL via le Collector NRDOT suit la tarification standard d'ingestion de données. Notez que la configuration complète des fonctionnalités ingère plus de données qu’une installation standard, ce qui peut augmenter votre facture globale.
Documentation associée
Instrumentation auto-hébergée
Découvrez comment configurer le monitoring MySQL dans des environnements auto-hébergés avec New Relic.
Instrumentation RDS
Découvrez comment configurer le monitoring MySQL dans les environnements RDS avec New Relic.
Référence des métriques
Découvrez les métriques disponibles collectées par le collecteur NRDOT.