Monit là một công cụ giám sát miễn phí và mã nguồn mở, giám sát các tiến trình và dịch vụ máy chủ như Apache, Nginx, Rsyslog, FTP và SSH trên các hệ thống Linux. Monit cung cấp giao diện dựa trên web cũng như một máy khách dòng lệnh để giám sát các dịch vụ khác nhau. Công cụ này có khả năng tự động khởi động một tiến trình khi tiến trình đó không chạy. Công cụ này cũng cho phép bạn giám sát cổng TCP, giao thức máy chủ và ping của các máy từ xa.
Hướng dẫn này sẽ giải thích cách cài đặt và sử dụng công cụ giám sát Monit trên Debian 11.
Sau khi cài đặt hoàn tất, bạn có thể khởi động dịch vụ Monit và cho phép dịch vụ này khởi động khi khởi động lại hệ thống bằng lệnh sau:
Bạn cũng có thể kiểm tra trạng thái của Monit bằng lệnh sau:
Bạn sẽ nhận được thông tin sau đầu ra:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Bỏ chú thích và thay đổi các dòng sau:
Lưu và đóng tệp, sau đó khởi động lại dịch vụ Monit để áp dụng thay đổi:
Theo mặc định, Monit lắng nghe trên cổng 2812. Bạn có thể kiểm tra bằng lệnh sau:
Bạn sẽ nhận được thông báo sau đầu ra:
Bạn sẽ nhận được kết quả sau:
Theo mặc định, Monit cung cấp tệp cấu hình dịch vụ Nginx nhưng mặc định nó bị vô hiệu hóa. Vì vậy, bạn sẽ cần phải bật nó để giám sát nó. Bạn có thể bật tính năng này bằng cách chạy lệnh sau:
Tiếp theo, khởi động lại dịch vụ Monit để áp dụng các thay đổi:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó bật tệp cấu hình dịch vụ ProFTPD bằng lệnh sau lệnh:
Tiếp theo, hãy xác minh lỗi cú pháp trong tệp cấu hình bằng lệnh sau:
Nếu mọi thứ đều ổn, bạn sẽ thấy đầu ra sau:
Cuối cùng, hãy khởi động lại Monit để áp dụng thay đổi.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22448%22%20height=%22277%22%3E%3C/svg%3E
Cung cấp tên người dùng quản trị, mật khẩu và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển Monit trên màn hình sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22388%22%3E%3C/svg%3E
Nhấp vào debian11 để kiểm tra trạng thái hệ điều hành của bạn. Bạn sẽ thấy màn hình sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22392%22%3E%3C/svg%3E
Nhấp vào Nginx để kiểm tra trạng thái của dịch vụ Nginx. Bạn sẽ thấy màn hình sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22390%22%3E%3C/svg%3E
Để có được bản tóm tắt của tất cả các dịch vụ, hãy chạy lệnh sau lệnh:
Bạn sẽ nhận được kết quả sau:
Để kiểm tra trạng thái của tất cả các dịch vụ, hãy chạy lệnh sau lệnh:
Bạn sẽ nhận được kết quả sau:
Để kiểm tra trạng thái của dịch vụ ProFTPD, hãy chạy lệnh sau:
Bạn sẽ nhận được thông báo sau output:
Hướng dẫn này sẽ giải thích cách cài đặt và sử dụng công cụ giám sát Monit trên Debian 11.
Điều kiện tiên quyết
- Một máy chủ đang chạy Debian 11.
- Mật khẩu gốc được cấu hình trên máy chủ của bạn.
Cài đặt Monit trên Debian 11
Theo mặc định, gói Monit có sẵn trong kho lưu trữ mặc định của Debian 11. Bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
apt-get install monit -y
Mã:
systemctl start monit
systemctl enable monit
Mã:
systemctl status monit
Mã:
? monit.service - LSB: service and resource monitoring daemon Loaded: loaded (/etc/init.d/monit; generated) Active: active (running) since Sat 2022-01-01 07:38:44 UTC; 10s ago Docs: man:systemd-sysv-generator(8) Process: 1005 ExecStart=/etc/init.d/monit start (code=exited, status=0/SUCCESS) Tasks: 1 (limit: 2341) Memory: 1.7M CPU: 20ms CGroup: /system.slice/monit.service ??1010 /usr/bin/monit -c /etc/monit/monitrc
Jan 01 07:38:44 debian11 systemd[1]: Starting LSB: service and resource monitoring daemon...
Jan 01 07:38:44 debian11 monit[1005]: Starting daemon monitor: monit.
Jan 01 07:38:44 debian11 systemd[1]: Started LSB: service and resource monitoring daemon.
Bật Monit Web UI
Monit cũng cung cấp một giao diện người dùng web để quản lý và giám sát các dịch vụ khác nhau. Theo mặc định, nó bị vô hiệu hóa. Vì vậy, bạn sẽ cần phải bật nó và đặt mật khẩu quản trị viên. Bạn có thể thực hiện bằng cách chỉnh sửa tệp cấu hình Monit:
Mã:
nano /etc/monit/monitrc
Mã:
set httpd port 2812 and
allow admin:monitpassword
Mã:
systemctl restart monit
Mã:
ss -antpl | grep :2812
Mã:
LISTEN 0 1024 0.0.0.0:2812 0.0.0.0:* users:(("monit",pid=1322,fd=6))
LISTEN 0 1024 [::]:2812 [::]:* users:(("monit",pid=1322,fd=7))
Cấu hình Monit cho Nginx
Monit cho phép bạn giám sát các dịch vụ khác nhau. Trước tiên, hãy kiểm tra trạng thái hệ điều hành của bạn bằng lệnh sau:
Mã:
monit status
Mã:
Monit 5.27.2 uptime: 0m
System 'debian11' status OK monitoring status Monitored monitoring mode active on reboot start load average [0.14] [0.06] [0.02] cpu 0.0%usr 0.0%sys 0.0%nice 0.0%iowait 0.0%hardirq 0.0%softirq 0.0%steal 0.0%guest 0.0%guestnice memory usage 192.2 MB [9.7%] swap usage 0 B [0.0%] uptime 2m boot time Sat, 01 Jan 2022 07:37:55 filedescriptors 512 [0.0% of 9223372036854775807 limit] data collected Sat, 01 Jan 2022 07:39:34
Mã:
ln -s /etc/monit/conf-available/nginx /etc/monit/conf-enabled/
Mã:
systemctl restart monit
Cấu hình Monit cho ProFTPD
Monit không cung cấp tệp cấu hình dịch vụ cho ProFTPD. Vì vậy, bạn sẽ cần tạo tệp cấu hình dịch vụ ProFTPD. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/monit/conf-available/proftpd
Mã:
check process proftpd with pidfile /var/run/proftpd.pid start program = "/etc/init.d/proftpd start" stop program = "/etc/init.d/proftpd stop"
if failed port 21 protocol ftp then restart
Mã:
ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabled
Mã:
monit -t
Mã:
Control file syntax OK
Mã:
systemctl restart monit
Truy cập Giao diện người dùng web Monit
Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện người dùng web Monit bằng URL . Bạn sẽ được chuyển hướng đến trang đăng nhập Monit:data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22448%22%20height=%22277%22%3E%3C/svg%3E
Cung cấp tên người dùng quản trị, mật khẩu và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển Monit trên màn hình sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22388%22%3E%3C/svg%3E
Nhấp vào debian11 để kiểm tra trạng thái hệ điều hành của bạn. Bạn sẽ thấy màn hình sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22392%22%3E%3C/svg%3E
Nhấp vào Nginx để kiểm tra trạng thái của dịch vụ Nginx. Bạn sẽ thấy màn hình sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22390%22%3E%3C/svg%3E
Giám sát Dịch vụ qua Dòng lệnh
Bạn cũng có thể giám sát trạng thái của bất kỳ dịch vụ nào bằng giao diện dòng lệnh.Để có được bản tóm tắt của tất cả các dịch vụ, hãy chạy lệnh sau lệnh:
Mã:
monit summary
Mã:
Monit 5.27.2 uptime: 0m
????????????????????????????????????????????????????????????????????????????????
? Service Name ? Status ? Type ?
????????????????????????????????????????????????????????????????????????????????
? debian11 ? OK ? System ?
????????????????????????????????????????????????????????????????????????????????
? proftpd ? OK ? Process ?
????????????????????????????????????????????????????????????????????????????????
? nginx ? OK ? Process ?
????????????????????????????????????????????????????????????????????????????????
? nginx_bin ? OK ? File ?
????????????????????????????????????????????????????????????????????????????????
? nginx_rc ? OK ? File ?
????????????????????????????????????????????????????????????????????????????????
Mã:
monit status
Mã:
Monit 5.27.2 uptime: 0m
Process 'proftpd' status OK monitoring status Monitored monitoring mode active on reboot start pid 2596 parent pid 1 uid 0 effective uid 107 gid 65534 uptime 16m threads 1 children 0 cpu - cpu total - memory 0.1% [2.9 MB] memory total 0.1% [2.9 MB] security attribute unconfined filedescriptors 5 [0.5% of 1024 limit] total filedescriptors 5 read bytes 0 B/s [32 B total] disk read bytes 0 B/s [0 B total] disk read operations 0.0 reads/s [34 reads total] write bytes 0 B/s [178 B total] disk write bytes 0 B/s [4 kB total] disk write operations 0.0 writes/s [3 writes total] port response time 2.495 ms to localhost:21 type TCP/IP protocol FTP data collected Sat, 01 Jan 2022 08:00:43
Process 'nginx' status OK monitoring status Monitored monitoring mode active on reboot start pid 2078 parent pid 1 uid 0 effective uid 0 gid 0 uptime 20m threads 1 children 1 cpu - cpu total - memory 0.6% [11.5 MB] memory total 0.8% [16.6 MB] security attribute unconfined filedescriptors 9 [0.9% of 1024 limit] total filedescriptors 19 read bytes 0 B/s [62.0 kB total] disk read bytes 0 B/s [3.4 MB total] disk read operations 0.0 reads/s [73 reads total] write bytes 0 B/s [81 B total] disk write bytes 0 B/s [4 kB total] disk write operations 0.0 writes/s [2 writes total] data collected Sat, 01 Jan 2022 08:00:43
File 'nginx_bin' status OK monitoring status Monitored monitoring mode active on reboot start permission 755 uid 0 gid 0 size 1.1 MB access timestamp Sat, 01 Jan 2022 07:39:44 change timestamp Sat, 01 Jan 2022 07:39:47 modify timestamp Sat, 29 May 2021 14:21:37 checksum 12a1c0be9962768c055158782d1d564a (MD5) data collected Sat, 01 Jan 2022 08:00:43
File 'nginx_rc' status OK monitoring status Monitored monitoring mode active on reboot start permission 755 uid 0 gid 0 size 4.5 kB access timestamp Sat, 01 Jan 2022 07:39:44 change timestamp Sat, 01 Jan 2022 07:39:47 modify timestamp Sat, 29 May 2021 14:21:37 checksum 290f6f12a12bc8e882bc5af46c1bfe7c (MD5) data collected Sat, 01 Jan 2022 08:00:43
System 'debian11' status OK monitoring status Monitored monitoring mode active on reboot start load average [0.00] [0.00] [0.00] cpu 0.0%usr 0.0%sys 0.0%nice 0.0%iowait 0.0%hardirq 0.0%softirq 0.0%steal 0.0%guest 0.0%guestnice memory usage 199.5 MB [10.1%] swap usage 0 B [0.0%] uptime 23m boot time Sat, 01 Jan 2022 07:37:55 filedescriptors 640 [0.0% of 9223372036854775807 limit] data collected Sat, 01 Jan 2022 08:00:43
Mã:
monit status proftpd
Mã:
Monit 5.27.2 uptime: 0m
Process 'proftpd' status OK monitoring status Monitored monitoring mode active on reboot start pid 2596 parent pid 1 uid 0 effective uid 107 gid 65534 uptime 16m threads 1 children 0 cpu - cpu total - memory 0.1% [2.9 MB] memory total 0.1% [2.9 MB] security attribute unconfined filedescriptors 5 [0.5% of 1024 limit] total filedescriptors 5 read bytes 0 B/s [32 B total] disk read bytes 0 B/s [0 B total] disk read operations 0.0 reads/s [34 reads total] write bytes 0 B/s [178 B total] disk write bytes 0 B/s [4 kB total] disk write operations 0.0 writes/s [3 writes total] port response time 2.495 ms to localhost:21 type TCP/IP protocol FTP data collected Sat, 01 Jan 2022 08:00:43