如何监控远程第三方 MySQL 服务器的停机时间?

如何监控远程第三方 MySQL 服务器的停机时间?

我自己的服务器上有一个服务器应用程序,它依赖于由第三方维护的另一台服务器上运行的远程 MySQL db。我如何监控他们的 bd 何时工作,何时不工作?我希望我已经部署的 Prometheus 能够抓取它,但我无法在他们的机器上安装导出器。是否有某种适用于 Prometheus 的 mysql pinger 之类的东西?如果没有,也许还有其他方法?

答案1

当我需要监控远程 MySQL 实例时,绑定到数据库的简单脚本对我来说很有用。我更喜欢 Python,因为它可以很好地与我的监控系统集成,但任何绑定到数据库并执行简单查询的脚本都可以。我喜欢使用SELECT NOW(),但实际对数据集运行查询可能会有所帮助。

下面是我用来确保远程服务器启动的脚本的粗略示例:

#!/usr/bin/python

import MySQLdb as mdb
import sys

try:
    con = mdb.connect('Your Remote Host', 'DB User', 'DB Password', 'DB Name');
    cur = con.cursor()
    cur.execute("SELECT NOW()")
    ts= cur.fetchone()
    ## Query was successful
    print "Today's date : %s " % ts

except mdb.Error, e:
    ## Something failed, add logic to catch errors here
    print "Error %d: %s" % (e.args[0],e.args[1])
    sys.exit(1)

finally:    
    if con:    
        con.close()

相关内容