[CSF] Tìm hiểu vấn đề “LFD: Excessive resource usage” trên CSF Firewall

Tìm hiểu vấn đề “LFD: Excessive resource usage” trên CSF Firewall

Nếu bạn sử dụng dịch vụ tường lửa CSF/LFD trên hệ thống rồi sau đó bạn nhận được khá nhiều email báo cáo về vấn đề tài nguyên sử dụng cao có thể là dung lượng bộ nhớ hoặc thời gian thực thi quá lâu từ 1 vài tài khoản trên hệ thống. Bạn cảm thấy phiền toái và muốn tìm cách gỡ bỏ vấn đề trên thì mình sẽ hướng dẫn các bạn như sau.

Một đoạn mail thông báo như sau

Time: Sat Aug 2 08:00:12 2016 -0400
Account: demo
Resource: Process Time
Exceeded: 2669 > 1800 (seconds)
Executable: /usr/bin/php
Command Line: /usr/bin/php /home/demo/public_html/index.php
PID: 1541 (Parent PID:1541)
Killed: No


“LFD: Excessive resource usage” là gì ?

– Đơn giản là LFD đã ghi nhận thấy 1 tiến trình đang sử dụng nhiều hơn mức tài nguyên được giám sát. Mức này được cấu hình quy định trong /etc/csf/csf.conf với biến “PT_USERMEM“.


Bạn sẽ có 3 phương án như sau

1. Tắt hẳn việc kiểm tra mức tài nguyên được sử dụng bởi tiến trình thường xuyên

– Nếu bạn muốn tắt tính năng này đi thì bạn cần cân nhắc rằng bạn có thực sự cần các email thông báo giám sát tiến trình sử dụng tài nguyên hay không. Nếu vẫn muốn tắt thì bạn chỉ cần set giá trị về “0”

# vi /etc/csf/csf.conf
PT_USERMEM = "0"


2. Nâng mức giới hạn báo động 1 tiến trình sử dụng vượt mức tài nguyên

– Bạn chỉ cần nâng mức báo động lên bằng cách điều chỉnh thay đổi giá trị tương ứng mà mình muốn.

# vi /etc/csf/csf.conf
PT_USERMEM = "500"

Lưu ý :
– Nếu bạn nâng trên 500 , tức 500MB thì khi reload CSF sẽ có thông báo khuyến cáo như dưới, nhưng vẫn hoàn toàn chấp nhận được bạn nhé.

*WARNING* PT_USERMEM sanity check. PT_USERMEM = 1000. Recommended range: 0-500 (Default: 100)


3. Thêm thông tin user/chương trình lệnh thực thi thường xuyên vượt mức tài nguyên vào danh sách không báo động

– Nếu bạn muốn loại bỏ việc giám sát báo động đối với user cụ thể hoặc các tiến trình thực thi cụ thể thì bạn cần khai báo đầy đủ thông tin liên quan vào file /etc/csf/csf.pignore .
– Ví dụ nội dung thông báo như trên :

Time: Sat Aug 2 08:00:12 2016 -0400
Account: demo
Resource: Process Time
Exceeded: 2669 > 1800 (seconds)
Executable: /usr/bin/php
Command Line: /usr/bin/php /home/demo/public_html/index.php
PID: 1541 (Parent PID:1541)
Killed: No

– Vậy thông tin dòng liên quan user không giám sát sẽ cấu hình như sau :

# vi /etc/csf/csf.pignore
user:demo

– Hoặc dòng chương trình lệnh thực thi

# vi /etc/csf/csf.pignore
exe:/usr/bin/php /home/demo/public_html/index.php

Cuối cùng bạn cần reload lại CSF để nhận cấu hình mới

# csf -r
# /etc/init.d/lfd restart


Như vậy chúng ta đã hoàn thành bài hướng dẫn này. Chúc các bạn thành công !

Previous article[LinuxTools] Hướng dẫn sử dụng chương trình “iotop” để kiểm tra hoạt động IO hệ thống
Next article[MySQL] Tìm hiểu và cấu hình 2 giá trị “wait_timeout” và ”interactive_timeout” trong MySQL
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !