HƯỚNG DẪN Cấu hình Nginx Error_log

Thảo luận trong 'KIẾN THỨC VPS/SERVER' bắt đầu bởi quyet1990, 5/12/16.

  1. quyet1990

    quyet1990 New Member

    Tham gia ngày:
    22/10/16
    Bài viết:
    220
    Đã được thích:
    0
    Nginx xử lý hàng triệu ứng dụng hằng ngày, và những ứng dụng đó có thể tạo ra lỗi. Điều quan trọng ở đây là ta có thể truy cập vào những lỗi này để tìm ra cách sửa lỗi và điều đó sẽ may lại một cái nhìn rõ ràng về những gì đang xảy ra với các ứng dụng web.

    Trong bài viết này, bạn sẽ khám phá cấu hình Nginx error_log và cách Nginx xử lý các loại lỗi.
    Cú pháp Nginx error_log
    Chỉ thị "error_log" được sử dụng để xử lý các thông tin error log. Nó sử dụng cú pháp sau:
    Mã:
     error_log log_file log_level 
    Đối với một ví dụ, thêm khối này đến cấu hình nginx của bạn bên trong khối http {}.
    Mã:
     error_log /etc/nginx/logs/error_log crit; 
    Theo cấu hình này, đường dẫn của tập tin error_log được xác định, cũng như xác định mức độ lỗi nghiêm trọng.
    Đường dẫn có thể là được chọn theo ý của bạn, ví dụ:
    Mã:
    /var/log/nginx/error_log
    /etc/nginx/logs/error_log
    
    Ví dụ đầy đủ:
    Mã:
    server {
    access_log off;
    log_not_found off;
    error_log logs/cpaneltips-error_log crit;
    ...
    ...
    ...
    }
    
    Error_log levels
    Bạn có thể chỉ định nhiều loại/mức độ của log vào tập tin Nginx error_log.
    • emerg: log ở level này mang tính khẩn cấp, dạng như server sắp sập đến nơi rồi.
    • alert: cảnh báo các vấn cần cần được xử lý ngay.
    • crit: các vấn đề quan trong nhưng không nhất thiết phải xử lý ngay lập tức, để theo dõi thêm.
    • error: ghi lại thông tin lỗi như đăng nhập hoặc cấu hình sai, mức độ thấp hơn crit.
    • warn: ở mức độ cảnh báo không phải lỗi.
    • notice: để thông báo cái gì đó.
    • info: ghi thông tin hệ thống, không có gì cả.
    • debug: ghi lại tất cả mọi thứ, dùng để dò lỗi.
    Hiểu về độ ưu tiên error_log
    Có rất nhiều loại error_log level, và bạn cần phải hiểu những mức độ ưu tiên của từng loại. Trong danh sách, debug có mức độ ưu tiên hàng đầu, vi nó bao gồm tất cả các thông tin của các level khác.

    Ví dụ, nếu bạn chỉ định level là crit, nó cũng sẽ bắt các lỗi có level là emerg và alert. Điều này có nghĩa rằng level cao hơn thì có độ ưu tiên cao hơn.

    Nói cách khác, level cao là debug, info, notice và warn; điều này sẽ tạo ra một lượng lớn dữ liệu đầu ra trong error_log của bạn, và tất nhiên sẽ có nhiều thông tin hơn để gỡ lỗi (debug) trang web của bạn.

    Các level còn lại, bạn sẽ tìm thấy emerg, alert, crit và error. Đây là những giá trị phổ biến nhất đề nghị cho gỡ lỗi bình thường, bởi vì chúng nắm bắt được hầu hết các vấn đề quan trọng mà Nginx đang phải đối mặt trong khi xử lý các ứng dụng web của bạn.

    Cấu hình error_log từ xa với syslog

    Syslog là một gói ứng dụng cho các hệ thống Unix / Linux. Nó cho phép các dịch vụ log các lỗi và truy cập vào một địa điểm duy nhất. Điều này cũng có thể được áp dụng cho Nginx. Kích hoạt tính năng Nginx để tạo error_logs sử dụng Syslog từ một máy chủ từ xa chỉ cần xác định 'syslog’ và địa chỉ IP.
    Ví dụ về máy chủ syslog từ xa:
    Mã:
     error_log syslog:server=192.168.1.1 debug; 
    Làm thế nào để vô hiệu hóa error_log trên Nginx
    Đây là một cấu hình phức tạp, vì có nhiều người nghĩ rằng việc thiết lập error_log off sẽ vô hiệu hóa log. Tuy nhiên, không cần lo lắng vì hệ thống sẽ log mọi lỗi vào một tập tin gọi là 'off'. Nếu bạn muốn tắt hoàn toàn Nginx error_log, sau đó ném kết quả đầu ra vào /dev/null.
    Mã:
     error_log /dev/null crit; 
    Phần kết luận
    error_log là một trong những chỉ thị mà đôi khi chúng ta không chú ý quá nhiều đến. Tuy nhiên, như bạn đã thấy, nếu bạn có nó được cấu hình đầy đủ, nó có thể giúp bạn tiết kiệm thời gian và tiền bạc trong việc phát hiện lỗi trong các ứng dụng web của bạn.
    Nếu bạn muốn đọc nhiều hơn, hãy kiểm tra tài liệu chính thức: Nginx error_log
     

Chia sẻ trang này

Đang tải...