I am in pre-production phase and testing out SolarWinds to replace current NMS.
One of my tasks is to implement MySQL monitoring.
From what I can see and from what SW engineers tell me, their DB monitoring is reliant on TABLE select queries.
What I am trying to do is to parse the entire contents of 'show global status' into individual monitored attributes.
example show global status
+-----------------------------------+---------------+
| Variable_name | Value |
+-----------------------------------+---------------+
| Aborted_clients | 12 |
| Aborted_connects | 261 |
| Binlog_cache_disk_use | 0 |
| Binlog_cache_use | 0 |
| Bytes_received | 554349961546 |
| Bytes_sent | 127001303 |
| Com_admin_commands | 1 |
| Com_alter_db | 0 |
| Com_alter_table | 128377 |
| Com_analyze | 0 |
| Com_backup_table | 0 |
| Com_begin | 0 |
| Com_call_procedure | 0 |
| Com_change_db | 11451 |
| Com_change_master | 0 |
| Com_check | 0 |
| Com_checksum | 0 |
| Com_commit | 0 |
| Com_create_db | 9807 |
| Com_create_function | 0 |
| Com_create_index | 0 |
| Com_create_table | 64401 |
| Com_create_user | 0 |
| Com_dealloc_sql | 0 |
| Com_delete | 59 |
| Com_delete_multi | 0 |
| Com_do | 0 |
| Com_drop_db | 185 |
| Com_drop_function | 0 |
| Com_drop_index | 0 |
| Com_drop_table | 64875 |
| Com_drop_user | 0 |
| Com_execute_sql | 0 |
| Com_flush | 0 |
| Com_grant | 0 |
| Com_ha_close | 0 |
In newer versions of MySQL, all these are stored into Tables which is great but doesnt help me. I cannot expect production DBAs to upgrade to newest version for this.
I have created and tested a workaround but i really do not like it. I created a Linux Script that ssh into a linux server and uses that shell to run remote MySQL command and use awk to pull back the value.
#!/bin/sh
mysql -uxxxxx -pxxxxx -hxxxxx.xxx.com -e 'show global status' | awk '/Com_admin_commands/ {print $2}'
Has anyone found better solutions to this problem?