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