MySQL监控工具

你用什么工具来监控你的MySQL服务器实例的健康状况? 他们是免费还是商业?

尝试MySQL的仙人掌模板 。

mytop提供了一些方便的CLI信息,它是免费的(* unix only)。

Mysql有一个名为Mysql Administrator的免费软件,它是mysql GUI工具包的一部分。

Mysqlpipe理员连接文档 。

另外还有Mysql Enterprise Monitor,它具有更多的监视function。 你可以监视其他服务器上的Mysql看到问题7 。

我喜欢SQLyog远程pipe理mySQL。 好的GUI环境,还有一个免费的社区版本。

这家公司还生产一种mySQL监控解决schemeMONyog,但这不是免费的,我也没有玩过。

我有一个自定义的Zabbixconfiguration从MySQL中提取有用的数据点。 我应该开始向社区开放这些脚本。

除了运行cacti来描绘 mysql的性能,我们有mysqltuner.com的设置,可以向我们发送一个我们应该关注的服务器上每一个variables的日常报告。

innotop已经很棒的监测。 我相信它推荐在这两个版本的high performance mysql

尽可能地基本,我用了:

 $ watch -n1 "mysqladmin processlist -u root -pYouWillNeverGuessThis" 

这为我提供了每秒更新的连接,用户,主机,数据库,命令等的列表。 这是一个实时的“谁在做什么?” 解。

非常简单,但也很有用。

我使用mysqladmin processlist每5分钟运行一次cronjob。 另见这个问题 。

另外, phpMyAdmin还有一些监控function。

我们使用hyperic ,它是一个开源应用程序,但也有一个商业产品,如果你想。 它还监视操作系统,networking服务器等

不要忘记监视底层平台。 我会监视

  • 日志,数据和tmp设备上的IOPS(您有三个独立的LUN上有这些吗?)
  • 交换(超过几页/秒是不利于MySQL,谷歌“mysql swappiness”找出原因)
  • 主机操作系统的内存统计信息。 我遵循的一般规则是分配不超过80%的MySQL进程为操作系统和缓冲区caching留下一些空间

您可以使用SNMP和Cacti来监视所有这些事情

mtop非常适合监视当前正在运行的查询和系统variables。

仙人掌,如上所述。 另外mytop有时监测当前的活动。

通过nagios nagios_mysql插件进行基本监控,添加了一个小的自定义脚本来监控从站状态和slavelag。

这不是严格的监控,但你可以使用mysqlreport很好地概述你的MySQL服务器的执行情况以及configuration是否正确。

http://hackmysql.com/mysqlreport

实际上它取决于服务器上运行的数据库。

我通常检查

  • 查询数量
    • 取决于数据库
  • 索引
  • 慢查询日志
  • mysqlping
  • 从远程主机到某个数据库的mysql连接
    • 检查它从正确的主机工作
    • 检查它从正确的主机失败
  • select当前时间以确保它是正确的
  • select整理/编码
  • 连接的用户

在框架方面,我正在使用munin的一切,可以给我的指标和nagios(很快是icinga )的一切给我的状态信息。

为了更全面的监控MySQL(但商业化,所以只有当你的数据库是值得的)检查www.LogicMonitor.com。 无需configuration(检测存储引擎types,复制状态等); 提供调整build议; 完整的历史制图和警报在一个系统; 非常可扩展性,并将监视数据中心的其他基础架构。