Chúng ta không phải lúc nào cũng có thể ngồi nhìn xem khi nào có host hay service nào đó có đang hoạt động tốt hay không. Vậy thì ở bài này tôi sẽ hướng dẫn các bạn làm cảnh báo qua mail. khi mà có host hay service nào đó gặp sự cố. Bạn sẽ nhận được mail thông báo về nó
Bạn đã có thể giám sát được host và service chưa? Bạn có thể thêm được một host để nagios server giám sát nó chưa? Nếu chưa thì bạn hãy đọc cách làm điều đó ở bài hướng dẫn giám sát host và service với nagios Tôi viết bài này với suy nghĩ rằng mọi người đã biết cách cài đặt và giám sát một host với nagios. Nếu mọi người chưa biết cài đặt ra sao hãy đọc bài ở trên nhé!
Mô hình
Thông số VM
Hostname | IP | CPU | RAM | DISK |
serve | 192.168.80.221 | 1 | 1G | 20G |
client | 192.168.80.225 | 1 | 1G | 20G |
Kịch bản : Tôi sẽ cài đặt nagios lên server ( 192.168.80.221) và giám sát một host có tên là client (192.168.80.225). Và tôi sẽ hướng dẫn các bạn cài đặt nó sẽ cảnh báo mail khi mà client bị tắt hay là khi nó được bật trở lại hoạt động bình thường
Thực hiện Mọi thứ trên nagios server
1.Cài đặt gói mail postfix
yum -y install postfix cyrus-sasl-plain mailx
2. Tạo file lưu trữ user và pass của mail trong file
vi /etc/postfix/sasl_passwd
ví dụ:
[smtp.gmail.com]:587 [email protected]:anhduc123
3. Khai báo file chứa địa chỉ mail tại file cấu hình chính của dịch vụ mail
vi /etc/postfix/main.cf
relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_security_options = smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
4. Thiết lập chế độ less secure của Gmail
Có rất nhiều mail chưa bật tính năng này. Bạn cần phải bật tính năng này để có thể sử dụng gửi mail bằng nagios. Chúng ta cần sửa tại link này
5. Cấp quyền sử dụng vào đọc cho file chứa user passwd của mail mình sử dụng để gửi đến các mail cần nhận cảnh báo
chown root:postfix /etc/postfix/sasl_passwd* chmod 600 /etc/postfix/sasl_passwd postmap /etc/postfix/sasl_passwd
6. Khởi động dịch vụ postfix
systemctl start postfix systemctl enable postfix
7. Kiểm tra xem dịch vụ postfix đa hoạt động hay chưa
echo "This is a test." | mail -s "test message" [email protected]
8. Khai báo contact nhận cảnh báo mail
define contact{ contact_name nagiosadmin use generic-contact alias Nagios Admin email [email protected] service_notification_period 24x7 service_notification_options w,u,c,r service_notification_commands notify-service-by-email host_notification_period 24x7 host_notification_options d,u,r host_notification_commands notify-host-by-email }
9. Sử dụng contact khi khai báo giám sát host
define host{ use linux-box host_name client alias CentOS 7 address 192.168.80.225 contact_groups admins }
10. Khởi động lại dịch vụ nagios
service nagios restart
11. Kiểm tra dịch vụ cảnh báo qua mail. Tắt client và kiểm tra mail trong contact
Nó sẽ giúp các bạn nhận được thông báo rằng máy của mình đã bị tắt. giúp các bạn kịp thời nhận ra và kiểm tra ngay lập tức.
Chúc các bạn thành công!