Назад | Перейти на главную страницу

Как отслеживать время простоя удаленного сервера MySQL третьей стороны?

У меня есть серверное приложение на моем собственном сервере, которое зависит от удаленной базы данных MySQL, работающей на другом сервере, поддерживаемом третьей стороной. Как мне контролировать, когда их БД работает, а когда нет? Я бы хотел, чтобы мой уже развернутый Prometheus очистил его, но я не могу установить экспортер на их машину. Есть какой-нибудь пингер mysql для Prometheus что ли? Если нет, может быть, есть другой подход?

Когда мне нужно отслеживать удаленные экземпляры 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()