Яндекс.Практикум

Как получать сообщения от Zabbix себе на телефон через SMS?

Как получать сообщения от Zabbix себе на телефон через SMS?

Регистрируемся у SMS провайдера, например мы будем использовать sms рассылки от RocketSMS.by.

1. Создаем скрипт например sms_gate.php в /usr/lib/zabbix/alertscripts или в папку которая указана в настройках zabbix_server.conf, переменная AlertScriptsPath.

<?php
if (count($argv)<3) {
   die ("Usage: ".$argv[0]." recipientmobilenumber \"subject\" \"message\"\n");
}

$to = str_replace('+', '', trim($argv[1]));
$message = trim($argv[2]);

if ( $message == "" || !is_numeric($to) ) {
   die("missing params!\n");
}

$message = [
"username" => "Логин",
"password" => md5("Пароль"),
"phone" => $to,
"text" => $message
];

$messageQuery = http_build_query($message);

curl_setopt($curl,CURLOPT_URL, 'http://api.rocketsms.by/simple/send');
curl_setopt($curl,CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl,CURLOPT_POST, true);
curl_setopt($curl,CURLOPT_POSTFIELDS, $messageQuery);

$result = @json_decode(curl_exec($curl), true);

if($result && isset($result['id'])) {
   echo"Message has been sent. MessageID=".$result['id'];
} elseif($result && isset($result['error'])) {
   echo"Error occurred while sending message. ErrorID=".$result['error'];
} else {
   echo"Service error";
}

?>

2. Установим права на выполнение скрипта.

chmod +x /usr/lib/zabbix/alertscripts/sms_gate.php
chown zabbix /usr/lib/zabbix/alertscripts/sms_gate.php

3. Проверим, что SMS сообщения отправляются

php /usr/lib/zabbix/alertscripts/sms_gate.php Номер телефона (Без всяких знаков + итд) "Test Message"

4. В Zabbix перейдите в Administration > Media Types и создайте новый Media type с типом Script и именем например SMSGate. В поле Script Name указываем наш скрипт sms_gate.php, а в Script parameters указываем следующие макросы {ALERT.SENDTO}, {ALERT.MESSAGE}.

5. Перейдите в Administration > Users, выберете пользователя, перейдите во вкладку Media. Нажмите Add, в поле Type выберете наш скрипт, а в поле Send to введите номер телефона.

Понравилась статья? Поделиться с друзьями:
IPCalc Blog