Obsfly

MySQL Monitoring

Monitorización MySQL que por fin hace usable Performance Schema.

Obsfly consume events_statements_summary_by_digest, sys.io_global_by_wait_by_latency y replication_status — y los traduce en señales accionables.

Why monitor MySQL

MySQL has world-class instrumentation in Performance Schema, but reading it raw is unfriendly and most teams give up after 'SHOW PROCESSLIST.' Obsfly handles the unfriendly part — surfaces digests, hit ratios, lock waits, and replication health with the same UX as the rest of your fleet.

What we scrape

Obsfly reads MySQL through the surfaces operators already know. No driver changes, no extensions installed by us, no agent on the database itself.

performance_schema.events_statements_summary_by_digest

Per-digest execution stats: count, total/mean time, rows examined/returned/affected.

performance_schema.events_statements_current

Live in-flight statements with timer waits and current execution.

sys.innodb_lock_waits

InnoDB lock waits with both blocking and waiting sides.

performance_schema.table_io_waits_summary_by_table

Hot tables, count of fetches and total wait time.

performance_schema.replication_*

Source/replica positions, GTID-aware lag, IO and SQL thread state.

global_status / global_variables

Threads_connected, Innodb_buffer_pool_*, Aborted_connects, configuration drift.

InnoDB engine status

SHOW ENGINE INNODB STATUS deadlock section parsed and structured.

Key metrics tracked

Per-digest latency percentiles
p50/p95/p99/p99.9 from the digest histogram (8.0+) or t-digest fallback.
InnoDB buffer pool hit ratio
1 - (reads / read_requests). Anything below 99% is a problem on a tuned host.
Replication lag (Seconds_Behind_Source + GTID)
Both classical and GTID lag, per replica.
Aborted_connects / Connection_errors_max_connections
Pool exhaustion early-warning.
Queries per second by type
Splits Com_select / Com_insert / Com_update for traffic-mix shifts.
Innodb_row_lock_waits / time_avg
InnoDB contention indicator.
Slow query rate
Driven by long_query_time threshold; surfaces digests crossing it.

Common MySQL pains, and how Obsfly surfaces each

Performance Schema is on but tables are empty

Sign

events_statements_summary_by_digest has no rows.

Fix

Check setup_consumers — events_statements_history and statement digest consumers are off in 5.7. Enable them.

Replica falling behind under burst writes

Sign

Seconds_Behind_Source climbing; SQL thread is the bottleneck (IO thread is current).

Fix

Multi-threaded replication: slave_parallel_workers > 1 with LOGICAL_CLOCK. 8.0+ defaults are sane.

Random InnoDB row lock waits

Sign

Innodb_row_lock_waits climbs with no schema change.

Fix

Inspect sys.innodb_lock_waits during the wait. Usually a long transaction holding a row lock — find via information_schema.innodb_trx.

Buffer pool hit ratio dropping

Sign

Innodb_buffer_pool_reads growing relative to read_requests; latency on previously-fast queries climbs.

Fix

Working set exceeds buffer pool. Bump innodb_buffer_pool_size; verify with SHOW ENGINE INNODB STATUS 'BUFFER POOL AND MEMORY' section.

vs Datadog DBM for MySQL

Datadog DBM MySQL covers digest scraping and Performance Schema basics. Obsfly adds GTID-aware replication-lag forecasts, per-table I/O hot-spot visualization, structured InnoDB deadlock parsing, and forecast bands per metric.
Full Datadog DBM comparison →

FAQ

Does it work with MariaDB?+

Yes, with caveats. Performance Schema exists but the digest implementation diverged in MariaDB 10.5; we adjust automatically. sys schema is missing — we render the equivalent views from Performance Schema directly.

What MySQL versions are supported?+

5.7, 8.0, 8.4, MariaDB 10.5+, RDS MySQL, Aurora MySQL. Older versions (5.6) work but lose digest histograms.

Will enabling Performance Schema slow down production?+

On 8.0+ at default settings, ~3% overhead. We recommend keeping events_waits_history_long off — it's the only consumer with non-trivial cost.

Does Obsfly need superuser?+

No. We provide a setup script with the minimum privileges (PROCESS, REPLICATION CLIENT, REPLICATION SLAVE, SELECT on performance_schema/sys/information_schema).

· · ·

See Obsfly on your MySQL.

20-min demo. We connect to a sample MySQL on the call and reproduce your slowest query in the tool.

MySQL monitoring — Performance Schema, slow queries, anomalies · Obsfly