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 CPURAMDISK
serve 192.168.80.22111G20G
client 192.168.80.22511G20G

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 ducna24101999@gmail.com: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" ducna241099@gmail.com

8. Khai báo contact nhận cảnh báo mail

define contact{
        contact_name                    nagiosadmin             
        use                             generic-contact       
        alias                           Nagios Admin        
        email                           nguyenanhduchihi@gmail.com     
        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

Đây là kết qủa sau khi sử dụng dịch vụ cảnh báo qua mail của nagios. Đây là mail đã được gửi khi tắt máy client

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!