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

Cài đặt Monit trên CentOS - Monit là một công cụ mã nguồn mở 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.

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.

Trong bài viết này HOSTVN sẽ hướng dẫn các bạn cách cài đặt và cấu hình Monit trên centOS giúp các bạn theo dõi và nhận cảnh báo thông qua email khi hệ thống gặp sự cố.

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

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

Screenshot_92

  • 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 HOSTVN 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

Screenshot_93

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

Screenshot_94 - cài đặt Monit trên CentOS

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

service monit restart

Kết luận

Qua bài viết này HOSTVN đã hướng dẫn các bạn cài đặt Monit trên VPS centOS 7. Nếu có bất kỳ ý kiến đóng góp nào các bạn có thể để lại bình luận ở bên dưới. Ngoài ra các bạn có thể xem thêm Hướng dẫn sử dụng htop theo dõi System Processes trên Linux.

 

Ebook Wordpress

Đăng ký nhận Ebooks toàn tập hướng dẫn sử dụng WordPress cơ bản


Góc chia sẻWordpress

Sửa lỗi không được phép truy cập wp-admin

2020-4-6 8:59:52

Góc chia sẻVPS Server

Cài đặt Fail2Ban trên CentOS 7 chống bruteforce attack

2020-4-7 22:13:57

0 trả lời ATác giả MQuản lý
    Chưa có phản hồi nào
Trung tâm cá nhân
Giỏ hàng
Phiếu mua hàng
Đăng nhập ngay
Tin nhắn Danh sách tin nhắn
Tìm kiếm
Tối