Hướng dẫn cài đặt Monit trên CentOS

Monit là một công cụ mã nguồn mở và rất hữu ích, giúp tự động theo dõi và quản lý tiến trình máy chủ, thư mục, quyền, và dịch vụ như Apache, Nginx, MySQL, FTP, SSH, Sendmail, v.v. và cung cấp một chức năng giám sát tuyệt vời và hữu ích cho các quản trị viên hệ thống.

Monit dùng để làm gì ?

Monit có khả năng start một dịch vụ nếu nó không chạy, khởi động lại một dịch vụ nếu nó không phản hồi và dừng một dịch vụ nếu nó sử dụng quá nhiều tài nguyên. Ngoài ra, bạn cũng có thể sử dụng Monit để giám sát các các dịch vụ trên VPS của mình. Với Monit, bạn có thể giám sát máy chủ từ xa cổng TCP/IP, giao thức máy chủ và ping. Monit giữ tệp nhật ký của riêng mình và cảnh báo về mọi tình trạng lỗi nghiêm trọng và trạng thái khôi phục.

Hướng dẫn cài đặt Monit

Bước 1: Cài đặt Monit

Để cài đặt Monit các bạn truy cập VPS thông qua SSH và chạy 2 lệnh sau

yum -y install epel-release
yum -y install monit

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

Monit rất dễ cấu hình, các tệp cấu hình được tạo ra rất dễ đọc giúp người dùng dễ dàng cấu hình. Nó được thiết kế để giám sát các dịch vụ đang chạy mỗi 2 phút và lưu giữ log trong thư mục /var/log/monit.

Monit có giao diện web chạy trên cổng 2812 . Để kích hoạt giao diện web, bạn cần thay đổi tệp cấu hình monit. Tệp cấu hình chính của monit là tệp /etc/monitrc.

Để kích hoạt giao diện web các bạn mở file /etc/monitrc và tìm đến đoạn rule sau

set httpd port 2812 and
    use address localhost  # only accept connection from localhost (drop if you use M/Monit)
    allow localhost        # allow localhost to connect to the server and
    allow admin:monit      # require user 'admin' with password 'monit'

Mặc định giao diện web của Monit có thể truy cập thông qua cổng 2812 và chỉ cho phép truy cập thông qua link localhost:2812 cũng như không cho phép connect từ bên ngoài vào.

Để có thể truy cập giao diện web của Monit các bạn sửa lại cấu hình thành như sau:

set httpd port 2812 and
use address IP-Của-VPS # only accept connection from localhost (drop if you use M/Monit)
#allow locahost   # allow localhost to connect to the server and
allow User-đăng-nhập:Mật-Khẩu-Đăng-Nhập # require user ‘admin’ with password ‘monit’

Trong đó:

  • 2812 là port truy cập Monit. Các bạn có thể thay đổi port này theo ý muốn
  • IP-Của-VPS: IP VPS của các bạn
  • User-đăng-nhập: User dùng để đăng nhập Monit
  • Mật-Khẩu-Đăng-Nhập: Mật khẩu đăng nhập Monit

Sau khi cấu hình xong các bạn tiến hành khởi động Monit

service monit start
chkconfig monit on

Để truy cập Monit UI các bạn truy cập theo link sau: ip-vps:2812

  • Lưu ý: Nếu sử dụng firewall các bạn cần mở port để có thể truy cập, ngoài ra các bạn nên thay đổi port không nên dùng port mặc định.

Bước 3: Thêm Monitoring Services

Để thêm các service cần Monitor vào Monit các bạn cần tạo các file cấu hình trong thư mục /etc/monit.d. Dưới đây mình sẽ ví dụ một số file cấu hình monitor Nginx, php-fpm và monitor System

  • Monitor Nginx: Tạo file /etc/monit.d/nginx
check process nginx with pidfile /var/run/nginx.pid
start program = "/usr/bin/systemctl start nginx"
stop program = "/usr/bin/systemctl stop nginx"
group nginx
if failed host 127.0.0.1 port 80 then restart
if cpu is greater than 40% for 2 cycles then alert
if cpu > 60% for 5 cycles then restart
if 5 restarts within 5 cycles then timeout
  • Monitor php-fpm: Tạo file /etc/monit.d/php-fpm
check process php-fpm with pidfile /var/run/php-fpm/php-fpm.pid
start program = "/usr/sbin/service php-fpm start" with timeout 60 seconds
stop  program = "/usr/sbin/service php-fpm stop"
#if failed unixsocket /var/run/php-fpm.sock then restart
if failed host 127.0.0.1 port 9000 type tcp for 3 cycles then restart
if 5 restarts within 5 cycles then timeout
  • Monitor System: Tạo file /etc/monit.d/php-fpm/system
check system $HOST
    if loadavg (5min) > 3 then alert
    if loadavg (15min) > 1 then alert
    if memory usage > 80% for 4 cycles then alert
    if swap usage > 25% for 4 cycles then alert
    if cpu usage (user) > 80% for 2 cycles then alert
    if cpu usage (system) > 30% for 2 cycles then alert
    if cpu usage (wait) > 80% for 2 cycles then alert
    if cpu usage > 200% for 4 cycles then alert

Ngoài ra các bạn có thể xem thêm các cách cấu hình khác tại đây: https://mmonit.com/wiki/Monit/ConfigurationExamples

Bước 4: Cấu hình email

Để có thể gửi mail thông báo khi có sự cố các bạn có thể sử dụng SMTP của Gmail. Để cấu hình các bạn mở file /etc/monitrc và tìm đoạn rule sau

# set mailserver mail.bar.baz,               # primary mailserver
#                backup.bar.baz port 10025,  # backup mailserver on port 10025
#                localhost                   # fallback relay
#

Sửa lại nó thành giống như dưới đây

set mailserver smtp.gmail.com port 587
username "example@gmail.com" password "Mật-khẩu-ứng-dụng"
using tlsv1
with timeout 30 seconds

Trong đó:

  • example@gmail.com: Thay bằng tài khoản gmail của bạn
  • Mật-khẩu-ứng-dụng : Thay bằng mật khẩu ứng dụng

Tiếp theo các bạn tìm đến dòng và thay email muốn nhận mail thông báo của các bạn vào

# set alert sysadm@foo.bar

Sửa thành

set alert email-nhận-thông-báo

Khởi động lại Monit để cấu hình có hiệu lực

service monit restart

Như vậy  chúng ta đã hoàn tất cài đặt Monit trên VPS centOS 7. Chúc bạn thành công

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận