Несколько дней назад я глянул в детали того, как сервер тратит деньги, и увидел,
что он тратит около 20 рублей в день и имеет 100% загрузку центрального процессора последние 2 дня.
Я подсоединился к серверу и увидел, что завис процесс 'sh', разбираться не стал, просто убил его.
Чтобы в будущем реагировать на такие случаи вовремя, я настроил СМС-уведомление.
Зарегистрировался на SMSC.RU. Одно СМС стоит 0.50 руб.
Написал небольшой скрипт, который следит за средней загрузкой и уведомляет, если она становится слишком большой.
from urllib import urlopen, urlencode
import re
def send_sms(load):
data = {
"login": "<логин>",
"psw": "<пароль>",
"phones": "<номер_телефона>",
"mes": (u"Сервер перегружен %.2f %.2f %.2f".encode("cp1251") % tuple(loadavg))
}
urlopen("http://smsc.ru/sys/send.php", urlencode(data))
f = open("/proc/loadavg", "r")
line = f.readline()
f.close()
m = re.search("^(\d+[.]\d+) (\d+[.]\d+) (\d+[.]\d+)", line)
loadavg = [float(x) for x in m.groups()]
if loadavg[2] > 0.7:
send_sms(loadavg)