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 !