Chuẩn bị thiết bị và các gói cài đặt:
Đầu tiên ta dùng lệnh lsusb để kiểm tra xem USB 3G đang ở mode nào
Như hình trên USB 3G đang ở mode Storage (2001:a706)
Để có thể chuyển đổi mode giữa Storage và Modem, ta cài đặt USB modeswitch và wvdial để kiểm tra
Sau khi cài đặt xong dùng lệnh lsusb để kiểm tra lại:
Và dùng lệnh # dmesg | grep GSM để xem USB 3G có đang hoạt động như 1 GSM Modem hay chưa:
Vậy là USB 3G đã chuyển qua 2001:7d01 là mode Modem
*Lưu ý: Với 2001:7d01 lần lượt là Vendor:Product, tuỳ vào USB 3G của mỗi hãng mà Vendor và Product sẽ có những mã khác nhau.
Dùng lệnh # sudo wvdialconf để xem USB 3G đang được nhận ở port nào cũng như tốc độ hoạt động ổn định của USB.
Cài Gnokii làm SMS Gateway
Sửa file cấu hình trong /etc/xdg/gnokii/config
Sau khi sửa file cấu hình sử dụng # sudo gnokii --identify để kiểm tra xem đã nhận được IMEI và các thông số khác của USB 3G chưa
Nếu nhận được thì ta dùng lệnh echo "Test from Zabbix server" | gnokii --sendsms +84xxxxxxxxx để test gửi một SMS đến điện thoại.
*Lưu ý: dùng lệnh # sudo chmod 777 /dev/ttyUSB0 để gnokii có quyền truy cập vào USB 3G
Cấu hình để gửi Alert từ Zabbix
Để gửi được Alert từ Zabbix ta phải tạo một script và trên giao diện web của Zabbix tạo một Media trỏ tới script đó để gửi Alert khi một trigger bị vi phạm.
Các bước thực hiện:
Tạo một script có tên là sendsms.sh có nội dung và đặt trong /bin (có thể đặt ở đường dẫn khác nhưng phân quyền 777).
Thay bằng
Lưu lại và khởi động lại dịch vụ Zabbix Server
Trên giao diện Web của Zabbix ta vào Administration ¨ Media types và nhấn Create media type
Name: Đặt tên cho Media này
Type: Chọn Script
Script name: Nhập vào đúng tên của Script vừa tạo ở trên
Script parameters: Add vào 3 biến như sau
Type: Chọn Media type ta vừa tạo ở trên
Send to: Nhập sdt người sẽ nhận thông báo
Mục Use if severity ta có thể tuỳ chọn mức độ để zabbix cảnh báo hoặc để mặc định. Nhấn Add và Update để cập nhật thông tin.
Nếu chỉ để kiểm tra phần SMS có hoạt động không ta có thể làm thêm bước sau (hoặc bỏ qua và tiến hành kiểm tra).
Ta vào Configuration -> Actions và enable Action mặc định
Click vào Action trên và tuỳ chỉnh
Tại mục Operation trong tab Operaion ta click chọn edit
Tại mục Send only to ta chọn media dành cho SMS đã tạo như trên (mặc định sẽ gửi tới mọi media type).
Kiểm tra bẳng cách tắt dịch vụ Apache trên 1 host:
- 1 USB 3G (Trong bài viết này sử dụng D-Link DWM 156)
- USB Modeswitch
- wvdial
- Gnokii
Đầu tiên ta dùng lệnh lsusb để kiểm tra xem USB 3G đang ở mode nào
Như hình trên USB 3G đang ở mode Storage (2001:a706)
Để có thể chuyển đổi mode giữa Storage và Modem, ta cài đặt USB modeswitch và wvdial để kiểm tra
Code:
# sudo apt-get install wvdial usb-modeswitch usb-modeswitch-data
Và dùng lệnh # dmesg | grep GSM để xem USB 3G có đang hoạt động như 1 GSM Modem hay chưa:
Vậy là USB 3G đã chuyển qua 2001:7d01 là mode Modem
*Lưu ý: Với 2001:7d01 lần lượt là Vendor:Product, tuỳ vào USB 3G của mỗi hãng mà Vendor và Product sẽ có những mã khác nhau.
Dùng lệnh # sudo wvdialconf để xem USB 3G đang được nhận ở port nào cũng như tốc độ hoạt động ổn định của USB.
Cài Gnokii làm SMS Gateway
Code:
# apt-get install gnokii gnokii-smsd gnokii-smsd-mysql
Code:
[global] port = /dev/ttyUSB0 port sử dụng của USB 3G như hình trên model = AT initlength = default connection = serial use_locking = no serial_baudrate = 19200 handshake = hardware connect_script = disconnect_script = smsc_timeout = 10 [xgnokii] allow_breakage = 0 [gnokiid] bindir = /usr/sbin/ [connect_script] TELEPHONE = 123456789 [disconnect_script] [logging] debug = off rlpdebug = off xdebug = off
Nếu nhận được thì ta dùng lệnh echo "Test from Zabbix server" | gnokii --sendsms +84xxxxxxxxx để test gửi một SMS đến điện thoại.
*Lưu ý: dùng lệnh # sudo chmod 777 /dev/ttyUSB0 để gnokii có quyền truy cập vào USB 3G
Cấu hình để gửi Alert từ Zabbix
Để gửi được Alert từ Zabbix ta phải tạo một script và trên giao diện web của Zabbix tạo một Media trỏ tới script đó để gửi Alert khi một trigger bị vi phạm.
Các bước thực hiện:
Tạo một script có tên là sendsms.sh có nội dung và đặt trong /bin (có thể đặt ở đường dẫn khác nhưng phân quyền 777).
Code:
#!/bin/bash export re=$1 export sub=$2 export body=$3 echo "$sub-$body" | /usr/bin/gnokii --sendsms $re >> /tmp/sms.log Sau đó ta vào file config của zabbix server và chỉnh sửa lại dòng: AlertScriptsPath=
Code:
AlertScriptsPath=/bin (nếu đường dẫn khác thì sửa lại đường dẫn)
Trên giao diện Web của Zabbix ta vào Administration ¨ Media types và nhấn Create media type
Name: Đặt tên cho Media này
Type: Chọn Script
Script name: Nhập vào đúng tên của Script vừa tạo ở trên
Script parameters: Add vào 3 biến như sau
- {ALERT.SENDTO}
- {ALERT.SUBJECT}
- {ALERT.MESSAGE}
Type: Chọn Media type ta vừa tạo ở trên
Send to: Nhập sdt người sẽ nhận thông báo
Mục Use if severity ta có thể tuỳ chọn mức độ để zabbix cảnh báo hoặc để mặc định. Nhấn Add và Update để cập nhật thông tin.
Nếu chỉ để kiểm tra phần SMS có hoạt động không ta có thể làm thêm bước sau (hoặc bỏ qua và tiến hành kiểm tra).
Ta vào Configuration -> Actions và enable Action mặc định
Click vào Action trên và tuỳ chỉnh
Tại mục Operation trong tab Operaion ta click chọn edit
Tại mục Send only to ta chọn media dành cho SMS đã tạo như trên (mặc định sẽ gửi tới mọi media type).
Kiểm tra bẳng cách tắt dịch vụ Apache trên 1 host: