Skip to technology filters Skip to main content
Dynatrace Hub

Extend the platform,
empower your team.

Popular searches:
Home hero bg
MariaDBMariaDB
MariaDB

MariaDB

Remotely monitor your MariaDB instances, collect key KPIs & slow queries details

Extension
Free trialDocumentation
Overview dashboardInstance screenInstance screen pt. 2Instances list screen
  • Product information
  • Release notes

Overview

Prerequisities/Setup Needed

  • ActiveGate installed with version 1.295+

  • MariaDB JDBC Driver downloaded from here

  • Download the Java 8+ platform independent connector, and copy the jar file to this directory on all ActiveGates in your desired group

    • Windows : C:\ProgramData\dynatrace\remotepluginmodule\agent\conf\userdata\libs

    • Linux : /var/lib/dynatrace/remotepluginmodule/agent/conf/userdata/libs

  • Ensure dtuserag user has read access to driver

  • Add custom_code_jdbc_allowed=true to extensionsuser.conf:

  • Restart EEC service

  • Ensure you have the performance schema activated and enabled for the MariaDB instances you will be monitoring

Activating the extension

  • Activate Extension in the Hub by going to:
  • Extensions → MariaDB → Add to environment
  • Add a new monitoring configuration for every MariaDB instance you'd like to monitor

Creating a MariaDB user

Create a user that is identified by a native password, customize the username and password as you please

CREATE USER 'dynatrace'@'%' IDENTIFIED BY 'password';

Give the user the permissions:

  • GRANT SELECT ON performance_schema.* TO 'dynatrace'@'%';
    • Allows the user to query the performance_schema schema
  • GRANT PROCESS ON *.* TO 'dynatrace'@'%';
    • Allows the user to see thread and connection metrics for other users
  • GRANT SHOW DATABASES ON *.* TO 'dynatrace'@'%';
    • Allows the user to see database metrics for all databases
  • GRANT SELECT ON sys.x$memory_global_by_current_bytes TO 'dynatrace'@'%';
    • Allow the user to query memory statistics
  • GRANT SLAVE MONITOR ON *.* TO 'dynatrace'@'%';
    • Allow the user to query slave/replica metrics

NOTE: Due to a MariaDB limitation, to calculate database sizes you MUST grant SELECT permissions on the individual databases where you want to collect size from.

Collecting Top Slow Queries

This applies to top_queries feature set which retrieves data from performance_schema.events_statements_summary_by_digest:

Enable the necessary statement instruments - this tells MariaDB to track all statements:

UPDATE performance_schema.setup_instruments 
SET ENABLED = 'YES', TIMED = 'YES' 
WHERE NAME LIKE 'statement/%';

Enable the consumers - this tells MariaDB where to store the tracked statements:

UPDATE performance_schema.setup_consumers 
SET ENABLED = 'YES' 
WHERE NAME IN ('events_statements_history', 'events_statements_summary_by_digest');

Note for AWS RDS: While the above commands work, the most robust way to enable this on RDS is to create a custom Parameter Group. In the parameter group, set performance_schema to 1 and ensure the consumer settings are enabled. This ensures the configuration persists across restarts and instance modifications. Turn on the Performance Schema for Amazon RDS for MariaDB or MySQL - Amazon Relational Database Service

Compatibility information

global_status and global_status_extended feature sets: MariaDB 10.5.2+

  • Performance schema global_status table was introduced in this version

replicas and replica_error_logs feature sets: MariaDB 11.6+

  • Information Schema SLAVE_STATUS Table was introduced in this version
Dynatrace
Documentation
By Dynatrace
Dynatrace support center
Subscribe to new releases
Copy to clipboard

Extension content

Content typeNumber of items included
screen logs cards
4
metric metadata
71
screen injections
1
alerts
1
screen layout
4
screen entities lists
6
document dashboard
1
list screen layout
2
metric query
1
generic relationship
3
dashboards
1
screen actions
2
screen chart groups
22
screen properties
3
generic type
2
screen dql table
2

Feature sets

Below is a complete list of the feature sets provided in this version. To ensure a good fit for your needs, individual feature sets can be activated and deactivated by your administrator during configuration.

Feature setsNumber of metrics included
Metric nameMetric keyDescriptionUnit
Memorymariadb.infrastructure.memoryThe amount of memory used per each code area.Byte
Metric nameMetric keyDescriptionUnit
Queriesmariadb.global_status.queries.countThe number of statements executed by the server. This variable includes statements executed within stored programs, unlike the Questions variable. It does not count COM_PING or COM_STATISTICS commands.Count
Slow Queriesmariadb.global_status.slow_queries.countThe number of queries that have taken more than long_query_time seconds. This counter increments regardless of whether the slow query log is enabled. For information about that log, see Section 5.4.5, The Slow Query Log.Count
Table Locks Waitedmariadb.global_status.table_locks_waited.countThe number of times that a request for a table lock could not be granted immediately and a wait was needed. If this is high and you have performance problems, you should first optimize your queries, and then either split your table or tables or use replication.Count
Table Locks Immediatemariadb.global_status.table_locks_immediate.countThe number of times that a request for a table lock could be granted immediately.Count
Current Connectionsmariadb.global_status.current_connectionsThe number of currently open connections.Count
Threads Runningmariadb.global_status.threads_runningThe number of threads that are not sleeping.Count
Threads Createdmariadb.global_status.threads_createdThe number of threads created to handle connections. If Threads_created is big, you may want to increase the thread_cache_size value. The cache miss rate can be calculated as Threads_created/Connections.Count
Innodb Buffer Pool Pages Datamariadb.global_status.innodb_buffer_pool_pages_dataThe number of pages in the InnoDB buffer pool containing data. The number includes both dirty and clean pages. When using compressed tables, the reported Innodb_buffer_pool_pages_data value may be larger than Innodb_buffer_pool_pages_totalCount
Innodb Buffer Pool Pages Dirtymariadb.global_status.innodb_buffer_pool_pages_dirtyThe current number of dirty pages in the InnoDB buffer pool.Count
Innodb Buffer Pool Pages Freemariadb.global_status.innodb_buffer_pool_pages_freeThe number of free pages in the InnoDB buffer pool.Count
Innodb Buffer Pool Pages Totalmariadb.global_status.innodb_buffer_pool_pages_totalThe total size of the InnoDB buffer pool, in pages. When using compressed tables, the reported Innodb_buffer_pool_pages_data value may be larger than Innodb_buffer_pool_pages_totalCount
Innodb Data Readsmariadb.global_status.innodb_data_reads.countThe total number of data reads (OS file reads).Count
Innodb Data Writesmariadb.global_status.innodb_data_writes.countThe total number of data writes.Count
Innodb Data Readmariadb.global_status.innodb_data_read.countThe total amount of data read from files.Byte
Innodb Data Writtenmariadb.global_status.innodb_data_written.countThe total amount of data written.Byte
Innodb Buffer Pool Readsmariadb.global_status.innodb_buffer_pool_readsThe number of logical reads that InnoDB could not satisfy from the buffer pool, and had to read directly from disk.Count
Innodb Buffer Pool Read Requestsmariadb.global_status.innodb_buffer_pool_read_requestsThe number of logical read requests.Count
Availabilitymariadb.global_status.availabilityWhether or not a connection can be made to the databasePercent
Statusmariadb.global_status.statusA status of AVAILABLE is returned if we can query the databaseState
Uptimemariadb.global_status.uptimeThe time in seconds that the mariadb server has been running since it was started.Second
Handler Rollbackmariadb.global_status.handler_rollback.countThe number of requests for a storage engine to perform a rollback operation.Count
Innodb Log Waitsmariadb.global_status.innodb_log_waits.countThe number of times that the log buffer was too small and a wait was required for it to be flushed before continuing.Count
Innodb Row Lock Current Waitsmariadb.global_status.innodb_row_lock_current_waitsThe number of row locks currently waited for by operations on InnoDB tables.Count
Innodb Row Lock Time (Avg)mariadb.global_status.innodb_row_lock_time_avgThe average time to acquire a row lock for InnoDB tablesMilliSecond
Innodb Row Lock Waitsmariadb.global_status.innodb_row_lock_waits.countThe number of times operations on InnoDB tables had to wait for a row lock.Count
Opened Tablesmariadb.global_status.opened_tables.countThe number of tables that have been opened. If Opened_tables is big, your table_open_cache value is probably too small.Count
Open Filesmariadb.global_status.open_filesThe number of files that are open. This count includes regular files opened by the server. It does not include other types of files such as sockets or pipes. Also, the count does not include files that storage engines open using their own internal functions rather than asking the server level to do so.Count
Open Tablesmariadb.global_status.open_tablesThe number of tables that are open.Count
Query Cache Free Memorymariadb.global_status.qcache_free_memoryThe amount of free memory for the query cache.Byte
Query Cache Hitsmariadb.global_status.qcache_hits.countThe number of query cache hits.Count
Query Cache not Cachedmariadb.global_status.qcache_not_cached.countThe number of noncached queries (not cacheable, or not cached due to the query_cache_type setting).Count
Aborted Clientsmariadb.global_status.aborted_clients.countThe number of connections that were aborted because the client died without closing the connection properly.Count
Aborted Connectsmariadb.global_status.aborted_connects.countThe number of failed attempts to connect to the MySQL server.Count
Connection Errors Max Connectionsmariadb.global_status.connection_errors_max_connections.countThe number of connections refused because the server max_connections limit was reached.Count
Max Used Connectionsmariadb.global_status.max_used_connectionsThe maximum number of connections that have been in use simultaneously since the server started.Count
Questionsmariadb.global_status.questions.countThe number of statements executed by the server. This includes only statements sent to the server by clients and not statements executed within stored programs, unlike the Queries variable. This variable does not count COM_PING, COM_STATISTICS, COM_STMT_PREPARE, COM_STMT_CLOSE, or COM_STMT_RESET commands.Count
Metric nameMetric keyDescriptionUnit
Database Sizemariadb.databases.sizeThe size of the DatabaseMegaByte
Metric nameMetric keyDescriptionUnit
Query Cache Queries in Cachemariadb.global_status.qcache_queries_in_cache.countThe number of queries registered in the query cache.Count
Query Cache Free Blocksmariadb.global_status.qcache_free_blocksThe number of free memory blocks in the query cache.Count
Query Cache Total Blocksmariadb.global_status.qcache_total_blocksThe total number of blocks in the query cache.Count
Created Temporary Tablesmariadb.global_status.created_tmp_tables.countThe number of internal temporary tables created by the server while executing statements. You can compare the number of internal on-disk temporary tables created to the total number of internal temporary tables created by comparing Created_tmp_disk_tables and Created_tmp_tables values.Count
Created Temporary Disk Tablesmariadb.global_status.created_tmp_disk_tables.countThe number of internal on-disk temporary tables created by the server while executing statements. You can compare the number of internal on-disk temporary tables created to the total number of internal temporary tables created by comparing Created_tmp_disk_tables and Created_tmp_tables values.Count
Innodb Buffer Pool Sizemariadb.global_status.innodb_buffer_pool_sizeThe size in bytes of the buffer pool, the memory area where InnoDB caches table and index data.Byte
Metric nameMetric keyDescriptionUnit
Slave IO Runningmariadb.replica.slave_io_runningWhether the replica I/O thread is running and connected (Yes - 1), running but not connected to a primary (Connecting - 2) or not running (No - 0).State
Slave SQL Runningmariadb.replica.slave_sql_runningWhether the SQL thread is running and connected (Yes - 1), running but not connected to a primary (Connecting - 2) or not running (No - 0).State
Relay Log Spacemariadb.replica.relay_log_spaceTotal size of all relay log files combined.Byte
Last IO Errnomariadb.replica.last_io_errnoError code of the most recent error that caused the I/O thread to stop (also recorded in the replica's error log). 0 means no error. RESET SLAVE or RESET MASTER will reset this value.Unspecified
Last SQL Errnomariadb.replica.last_sql_errnoError code of the most recent error that caused the SQL thread to stop (also recorded in the replica's error log). 0 means no error. RESET SLAVE or RESET MASTER will reset this value.Unspecified
Seconds Behind Mastermariadb.replica.seconds_behind_masterDifference between the timestamp logged on the master for the event that the replica is currently processing, and the current timestamp on the replica. Zero if the replica is not currently processing an event.Second
Read Master Log Positionmariadb.replica.read_master_log_posPosition up to which the I/O thread has read in the current primary binary log file.Count
Exec Master Log Positionmariadb.replica.exec_master_log_posPosition up to which the SQL thread has processed in the current master binary log file.Count
Metric nameMetric keyDescriptionUnit
Commitsmariadb.statements.commit.countThe number of COMMIT statements executed by this serverCount
Deletesmariadb.statements.delete.countThe number of DELETE statements executed by this serverCount
Multi-Table Deletesmariadb.statements.delete_multi.countThe number of multi-table DELETE statements executed by this serverCount
Insertsmariadb.statements.insert.countThe number of INSERT statements executed by this serverCount
Selectsmariadb.statements.select.countThe number of SELECT statements executed by this serverCount
Updatesmariadb.statements.update.countThe number of UPDATE statements executed by this serverCount
Executesmariadb.statements.execute.countThe number of EXECUTE statements executed by this serverCount
Multi-Table Updatesmariadb.statements.update_multi.countThe number of multi-table UPDATE statements executed by this serverCount
Bytes Sentmariadb.statements.bytes_sent.countThe number of bytes sent to all clientsByte
Bytes Receivedmariadb.statements.bytes_received.countThe number of bytes received from all clientsByte
Rollbacksmariadb.statements.rollback.countThe number of ROLLBACK statements executed by this serverCount
Insert Selectsmariadb.statements.insert_select.countThe number of insert-select statements executed by this serverCount
Replace Selectsmariadb.statements.replace_select.countThe number of replace-select statements executed by this serverCount
Prepared Statementsmariadb.statements.prepared_stmt_count.countThe current number of prepared statementsCount
Metric nameMetric keyDescriptionUnit
Waits IOmariadb.waits.waits_io.countThe number of times that the server has waited for an I/O operation to complete.Count
Waits IO Timemariadb.waits.waits_io_time.countThe total time the server has waited for I/O operations to complete.MilliSecond
Waits Syncmariadb.waits.waits_sync.countThe number of times that the server has waited for a synchronization operation to complete.Count
Waits Sync Timemariadb.waits.waits_sync_time.countThe total time the server has waited for synchronization operations to complete.MilliSecond

Related to MariaDB

ActiveGate logo

ActiveGate

Route traffic, monitor clouds and remote technologies & run Synthetic monitors

Full version history

To have more information on how to install the downloaded package, please follow the instructions on this page.
ReleaseDate

Full version history

  • Initial release including: instance and database metrics, classic & platform dashboards, screens, alerts
Dynatrace Hub
Get data into DynatraceBuild your own app
All (811)Log Management and AnalyticsKubernetesAI and LLM ObservabilityInfrastructure ObservabilitySoftware DeliveryApplication ObservabilityApplication SecurityDigital ExperienceBusiness Observability
Filter
Type
Built and maintained by
Deployment model
SaaS
  • SaaS
  • Managed
Partner FinderBecome a partnerDynatrace Developer

Discover recent additions to Dynatrace

Problems logo

Problems

Analyze abnormal system behavior and performance problems detected by Davis AI.

Logs logo

Logs

Explore all your logs without writing a single query.

Security Investigator logo

Security Investigator

Fast and precise forensics for security and logs on Grail data with DQL queries.

Business Flow logo

Business Flow

Track, analyze, and optimize your critical business processes.

Cost & Carbon Optimization logo

Cost & Carbon Optimization

Track, analyze, and optimize your IT carbon footprint and public cloud costs.

Davis Anomaly Detection logo

Davis Anomaly Detection

Detect anomalies in timeseries using the Davis AI

Analyze your data

Understand your data better with deep insights and clear visualizations.

Notebooks logo

Notebooks

Create powerful, data-driven documents for custom analytics and collaboration.

Dashboards logo

Dashboards

Transform complex data into clear visualizations with custom dashboards.

Automate your processes

Turn data and answers into actions, securely, and at scale.

Workflows logo

Workflows

Automate tasks in your IT landscape, remediate problems, and visualize processes

Jira logo

Jira

Create, query, comment, transition, and resolve Jira tickets within workflows.

Slack logo

Slack

Automate Slack messaging for security incidents, attacks, remediation, and more.

Secure your cloud application

See vulnerabilities and attacks in your environment.

Security Overview logo

Security Overview

Get a comprehensive overview of the security of your applications.

Code-Level Vulnerabilities logo

Code-Level Vulnerabilities

Detect vulnerabilities in your code in real time.

Security Posture Management logo

Security Posture Management

Detect, prioritize, and remediate security and compliance findings with SPM.

Threats & Exploits logo

Threats & Exploits

Understand, triage, and investigate detection findings and alerts.

Are you looking for something different?

We have hundreds of apps, extensions, and other technologies to customize your environment

Leverage our newest innovations of Dynatrace Saas

Kick-start your app creation

Kick-start your app creation

Whether you’re a beginner or a pro, Dynatrace Developer has the tools and support you need to create incredible apps with minimal effort.
Go to Dynatrace Developer
Upgrading from Dynatrace Managed to SaaS

Upgrading from Dynatrace Managed to SaaS

Drive innovation, speed, and agility in your organization by seamlessly and securely upgrading.
Learn More
Log Management and Analytics

Log Management and Analytics

Innovate faster and more efficiently with unified log management and log analytics for actionable insights and automation.
Learn more