ODT Export
 

Heavy MySQL monitoring solution

THIS IS ALPHA SOFTWARE. It works for me. I'm positive there are bugs here. They won't affect your system, other than annoyance.

For MySQL 5.0 only This may work on 5.1, but I haven't tested, nor incorporated new features that 5.1 provides.

For those who have a need to seriously monitor MySQL, I offer these scripts/templates.

Theory of Operation

I'm sure there are others, but those were the key ones.

Cautions

  • These may drive you crazy with all the warnings I enabled.
  • This is not compatible with the Template_App_Mysql provided with Zabbix. Before you can add this to a host, you must remove the old template
  • PHP required. If somebody wants to port to something else, it's welcome. However, it's core on my machines, and was my easiest implementation method
  • Once you peruse the code, you will see that it's pretty extensive. It adds overhead. Acceptable for me, but YMMV.
  • Be aware of SHOW GLOBAL STATUS gotcha. You should also read the MySQL Performance Blog article on it as well. I set the default to check every 2 min. If this causes performance problems, you may enable SLOWINNODB at the top of the mysql.php script. This greatly increases the time (since manually gathers the parameters it needs), but it will not increase the MySQL CPU usage.

Changelog

  • 2008-10-16: Added round() to Joins_without_indexes_per_day to remove exponents for large query sets.
  • 2008-10-13:
    • Correct where Percent_innodb_cache_hit_rate and/or Percent_innodb_cache_write_waits_required could have been 0
    • Template_MySQL_Server.xml: Corrected error with Joins_without_indexes_per_day,Qcache_lowmem_prunes_per_day in template.
    • mysql.php: Corrected error where replication not enabled stopped the monitoring completely (If you had your warning on strict, the server could see things like: Notice: Undefined variable: Slave_IO_Running)
  • 2008-10-06: Found typo in server XML template. Updated to rev 3. Affected trigger: Change_read_rnd_buffer_size.

Support

  • I’ve started this discussion forum thread to discuss this: MySQL Monitoring Thread
  • I'm typically logged into the #zabbix IRC channel as drmikecrowe.

Installation Notes

  • This requires zabbix_sender dated ZABBIX send v1.5.4 (19 August 2008) or later. (Ubuntu has an OLD zabbix_sender, that does not accept parameters -o, -z, etc.). Do a zabbix_sender –help and see if it accepts command line parameters or not.
    • If you need to recompile, you just have to:
    • Get the latest source (I used 1.5.4)
    • Configure with ./configure –enable-agent
    • make
    • Copy the src/zabbix_sender/zabbix_sender to your /usr/bin/ or /usr/local/bin
  • Only 2 lines are added to zabbix_agentd.conf:
    1. UserParameter=mysql.daily,php /etc/zabbix/mysql.php daily USERNAME PASSWORD
    2. UserParameter=mysql.live,php /etc/zabbix/mysql.php live USERNAME PASSWORD
  • I regularly use /tmp for status files. You can change the location of these at the top of the file
  • Only 2 active calls are made to the client machines, mysql.live (called every 2m), and mysql.daily (called 1/day). The former gathers the frequently changing info, and the latter gathers configuration issues.
  • By default, DEBUG is enabled. You will have to verify the entire script before you start sending data, so I insure it won't output anything by default. To validate, I suggest:
    1. From the /etc/zabbix directory, run rm /tmp/.zabbix_mysql-debug.dtime; php mysql.php daily USERNAME PASSWORD
    2. From the /etc/zabbix directory, run php mysql.php live USERNAME PASSWORD
  • Preview all the data, and insure all the calls work before you start sending.
  • You will notice a time-zone set at the top to America/New_York. You can ignore this. It is so the E_STRICT option doesn't complain. I enable E_STRICT to insure I initialize all the variable properly (i.e. I don't use a Daily variable in the Live check, etc.).
  • I had issues getting the queries-per-second to accumulate in Zabbix, so I manually compute in the script. This may change in the future.

Donations Welcome!

  • If you find this of value, I'd gladly accept any small token of your appreciation. This took a lot of time to prepare for others to use, and anything you donate would be greatly valued.

What's Collected and Monitored?

Data Collected

  • Default install includes db named 'test'
  • MySQL: Accounts or Users excessive revokes
  • MySQL: Accounts with Alter privileges
  • MySQL: Accounts with blank host or wildcard specifiers
  • MySQL: Accounts with blank password
  • MySQL: Accounts with blank usernames
  • MySQL: Accounts with Delete privileges
  • MySQL: Accounts with Drop privileges
  • MySQL: Accounts with File privileges
  • MySQL: Accounts with Grant privileges
  • MySQL: Accounts with Insert privileges
  • MySQL: Accounts with Lock privileges
  • MySQL: Accounts with Process privileges
  • MySQL: Accounts with Shut Down privileges
  • MySQL: Accounts with Super privileges
  • MySQL: Accounts with Update privileges
  • MySQL: Architecture: Hardware supports total memory
  • MySQL: Architecture: Max mem MySQL could use
  • MySQL: Architecture: MySQL max mem over 32-bit capabilities
  • MySQL: Architecture: MySQL may use more memory than available
  • MySQL: Available
  • MySQL: Binlog: Cache size
  • MySQL: Binlog: Is enabled
  • MySQL: Binlog: Number of transactions that use the cache
  • MySQL: Binlog: Sync to disk each write
  • MySQL: Binlog: Transactions over binlog_cache_size
  • MySQL: Change innodb_additional_mem_pool_size
  • MySQL: Change innodb_buffer_pool_size
  • MySQL: Change innodb_log_buffer_size
  • MySQL: Change innodb_log_file_size
  • MySQL: Change key_buffer_size
  • MySQL: Change key_buffer_size
  • MySQL: Change query_cache_size
  • MySQL: Change read_buffer_size
  • MySQL: Change read_rnd_buffer_size
  • MySQL: Change sort_buffer_size
  • MySQL: Change table_cache
  • MySQL: Change tmp_table_size
  • MySQL: Clients: Count terminated abnormally
  • MySQL: Config: Expire log days
  • MySQL: Config: Files open vs. max allowed %
  • MySQL: Config: Idle time before client disconnected
  • MySQL: Config: Launch time for a slow thread
  • MySQL: Config: LOAD DATA LOCAL is insecure
  • MySQL: Config: Log queries w/o an index
  • MySQL: Config: Log slow queries
  • MySQL: Config: No password on root
  • MySQL: Config: Old password authentication allowed
  • MySQL: Config: Old passwords supported
  • MySQL: Config: Query exec and parsing buffer
  • MySQL: Config: Root account present
  • MySQL: Config: root login enabled
  • MySQL: Config: sql_mode
  • MySQL: Config: symlinks are enabled
  • MySQL: Config: Time before a query is 'slow'
  • MySQL: Config: Tmp table max size in-memory
  • MySQL: Config: Users can view all databases
  • MySQL: Connections: Max allowed
  • MySQL: Connections: Maximum ever used %
  • MySQL: Connections: Maximum number used
  • MySQL: Connections: Number aborted
  • MySQL: Connections: Percent of total used
  • MySQL: Connections: Refused
  • MySQL: Connections: Successful
  • MySQL: Connections: Total
  • MySQL: Current version
  • MySQL: Daily Controller
  • MySQL: InnoDB: Buffer used to store internal structures
  • MySQL: InnoDB: Buffer_pool size
  • MySQL: InnoDB: Data vs. buffer size %
  • MySQL: InnoDB: How to flush logs
  • MySQL: InnoDB: Log buffer size for tables
  • MySQL: InnoDB: Log writes to wait %
  • MySQL: InnoDB: Number of files in log group
  • MySQL: InnoDB: Percent hit rate of cache
  • MySQL: InnoDB: Percent of cache writes to wait
  • MySQL: InnoDB: Size of file in each log group
  • MySQL: InnoDB: Total size of log files
  • MySQL: Joins average not using indices per day
  • MySQL: Joins buffer size requiring full table scan
  • MySQL: Joins not using indices
  • MySQL: Last error number generated
  • MySQL: Last error string
  • MySQL: Live Controller
  • MySQL: MyISAM: Block size of the key buffer
  • MySQL: MyISAM: Buffer size for full-table scans
  • MySQL: MyISAM: Crashes not auto corrected
  • MySQL: MyISAM: Key block write requests
  • MySQL: MyISAM: Key buffer size
  • MySQL: MyISAM: Key cache blocks
  • MySQL: MyISAM: Key cache blocks requested
  • MySQL: MyISAM: Key cache blocks used
  • MySQL: MyISAM: Key cache Hit ratio %
  • MySQL: MyISAM: Key cache in use %
  • MySQL: MyISAM: Key cache write ratio %
  • MySQL: MyISAM: Key writes
  • MySQL: MyISAM: Number of reads of a key block from disk
  • MySQL: MyISAM: Sort buffer to rebuilding index after repair
  • MySQL: Network bytes received
  • MySQL: Network bytes sent
  • MySQL: Number of database alterations
  • MySQL: Number of database creations
  • MySQL: Number of databases dropped
  • MySQL: Number of functions created
  • MySQL: Number of functions dropped
  • MySQL: Number of indices created
  • MySQL: Number of indices dropped
  • MySQL: Number of permissions granted
  • MySQL: Number of recent schema changes
  • MySQL: Number of table alterations
  • MySQL: Number of tables created
  • MySQL: Number of tables dropped
  • MySQL: Number of users dropped
  • MySQL: Queries: % Deletes of overall
  • MySQL: Queries: % Full table scans
  • MySQL: Queries: % Inserts of overall
  • MySQL: Queries: % Selects of overall queries
  • MySQL: Queries: % Sorts requiring tmp tables
  • MySQL: Queries: % transactions saved to disk
  • MySQL: Queries: % Updates of overall queries
  • MySQL: Queries: % Write of overall queries
  • MySQL: Queries: Average rows returned
  • MySQL: Queries: Buffer used for ORDER BY
  • MySQL: Queries: Joins w/ full table scans of 2+ tables
  • MySQL: Queries: Number flagged as slow
  • MySQL: Queries: Queries per second
  • MySQL: Queries: Selects w/ full table scans
  • MySQL: Queries: Sort buffer size for in-memory sorting
  • MySQL: Queries: Sorts done using ranges
  • MySQL: Queries: Sorts that scanned a table
  • MySQL: Queries: Sorts total number
  • MySQL: Queries: Total number executed
  • MySQL: Queries: Total rows returned
  • MySQL: Queries: Total rows using indices
  • MySQL: Query cache average pruned from cache per day
  • MySQL: Query cache block size
  • MySQL: Query cache fragmentation
  • MySQL: Query cache free blocks
  • MySQL: Query cache free memory
  • MySQL: Query cache hit rate %
  • MySQL: Query cache hits
  • MySQL: Query cache is enabled
  • MySQL: Query cache number currently in cache
  • MySQL: Query cache number inserted
  • MySQL: Query cache number not cached
  • MySQL: Query cache number pruned due to memory %
  • MySQL: Query cache number pruned from query cache
  • MySQL: Query cache resultset max size
  • MySQL: Query cache size
  • MySQL: Query cache total blocks
  • MySQL: Query cache type
  • MySQL: Suggested innodb_additional_mem_pool_size
  • MySQL: Suggested innodb_buffer_pool_size
  • MySQL: Suggested innodb_log_buffer_size
  • MySQL: Suggested innodb_log_file_size
  • MySQL: Suggested key_buffer_size
  • MySQL: Suggested key_buffer_size
  • MySQL: Suggested query_cache_size
  • MySQL: Suggested read_buffer_size
  • MySQL: Suggested read_rnd_buffer_size
  • MySQL: Suggested sort_buffer_size
  • MySQL: Suggested table_cache
  • MySQL: Suggested tmp_table_size
  • MySQL: Table: Cache hit rate %
  • MySQL: Table: Currently open
  • MySQL: Table: Fragmented count in all databases
  • MySQL: Table: Locks acquired immediately
  • MySQL: Table: Locks that required waiting
  • MySQL: Table: Locks vs. table opens %
  • MySQL: Table: Maximum size of a memory table
  • MySQL: Table: Number of cache misses
  • MySQL: Table: Number that can be cached
  • MySQL: Threads cache size
  • MySQL: Threads cached
  • MySQL: Threads created
  • MySQL: Threads creation rate
  • MySQL: Threads currently connected
  • MySQL: Threads currently running
  • MySQL: Threads hitting the thread-cache %
  • MySQL: Threads launched which were slow
  • MySQL: Tmp files created due to > sort_buffer_size
  • MySQL: Tmp tables created
  • MySQL: Tmp tables created on disk
  • MySQL: Tmp tables written to disk %
  • MySQL: Uptime in seconds

Triggers

  • Accounts with old passwords on Template_MySQL_Server {Template_MySQL_Server:mysql.secure_auth. last( 0 ) }=0
  • Anonymous users allowed on Template_MySQL_Server {Template_MySQL_Server:mysql.Anonymous_accounts_count. last( 0 ) }>0
  • Anonymous users alowed on Template_MySQL_Server {Template_MySQL_Server:mysql.Anonymous_accounts_count. last( 0 ) }>0
  • Binary log is not enabled on Template_MySQL_Server {Template_MySQL_Server:mysql.log_bin. last( 0 ) }=0
  • Binlog is not sync'd to disk after each write on Template_MySQL_Server {Template_MySQL_Server:mysql.sync_binlog. last( 0 ) }=0
  • Binlog_cache_size too low (% written to disk) on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_transactions_saved_tmp_file. last( 0 ) }>10
  • Binlog_cache_size too low (% written to disk) on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_transactions_saved_tmp_file. last( 0 ) }>30
  • Excessive recent revokes on Template_MySQL_Server {Template_MySQL_Server:mysql.Excessive_revokes. last( 0 ) }>0
  • Excessive tmp disk tables created on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_tmp_tables_on_disk. last( 0 ) }>25
  • InnoDB Cache Hit Rate (%) on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_innodb_cache_hit_rate. last( 0 ) }<85
  • InnoDB Cache Hit Rate (%) on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_innodb_cache_hit_rate. last( 0 ) }<95
  • InnoDB log flush status on Template_MySQL_Server {Template_MySQL_Server:mysql.innodb_flush_log_at_trx_commit. last( 0 ) }#2
  • LOAD DATA LOCAL allowed on Template_MySQL_Server {Template_MySQL_Server:mysql.local_infile. last( 0 ) }=1
  • Logs are not set to expire on Template_MySQL_Server {Template_MySQL_Server:mysql.expire_logs_days. last( 0 ) }=0
  • Long query time is high on Template_MySQL_Server {Template_MySQL_Server:mysql.Created_tmp_disk_tables. last( 0 ) }>25
  • MyISAM auto recovery not enabled on Template_MySQL_Server {Template_MySQL_Server:mysql.myisam_recover_options. last( 0 ) }=0
  • MyISAM: Key Cache Hit Rate {Template_MySQL_Server:mysql.Percent_myisam_key_cache_hit_rate. last( 0 ) }<85
  • MyISAM: Key Cache Hit Rate (%) on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_myisam_key_cache_hit_rate. last( 0 ) }<95
  • MyISAM: Key Cache Hit Rate (%) on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_myisam_key_cache_hit_rate. last( 0 ) }<85
  • MySQL: Accounts with old passwords on Template_MySQL_Server {Template_MySQL_Server:mysql.secure_auth. last( 0 ) }=0
  • MySQL: Anonymous users allowed on Template_MySQL_Server {Template_MySQL_Server:mysql.Anonymous_accounts_count. last( 0 ) }>0
  • MySQL: Binary log is not enabled on Template_MySQL_Server {Template_MySQL_Server:mysql.log_bin. last( 0 ) }=0
  • MySQL: Binlog is not sync'd to disk after each write on Template_MySQL_Server {Template_MySQL_Server:mysql.sync_binlog. last( 0 ) }=0
  • MySQL: Binlog_cache_size too low (% written to disk) on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_transactions_saved_tmp_file. last( 0 ) }>10
  • MySQL: Binlog_cache_size too low (% written to disk) on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_transactions_saved_tmp_file. last( 0 ) }>30
  • MySQL: Change the innodb_additional_mem_pool_size on Template_MySQL_Server {Template_MySQL_Server:mysql.Change_innodb_additional_mem_pool_size. last( 0 ) }=1
  • MySQL: Change the innodb_log_buffer_size on Template_MySQL_Server {Template_MySQL_Server:mysql.Change_innodb_log_buffer_size. last( 0 ) }=1
  • MySQL: Change the innodb_log_file_size on Template_MySQL_Server {Template_MySQL_Server:mysql.Change_innodb_log_file_size. last( 0 ) }=1
  • MySQL: Change the key_buffer_size on Template_MySQL_Server {Template_MySQL_Server:mysql.Change_key_buffer_size. last( 0 ) }=1
  • MySQL: Change the myisam_sort_buffer_size on Template_MySQL_Server {Template_MySQL_Server:mysql.Change_myisam_sort_buffer_size. last( 0 ) }=1
  • MySQL: Change the query_cache_size on Template_MySQL_Server {Template_MySQL_Server:mysql.Change_query_cache_size. last( 0 ) }=1
  • MySQL: Change the read_buffer_size on Template_MySQL_Server {Template_MySQL_Server:mysql.Change_read_buffer_size. last( 0 ) }=1
  • MySQL: Change the read_rnd_buffer_size on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_files_open. last( 0 ) }=1
  • MySQL: Change the sort_buffer_size on Template_MySQL_Server {Template_MySQL_Server:mysql.Change_sort_buffer_size. last( 0 ) }=1
  • MySQL: Change the table_cache on Template_MySQL_Server {Template_MySQL_Server:mysql.Change_table_cache. last( 0 ) }=1
  • MySQL: Change the tmp_table_size on Template_MySQL_Server {Template_MySQL_Server:mysql.Change_tmp_table_size. last( 0 ) }=1
  • MySQL: Excessive recent revokes on Template_MySQL_Server {Template_MySQL_Server:mysql.Excessive_revokes. last( 0 ) }>0
  • MySQL: Excessive tmp disk tables created on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_tmp_tables_on_disk. last( 0 ) }>25
  • MySQL: InnoDB Cache Hit Rate (%) on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_innodb_cache_hit_rate. last( 0 ) }<85
  • MySQL: InnoDB Cache Hit Rate (%) on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_innodb_cache_hit_rate. last( 0 ) }<95
  • MySQL: InnoDB log flush status on Template_MySQL_Server {Template_MySQL_Server:mysql.innodb_flush_log_at_trx_commit. last( 0 ) }#2
  • MySQL: Joins without indices on Template_MySQL_Server {Template_MySQL_Server:mysql.Joins_without_indexes_per_day. last( 0 ) }>100
  • MySQL: LOAD DATA LOCAL allowed on Template_MySQL_Server {Template_MySQL_Server:mysql.local_infile. last( 0 ) }=1
  • MySQL: Logs are not set to expire on Template_MySQL_Server {Template_MySQL_Server:mysql.expire_logs_days. last( 0 ) }=0
  • MySQL: Long query time is high on Template_MySQL_Server {Template_MySQL_Server:mysql.Created_tmp_disk_tables. last( 0 ) }>25
  • MySQL: Long query time is high on Template_MySQL_Server {Template_MySQL_Server:mysql.long_query_time. last( 0 ) }>2
  • MySQL: MyISAM auto recovery not enabled on Template_MySQL_Server {Template_MySQL_Server:mysql.myisam_recover_options. last( 0 ) }=0
  • MySQL: MyISAM: Key Cache Hit Rate (%) on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_myisam_key_cache_hit_rate. last( 0 ) }<95
  • MySQL: MyISAM: Key Cache Hit Rate (%) on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_myisam_key_cache_hit_rate. last( 0 ) }<85
  • MySQL: New GRANTs have been given on Template_MySQL_Server {Template_MySQL_Server:mysql.Com_grant. last( 0 ) }>0
  • MySQL: Percent of connections (%) aborted on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_aborted_connections. last( 0 ) }>25
  • MySQL: Percent of connections (%) aborted on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_aborted_connections. last( 0 ) }>30
  • MySQL: Percent of InnoDB cache writes (%) that had to wait on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_innodb_cache_write_waits_required. last( 0 ) }>0.01
  • MySQL: Percent of InnoDB cache writes (%) that had to wait on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_innodb_cache_write_waits_required. last( 0 ) }>0.1
  • MySQL: Percent total connections (%) used on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_connections_used. last( 0 ) }>75
  • MySQL: Percent total connections (%) used on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_connections_used. last( 0 ) }>85
  • MySQL: Percentage of queries (%) scanning full tables on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_full_table_scans. last( 0 ) }>19
  • MySQL: Percentage of queries (%) scanning full tables on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_full_table_scans. last( 0 ) }>39
  • MySQL: Queries pruning frequently on Template_MySQL_Server {Template_MySQL_Server:mysql.Qcache_lowmem_prunes_per_day. last( 0 ) }>100
  • MySQL: Queries require tmp sort table on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_tmp_sort_tables. last( 0 ) }>100
  • MySQL: Query cache fragmented > 20% on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_query_cache_fragmentation. last( 0 ) }>20
  • MySQL: Query cache hit rate low on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_query_cache_hit_rate. last( 0 ) }<20
  • MySQL: Query cache is not enabled on Template_MySQL_Server {Template_MySQL_Server:mysql.have_query_cache. last( 0 ) }=0
  • MySQL: Query cache pruned (%) due to memory on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_query_cache_pruned_from_inserts. last( 0 ) }>15
  • MySQL: Query cache pruned (%) due to memory on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_query_cache_pruned_from_inserts. last( 0 ) }>20
  • MySQL: Root account present on Template_MySQL_Server {Template_MySQL_Server:mysql.Root_accounts_count. last( 0 ) }>0
  • MySQL: Root has no password on Template_MySQL_Server {Template_MySQL_Server:mysql.Is_root_without_password. last( 0 ) }=1
  • MySQL: Root remote login enabled on Template_MySQL_Server {Template_MySQL_Server:mysql.Is_root_remote_login_enabled. last( 0 ) }=1
  • MySQL: Server generates old passwords on Template_MySQL_Server {Template_MySQL_Server:mysql.old_passwords. last( 0 ) }=1
  • MySQL: SHOW DATABASES is enabled on Template_MySQL_Server {Template_MySQL_Server:mysql.skip_show_database. last( 0 ) }=0
  • MySQL: Sugges the ed on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_files_open. last( 0 ) }=1
  • MySQL: Symlinks are enabled on Template_MySQL_Server {Template_MySQL_Server:mysql.have_symlink. last( 0 ) }=1
  • MySQL: Table cache hit rate (%) is low on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_table_cache_hit_rate. last( 0 ) }<95
  • MySQL: Table lock contention (%) is degrading performance on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_table_lock_contention. last( 0 ) }>30
  • MySQL: Table lock contention (%) is degrading performance on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_table_lock_contention. last( 0 ) }>60
  • MySQL: Tables are fragmented on Template_MySQL_Server {Template_MySQL_Server:mysql.Fragmented_table_count. last( 0 ) }>0
  • MySQL: Temp tables using disk (%) on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_tmp_tables_on_disk. last( 0 ) }>50
  • MySQL: Temp tables using disk (%) on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_tmp_tables_on_disk. last( 0 ) }>75
  • MySQL: Thread cache hit ratio (%) falling on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_thread_cache_hit_rate. last( 0 ) }<93
  • MySQL: Thread cache hit ratio (%) falling on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_thread_cache_hit_rate. last( 0 ) }<90
  • MySQL: Too many files open on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_files_open. last( 0 ) }>85
  • MySQL: Too many threads () running on Template_MySQL_Server {Template_MySQL_Server:mysql.Threads_running. last( 0 ) }>19
  • MySQL: Too many threads () running on Template_MySQL_Server {Template_MySQL_Server:mysql.Threads_running. last( 0 ) }>24
  • MySQL: Users have blank or wildcard hosts on Template_MySQL_Server {Template_MySQL_Server:mysql.Accounts_with_broad_host_specifier. last( 0 ) }>0
  • MySQL: Users without passwords on Template_MySQL_Server {Template_MySQL_Server:mysql.Accounts_without_password. last( 0 ) }>0
  • MySQL: Validation (sql_mode) is not enabled on Template_MySQL_Server {Template_MySQL_Server:mysql.sql_mode. last( 0 ) }=0
  • New GRANTs have been given on Template_MySQL_Server {Template_MySQL_Server:mysql.Com_grant. last( 0 ) }>0
  • Percent of connections (%) aborted on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_aborted_connections. last( 0 ) }>25
  • Percent of connections (%) aborted on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_aborted_connections. last( 0 ) }>30
  • Percent of InnoDB cache writes (%) that had to wait on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_innodb_cache_write_waits_required. last( 0 ) }>0.01
  • Percent of InnoDB cache writes (%) that had to wait on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_innodb_cache_write_waits_required. last( 0 ) }>0.1
  • Percent total connections (%) used on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_connections_used. last( 0 ) }>75
  • Percent total connections (%) used on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_connections_used. last( 0 ) }>85
  • Percentage of queries (%) scanning full tables on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_full_table_scans. last( 0 ) }>19
  • Percentage of queries (%) scanning full tables on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_full_table_scans. last( 0 ) }>39
  • Query cache is not enabled on Template_MySQL_Server {Template_MySQL_Server:mysql.have_query_cache. last( 0 ) }=0
  • Query cache pruned (%) due to memory on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_query_cache_pruned_from_inserts. last( 0 ) }<15
  • Query cache pruned (%) due to memory on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_query_cache_pruned_from_inserts. last( 0 ) }>15
  • Query cache pruned (%) due to memory on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_query_cache_pruned_from_inserts. last( 0 ) }>20
  • Root account present on Template_MySQL_Server {Template_MySQL_Server:mysql.Root_accounts_count. last( 0 ) }>0
  • Root has no password on Template_MySQL_Server {Template_MySQL_Server:mysql.Is_root_without_password. last( 0 ) }=1
  • Root remote login enabled on Template_MySQL_Server {Template_MySQL_Server:mysql.Is_root_remote_login_enabled. last( 0 ) }=1
  • Server generates old passwords on Template_MySQL_Server {Template_MySQL_Server:mysql.old_passwords. last( 0 ) }=1
  • SHOW DATABASES is enabled on Template_MySQL_Server {Template_MySQL_Server:mysql.skip_show_database. last( 0 ) }=0
  • Symlinks are enabled on Template_MySQL_Server {Template_MySQL_Server:mysql.have_symlink. last( 0 ) }=1
  • Table cache hit rate (%) is low on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_table_cache_hit_rate. last( 0 ) }<95
  • Table lock contention (%) is degrading performance on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_table_lock_contention. last( 0 ) }>30
  • Table lock contention (%) is degrading performance on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_table_lock_contention. last( 0 ) }>60
  • Temp tables using disk (%) on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_tmp_tables_on_disk. last( 0 ) }>50
  • Temp tables using disk (%) on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_tmp_tables_on_disk. last( 0 ) }>75
  • Thread cache hit ratio (%) falling on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_thread_cache_hit_rate. last( 0 ) }<93
  • Thread cache hit ratio (%) falling on Template_MySQL_Server {Template_MySQL_Server:mysql.Percent_thread_cache_hit_rate. last( 0 ) }<90
  • Too many threads () running on Template_MySQL_Server {Template_MySQL_Server:mysql.Threads_running. last( 0 ) }>19
  • Too many threads () running on Template_MySQL_Server {Template_MySQL_Server:mysql.Threads_running. last( 0 ) }>24
  • Users have blank or wildcard hosts on Template_MySQL_Server {Template_MySQL_Server:mysql.Accounts_with_broad_host_specifier. last( 0 ) }>0
  • Validation (sql_mode) is not enabled on Template_MySQL_Server {Template_MySQL_Server:mysql.sql_mode. last( 0 ) }=0
 
howto/monitor/db/mysql/extensive_mysql_monitoring_including_replication.txt · Last modified: 2011/12/06 18:05 by halfasleep
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki