Отправка СМС с сервера

Несколько дней назад я глянул в детали того, как сервер тратит деньги, и увидел, что он тратит около 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)
blog comments powered by Disqus