Saturday, February 1, 2025

Giám sát và cảnh báo đơn giản với Monit trên Ubuntu 22.04 LTS

-

1. Giới thiệu

Monit là một công cụ mạnh mẽ giúp giám sát hệ thống, dịch vụ và quy trình trên máy chủ. Không chỉ có thể theo dõi tài nguyên như CPU, RAM, ổ cứng, Monit còn có khả năng gửi cảnh báo khi phát hiện sự cố và tự động khởi động lại dịch vụ bị lỗi.

Điểm đặc biệt của Monit là nó nhẹ, có giao diện web trực quan và có sẵn trong hầu hết các kho phần mềm chính thức của các hệ điều hành Linux.

Trong bài viết này, mình sẽ hướng dẫn bạn cách cài đặt Monit, thiết lập giám sát cơ bản và cấu hình cảnh báo email trên Ubuntu 22.04 LTS.

2. Cài đặt Monit trên Ubuntu 22.04.

Bước 1: Cập nhật hệ thống và cài đặt Monit

sudo apt update
sudo apt install monit -y

Bước 2: Bật và khởi động dịch vụ Monit

sudo systemctl enable monit --now

Bước 3: Kích hoạt Web UI của Monit

Mở file cấu hình chính của Monit:

sudo nano /etc/monit/monitrc

Tìm các dòng sau và bỏ dấu # để kích hoạt giao diện web:

set httpd port 2812 and
    use address localhost  
    allow localhost        
    allow admin:monit

Lưu file và thoát (Ctrl + X, nhấn Y, sau đó Enter).

Bước 4: Reload lại Monit

sudo monit reload

Bước 5: Kiểm tra trạng thái Monit

sudo monit status

Nếu mọi thứ hoạt động bình thường, bạn sẽ thấy thông tin trạng thái của Monit.

Để truy cập giao diện web của Monit, bạn có thể sử dụng SSH tunneling để mở cổng 2812 trên máy cục bộ của mình.

3. Giám sát hệ thống với Monit.

Monit có thể giám sát nhiều thứ như:

✅ Website qua giao thức HTTP/HTTPS
✅ Cổng TCP/UDP
✅ Máy chủ từ xa
✅ Các giao thức phổ biến như SMTP, FTP, LDAP
✅ Chứng chỉ SSL
✅ Tiến trình (process)
✅ File, thư mục, ổ đĩa
✅ Giao diện mạng

3.1. Giám sát một máy chủ từ xa

Bước 1: Tạo file cấu hình

Tạo file /etc/monit/conf.d/host và chỉnh sửa nội dung:

sudo nano /etc/monit/conf.d/host

Thêm nội dung sau:

check host myhost with address 192.168.1.100
    if failed ping then alert

Thay 192.168.1.100 bằng địa chỉ IP của máy chủ cần giám sát.

Bước 2: Reload lại Monit

sudo monit reload

Bước 3: Kiểm tra trạng thái

sudo monit status myhost

Nếu ping không thành công, Monit sẽ gửi cảnh báo.

3.2. Giám sát dung lượng ổ cứng

Bước 1: Tạo file cấu hình

sudo nano /etc/monit/conf.d/disk

Thêm nội dung sau:

check filesystem root with path /dev/sda1
    if space usage > 90% then alert

Thay /dev/sda1 bằng phân vùng ổ đĩa thực tế trên hệ thống của bạn.

Bước 2: Reload lại Monit

sudo monit reload

Bước 3: Kiểm tra trạng thái

sudo monit status root

Nếu dung lượng ổ cứng vượt quá 90%, Monit sẽ gửi cảnh báo.

4. Cấu hình cảnh báo qua email.

Monit hỗ trợ gửi email cảnh báo khi phát hiện sự cố. Bạn có thể cấu hình nó để sử dụng Gmail hoặc bất kỳ SMTP server nào.

Bước 1: Mở file cấu hình

nano /etc/monit/monitrc

Bước 2: Cấu hình SMTP server

Nếu bạn có một SMTP server riêng, sử dụng cấu hình:

set mailserver smtp.yourserver.com port 587
    username "your-username" password "your-password"
    using tls

Nếu bạn muốn sử dụng Gmail, hãy thay đổi thành:

set mailserver smtp.gmail.com port 587
    username "your-email@gmail.com" password "app-password"
    using tls
    with timeout 30 seconds

⚠️ Lưu ý: Nếu bạn dùng Gmail, bạn cần tạo mật khẩu ứng dụng (app password) thay vì sử dụng mật khẩu thông thường.

Bước 3: Định cấu hình email nhận cảnh báo

set alert your-email+alerting@gmail.com

Bước 4: Reload lại Monit

sudo monit reload

Sau đó, bạn có thể kiểm tra email của mình để xem có nhận được cảnh báo từ Monit hay không.

5. Kết luận

Monit là một công cụ đơn giản nhưng cực kỳ hữu ích để giám sát hệ thống. Chỉ với vài dòng cấu hình, bạn có thể theo dõi máy chủ, kiểm soát tài nguyên và nhận cảnh báo ngay khi có sự cố.

Nếu bạn muốn tìm hiểu thêm các tùy chọn giám sát khác, hãy tham khảo 🔗 https://serverstadium.com/knowledge-base/simple-monitoring-and-alerting-with-monit-on-ubuntu-22-04-lts/

Hoặc tài liệu chính thức của Monit 🔗 https://mmonit.com/monit/documentation/monit.html

Chúc bạn thành công trong việc quản lý hệ thống của mình! 🚀

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories