У меня есть серверное приложение на моем собственном сервере, которое зависит от удаленной базы данных 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()