Cấu hình giám sát Monit trong Linux

Last modified by LongNT on 2023/11/30 11:42

Monit cung cấp cho ta một số hành đông có thể thực hiện đối với mỗi giám sát

  • Alert Gửi cảnh báo cho người dùng qua email.
  • RESTART Khởi động lại service và gửi cảnh báo.
  • START Khởi động service bằng cách gọi phương thức được khai báo trong config và gửi cảnh báo
  • STOP Dừng service bằng cách gọi phương thức được khai báo trong config và gửi cảnh báo. Nếu monit stop một service, service đó sẽ không được monitor nữa và cũng không được tự khởi động lại. Muốn khởi động lại service, bạn phải khởi động bằng tay.
  • EXEC dùng để thực thi một chương trình và gửi cảnh báo. Thường dùng để run một đoạn scripts.
  • UNMONITOR ngừng giám sát và gửi cảnh báo.
  1. Cấu hình Monit

Monit rất dễ cấu hình, trên thực tế, các file cấu hình khá dễ đọc vì nó khá sát với ngôn ngữ thông thường.

Mặc định, Monit giám sát các dịch vụ đang chạy trong mỗi 2 phút và ghi lại lịch sử vào file log được đặt tại: /var/log/monit. Muốn sửa chu kì chạy monit, ta có thể sửa dòng này trong file config /etc/monit/monitrc

# With Ubuntu
vim /etc/monit/monitrc

# With CentOS
vim /etc/monit.conf


Giá trị ở đây tính bằng giây nhé, lưu ý đây cũng là thời gian refresh dữ liệu trên website.

image2023-8-29_15-17-57.png

Giao diện web của Monit chạy trên cổng 2812. Để kích hoạt website chúng ta thay đổi tệp cấu hình và tìm đến dòng config HTTPD

image2023-8-29_15-26-44.png

Ta có thể thay vào giá trị như sau:

set httpd port 2812 and
     use address 0.0.0.0    # Website có thể chạy trên cả localhost và IP Public
    allow 0.0.0.0/0        # Cho phép tất cả IP có thể truy cập (bạn có thể set riêng cho từng IP)
    allow admin:monit      # Để username là admin và password là monit

Sau đó lưu lại và kiểm tra lại config.

monit -t
# reload lại config của monit
monit reload

Tiếp theo ta khởi động monit.


systemctl start monit
systemctl enable monit
systemctl status monit

Bạn truy cập vào website: http://localhost:2812 hoặc http://your-IP:2812 và đăng nhập theo username và password đã setup bên trên.

image2023-8-29_15-48-14.png

2. Thêm giám sát service trong monit.

Ta có 2 cách để thêm rule giám sát:

Cách 1: Ta có thêm file mới vào /etc/monit/conf.d/ hoặc /etc/monit/conf-enabled/

    • ====
vim /etc/monit/conf.d/apache

Ta ghi config ở bên trong.

check process httpd with pidfile /var/run/apache2.pid
start program = "/bin/systemctl apache2 start"
stop program = "/bin/systemctl apache2 stop"
if failed host 127.0.0.1 port 80
protocol http then restart
if 5 restarts within 5 cycles then timeout

Cách 2: Chúng ta ghi trực tiếp vào file

image2023-8-29_16-34-29.png

Cú pháp của monit khá dễ đọc và hiểu, có thể tham khảo thêm tại đây.

Sau khi cấu hình xong ta dùng lệnh kiểm tra và restart lại monit.

monit -t
# reload lại config của monit
monit reload

image2023-8-29_16-46-23.png