Bắt đầu với Monit để theo dõi máy chủ – CloudSavvy IT

Monit là một chương trình giám sát máy chủ có thể kiểm tra các quy trình đang chạy trên hệ thống của bạn để đảm bảo rằng chúng luôn luôn trực tuyến và hoạt động trong giới hạn bộ nhớ và CPU hợp lý. Nó cũng đi kèm với một giao diện web để theo dõi hệ thống của bạn.

Monit làm gì?

Về cơ bản, Monit sẽ kiểm tra một quy trình nhất định cứ sau hai phút (theo mặc định) để xem cách thức hoạt động của nó. Nó giữ một bản ghi sử dụng tài nguyên và có thể thực hiện hành động nếu xảy ra lỗi. Điều này bao gồm khởi chạy lại các quy trình bị lỗi và khởi động lại các quy trình sử dụng quá nhiều tài nguyên.

Monit xác định hành vi của nó hoàn toàn thông qua các tập tin cấu hình. Dưới đây là một cấu hình mặc định cho MySQL làm ví dụ:

kiểm tra quy trình mysql
  với pidfile /var/run/mysqld/mysqld.pid
  bắt đầu chương trình = “/ usr / sbin / dịch vụ mysql bắt đầu” với thời gian chờ 60 giây
  dừng chương trình = “/ usr / sbin / dịch vụ mysql dừng” với thời gian chờ 60 giây
  nếu Totalmem> 400 MB trong 5 chu kỳ thì cảnh báo
  nếu Totalmem> 600 MB trong 5 chu kỳ thì khởi động lại
  nếu cpu> 50% trong 5 chu kỳ thì cảnh báo
  nếu cpu> 90% trong 5 chu kỳ thì khởi động lại
  nếu 3 khởi động lại trong vòng 5 chu kỳ thì hết thời gian

Monit được cấu hình để theo dõi quá trình MySQL đang chạy. Nếu nó bị hỏng, nó có thể khởi động lại bằng chương trình start = config. Nếu MySQL bắt đầu sử dụng quá nhiều tài nguyên, nó có thể được khởi động lại tự động, mặc dù trước đó bạn sẽ được cảnh báo bằng email.

Nó cũng có thể được cấu hình để giám sát toàn bộ hệ thống của bạn và có thể cảnh báo bạn nếu máy chủ của bạn gặp phải tải bất thường.

kiểm tra hệ thống wp01
  nếu loadavg (5 phút)> 1 thì cảnh báo
  nếu sử dụng bộ nhớ> 90% trong 5 chu kỳ thì cảnh báo
  nếu sử dụng cpu (người dùng)> 90% trong 5 chu kỳ thì cảnh báo

Mọi thứ màn hình Monit đều có thể xem được từ giao diện web, chạy qua cổng 2812 theo mặc định.

Ngoài ra, bạn có thể xem dữ liệu cho nhiều máy chủ ở một nơi với Tiện ích M / Monit, không yêu cầu giấy phép nhưng được dùng thử miễn phí.

LIÊN QUAN: Cách thiết lập thông báo Slack cho không gian đĩa thấp trên máy chủ của bạn

Cài đặt và cấu hình Monit

Cài đặt Monit từ quản lý gói distro của bạn; đối với các hệ thống dựa trên Debian như Ubuntu, đó sẽ là:

sudo apt-get cài đặt monit

Monit nên đi kèm với cấu hình mặc định, thường nằm ở ~ / .monitrc. Nếu nó không có (như trường hợp cài đặt macOS), bạn có thể tìm thấy các tệp cấu hình mặc định đây.

Giao diện web Monit sâu được cấu hình để chạy trên cổng 2812. Điều này tốt, nhưng nó hoàn toàn mở theo mặc định với mật khẩu mặc định. Chúng tôi sẽ muốn khóa nó xuống một địa chỉ IP được ủy quyền và

đặt cổng httpd 2812
    cho phép your_ip
    cho phép quản trị viên: mật khẩu

Thay đổi mật khẩu này, tất nhiên. Có một thêm vài lựa chọn cấu hình cho giao diện web, nhưng điều này là tốt cho bây giờ.

Monit sau đó có thể được cấu hình để giám sát các quá trình riêng lẻ. Thông thường, điều này được thực hiện với tệp PID quy trình (thường được tìm thấy trong / var / run /), nơi lưu trữ PID hiện tại của phiên bản đang chạy của quy trình đó, vì PID sẽ thay đổi bất cứ khi nào quá trình khởi động lại.

kiểm tra quá trình nginx với pidfile /var/run/nginx.pid
    bắt đầu chương trình = “/etc/init.d/nginx bắt đầu”
    dừng chương trình = “/etc/init.d/nginx dừng”

Bạn cần phải thông qua Monit một lệnh để bắt đầu và dừng quá trình của bạn. Nó sẽ tự động khởi động lại nếu quá trình không hoạt động, không có cấu hình bổ sung, nhưng nếu bạn muốn khởi động lại dựa trên việc sử dụng tài nguyên, bạn sẽ phải chỉ định rằng với một vài câu lệnh if:

kiểm tra quá trình nginx với pidfile /var/run/nginx.pid
    bắt đầu chương trình = “/etc/init.d/nginx bắt đầu”
    dừng chương trình = “/etc/init.d/nginx dừng”
    nếu Totalmem> 600 MB trong 5 chu kỳ thì khởi động lại
    nếu cpu> 90% trong 5 chu kỳ thì khởi động lại
    nếu 3 khởi động lại trong vòng 5 chu kỳ thì hết thời gian

Monit sẽ gửi thông báo mỗi khi có gì đó khởi động lại, do đó, bạn sẽ được thông báo khi có sự cố.

Khi bạn đã hoàn tất với cấu hình, hãy tải lại trình nền monit bằng:

tải lại monit

Và bắt đầu theo dõi với:

bắt đầu tất cả

Điều này cũng sẽ khởi động giao diện web mà bạn có thể sử dụng để xác minh rằng Monit đang hoạt động bình thường, thường chạy trên cổng 2812.

Đây là cấu hình cơ bản để giúp Monit chạy ra khỏi hộp, nhưng Monit có nhiều cú pháp hơn. Bạn có thể đọc hướng dẫn đầy đủ trên tất cả mọi thứ Monit có thể làm để tìm hiểu thêm.

Cấu hình cảnh báo

Monit có thể được cấu hình để gửi thông báo qua email bất cứ khi nào xảy ra sự cố lớn hoặc khi các quy trình được khởi động lại. Bạn cần phải thêm cấu hình cho máy chủ thư của mình:

đặt mailserver smtp.gmail.com
  cổng 587
  tên người dùng “mineerver @ gmail”
  mật khẩu “bí mật”
  với thời gian chờ 60 giây

đặt sự kiện
  dựa trên / var / lib / monit / sự kiện
  khe 100

Khối đầu tiên xác định máy chủ thư sẽ sử dụng. Phương pháp đơn giản nhất là chỉ sử dụng smtp.gmail.com với tài khoản Gmail, mặc dù bạn có thể cài đặt Hậu tố trên máy chủ của bạn để chạy cục bộ hoặc sử dụng dịch vụ email doanh nghiệp.

Dòng thứ hai yêu cầu Monit xếp hàng cảnh báo, nếu máy chủ thư không thể truy cập được vì bất kỳ lý do gì.

Rõ ràng, bạn cũng sẽ cần đặt địa chỉ email mà nó gửi tới:

thiết lập cảnh báo youremail @ gmail

Ngoài ra, vì Monit có khả năng chạy các tập lệnh bằng lệnh exec, bạn có thể thiết lập các cảnh báo tùy chỉnh theo cách bạn thích. Ví dụ: bạn có thể thiết lập một kịch bản để gửi cho bạn thông báo Slack, lưu trữ dưới dạng /usr/local/bin/slack-webhook.sh và chạy nó bất cứ khi nào nginx thay đổi PID hoặc được Monit khởi động lại:

kiểm tra quá trình nginx với pidfile /var/run/nginx.pid
  bắt đầu chương trình = “/etc/init.d/nginx bắt đầu”
  dừng chương trình = “/etc/init.d/nginx dừng”
  nếu thay đổi pid thì thực hiện “/ bin / bash -c ‘PROCESS = Nginx /usr/local/bin/slack-webhook.sh'”
  nếu 1 khởi động lại trong vòng 1 chu kỳ thì thực hiện “/ bin / bash -c ‘PROCESS = Nginx /usr/local/bin/slack-webhook.sh'”

Lưu ý rằng tất cả các đường dẫn phải có đủ điều kiện, bao gồm / bin / bash và các đường dẫn đến các tệp thực thi trong thùng cục bộ của bạn. Và sau khi bạn đã hoàn tất việc sửa đổi các tệp cấu hình, bạn sẽ phải tải lại Monit một lần nữa.



Nguồn HowToGeek

Chúng tôi rất vui khi biết đánh giá của bạn

Leave a reply

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

GiaTot7
Logo
Reset Password