是否有一个简单的检查来查看 MySQL 是否在带有 Nagios 的主机上启动,而无需进行身份验证和选择表?
答案1
您可以使用 tcp 连接进行检查,但绝对最好进行身份验证。
还有一件事要记住,如果没有正确地进行身份验证,mysql 最终会由于错误而阻止您的监控主机进行远程 mysql 连接,您必须运行“mysqladmin flush”才能再次授予其访问权限。
答案2
如果不能直接连接到数据库,您将受到一些限制。如果您只想查看 MySQL 进程是否在主机上运行,那么可以使用类似检查就可以了http://exchange.nagios.org/directory/Plugins/Operating-Systems/Linux/check_ps-2Esh/details。
或者,正如其他海报所说,使用检查TCP在端口 3306 上会让您了解 mysql 是否启动并监听其默认端口,这也具有无需配置 NRPE 或设置 check_by_ssh 命令即可工作的好处。
答案3
请记住,mysql 可以配置为根本不监听 TCP 套接字。然后它将使用本地 UNIX 套接字。在这种情况下,check_ps + NRPE 会起作用。
答案4
我没有看到其他解决方案,但 check_tcp 插件基本上可以为您完成这项工作。
/usr/lib/nagios/plugins/check_tcp -H hostname -p 3306