Skip to content

[mysql_otel] Revamp dashboards for comprehensive MySQL monitoring#17203

Merged
shmsr merged 12 commits intoelastic:mainfrom
shmsr:revamp-mysql-otel
Feb 18, 2026
Merged

[mysql_otel] Revamp dashboards for comprehensive MySQL monitoring#17203
shmsr merged 12 commits intoelastic:mainfrom
shmsr:revamp-mysql-otel

Conversation

@shmsr
Copy link
Member

@shmsr shmsr commented Feb 2, 2026

Proposed commit message

This PR revamps the MySQL OpenTelemetry integration dashboards to provide a comprehensive and user-friendly monitoring experience. The previous 2 dashboards have been replaced with 4 purpose-built dashboards that better organize metrics based on database observability best practices.

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.
  • I have verified that any added dashboard complies with Kibana's Dashboard good practices

Screenshots

Please refer to files changed and look under img/

@shmsr shmsr requested a review from a team as a code owner February 2, 2026 20:28
@shmsr shmsr force-pushed the revamp-mysql-otel branch from f78aab5 to 9cb9752 Compare February 2, 2026 20:28
@shmsr shmsr self-assigned this Feb 2, 2026
@andrewkroh andrewkroh added dashboard Relates to a Kibana dashboard bug, enhancement, or modification. documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. Integration:mysql_otel MySQL OpenTelemetry Assets Team:Obs-InfraObs Observability Infrastructure Monitoring team [elastic/obs-infraobs-integrations] labels Feb 2, 2026
@ishleenk17
Copy link
Member

@shmsr : Looked at the live dashboards from serverless for the feedback.

  • DB namespace and schema. How are these different ?

  • I see that the control filters are same across all the dashboards. Then I think we can enable the carrying forward of the filter values across dashboards. WDYT ?

  • On selecting value in endpoint instance, the db namespace becomes empty. Please check

  • Buffer pool used metric tile is the max value and below is the spread. Right ? (In Overview)

  • Carrying the same time window forward might make sense. Think from debugging point. A particular time frame is being debugged across dashboards. And when they move thay loose that time window

  • How are total and max connection errors different (Availability) ?

  • Buffer Pool Pages by Type doesn't have dirty pages ?

  • Storage capacity: Total rows, Total size is for what, this is not clear. And why would those panels be empty (checked last 24 hours)

  • Queries (the top metrics panel shoes unable to load)

  • Longest Wait of what (active queries), already run queries ? It shows NaN..

@shmsr shmsr requested a review from ishleenk17 February 13, 2026 08:21
Comment on lines +30 to +47
GRANT PROCESS ON *.* TO '<MYSQL_USER>'@'%';

-- Query samples, top queries, statement events (performance_schema access)
GRANT SELECT ON performance_schema.* TO '<MYSQL_USER>'@'%';

-- Table statistics (mysql.table.size, mysql.table.rows) and EXPLAIN for top query plans
GRANT SELECT ON <your_database>.* TO '<MYSQL_USER>'@'%';
```

**Replica instance (for replication metrics):**

```sql
-- mysql.replica.time_behind_source, mysql.replica.sql_delay
-- Works on both MySQL and MariaDB (MariaDB 10.5+ remaps this to BINLOG MONITOR)
GRANT REPLICATION CLIENT ON *.* TO '<MYSQL_USER>'@'%';
```

**Performance Schema consumers:**
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ishleenk17 updated this list and tested; even this README does not do a good job at listing the pre-reqs properly.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally any config related to the service itself should be updated in the receiver documentation rather than in the content pack.
Please raise a ticket upstream to add these config options in the README as well.

@elasticmachine
Copy link

💚 Build Succeeded

History

cc @shmsr

Copy link
Member

@ishleenk17 ishleenk17 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@shmsr shmsr merged commit a139dba into elastic:main Feb 18, 2026
12 checks passed
@elastic-vault-github-plugin-prod

Package mysql_otel - 0.3.0 containing this change is available at https://epr.elastic.co/package/mysql_otel/0.3.0/

jakubgalecki0 pushed a commit to jakubgalecki0/integrations that referenced this pull request Feb 19, 2026
navnit-elastic pushed a commit to navnit-elastic/integrations that referenced this pull request Mar 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dashboard Relates to a Kibana dashboard bug, enhancement, or modification. documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. Integration:mysql_otel MySQL OpenTelemetry Assets Team:Obs-InfraObs Observability Infrastructure Monitoring team [elastic/obs-infraobs-integrations]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants