Thứ Hai, 13 tháng 11, 2017

Thiết lập cảnh báo hệ thống bằng zabbix qua sms

Thiết lập cảnh báo hệ thống bằng zabbix qua sms

Mặc định, zabbix cho phép gửi sms cảnh báo đến số điện thoại người nhận thông qua modem gsm cắm thẳng vào server:  GSM modem: “/dev/ttyS0”

Tuy nhiên trong thực tế không phải lúc nào cũng có thẻ cắm modem gsm trực tiếp vào server như: Server thuê, Hoặc cài trong môi trường ảo hóa. Vì vậy ta sẽ thiết lập gửi sms thông qua 1 API gateway, việc gửi sẽ thông qua đường internet.

Công cụ cần thiết:

  • Zabbix server

  • Sms gateway: ozekisms

Tham khảo cài đặt zabbix server trong bài viết: hướng dẫn cài đặt zabbix server

Tham khảo cài đặt ozekisms trong bài viết:  Hướng dẫn cài sms gateway với usb 3g

Đăng nhập vào sms gateway vào tạo 1 user mới:

 

Username: zabbix

Password: 123456

Vào edit/outbound routing chọn add route

nhập thông số như hình.

Có nhiều cách để gửi SMS qua API của ozekisms: PHP, C#, shell, Perl…. ở đây ta sẽ dùng Perl cho đơn giản.

Trước tiên cài dặt Perl (nếu chưa cài)

yum install perl perl-libwww-perl

Tương tự như tạo script gửi mail trong bài viết thiết lập cảnh báo hệ thống bằng zabbix qua email ta sẽ tạo file sendsms.pl trong thư mục /usr/local/share/zabbix/alertscripts/

nano /usr/local/share/zabbix/alertscripts/sendsms.pl

Nội dung:

#!/usr/bin/perl#Perl cript to send sms#Author: sanbangtatca022015@gmail.com#use for sms gateway.#last modified 04, Nov, 2017use HTTP::Request;use LWP::UserAgent;use URI::Escape;use Getopt::Long;# Agrumentmy $nguoinhan = $ARGV[0];my $noidung = $ARGV[1];##################################################            Ozeki NG informations        ##################################################$host = "192.168.19.142";$port = "9501";$username = "zabbix";$password = "123456";$recipient = $nguoinhan;#$message = $noidung;################################################## Putting together the final HTTP Request ##################################################$url  = "http://"       . $host;$url .= ":" . $port;$url .= "/api?action=sendmessage&";$url .= "username="     . uri_escape($username);$url .= "&password="    . uri_escape($password);$url .= "&recipient="   . uri_escape($recipient);$url .= "&messagetype=SMS:TEXT";$url .= "&messagedata=" . uri_escape($noidung);####################################################            Sending the message          ###################################################$request = HTTP::Request->new(GET=>$url);$useragent = LWP::UserAgent->new;$response = $useragent->request($request);###################################################        Verifying the response            ###################################################if ($response->is_success) {    print "Message successfully sent \n"} else {    print "Message not sent! Please check your settings! \n"}

Tiếp theo vào Administration / Media Types

Thêm media type: sendsms thiết lập như hình vẽ

 

Bấm add để thêm media type

Thêm số diện thoại nhận sms cho user:

Các bước thiết lập triggers và Actions để gửi thông báo qua 1 media types vui lòng xem tại bài viết: https://toiyeuit.com/thiet-lap-canh-bao-thong-bang-zabbix-qua-email/

Chúc các bạn thành công!

Không có nhận xét nào:

Đăng nhận xét