502 Bad Gateway - TooBigBody

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
thông tin

Dấu hiệu

Ứng dụng khách nhận được mã trạng thái HTTP 502 Bad Gateway với mã lỗi protocol.http.TooBigBody làm phản hồi cho các lệnh gọi API.

Thông báo lỗi

Ứng dụng khách nhận được mã phản hồi sau:

HTTP/1.1 502 Bad Gateway

Ngoài ra, bạn có thể thấy thông báo lỗi sau:

{
   "fault":{
      "faultstring":"Body buffer overflow",
      "detail":{
         "errorcode":"protocol.http.TooBigBody"
      }
   }
}

Các nguyên nhân có thể

Lỗi này xảy ra nếu kích thước tải trọng do máy chủ đích/phụ trợ gửi đến Apigee Edge trong phản hồi HTTP lớn hơn giới hạn cho phép trong Apigee Edge.

Sau đây là những nguyên nhân có thể gây ra lỗi này:

Nguyên nhân Mô tả Hướng dẫn khắc phục sự cố áp dụng cho
Kích thước tải trọng phản hồi lớn hơn giới hạn cho phép Kích thước tải trọng do máy chủ đích/phụ trợ gửi trong phản hồi HTTP đến Apigee lớn hơn giới hạn cho phép trong Apigee. Người dùng Edge Public Cloud và Private Cloud
Kích thước tải trọng phản hồi vượt quá giới hạn cho phép sau khi giải nén Kích thước tải trọng do máy chủ đích/phụ trợ gửi ở định dạng nén trong phản hồi HTTP cho Apigee lớn hơn giới hạn cho phép khi Apigee giải nén. Người dùng Edge Public Cloud và Private Cloud

Các bước chẩn đoán thường gặp

Hãy sử dụng một trong các công cụ/kỹ thuật sau để chẩn đoán lỗi này:

Giám sát API

Cách chẩn đoán lỗi bằng tính năng Giám sát API:

  1. Đăng nhập vào giao diện người dùng Apigee Edge với tư cách là người dùng có vai trò phù hợp.
  2. Chuyển sang tổ chức mà bạn muốn điều tra vấn đề.

  3. Chuyển đến trang Phân tích > Giám sát API > Điều tra.
  4. Chọn khung thời gian cụ thể mà bạn nhận thấy lỗi.
  5. Bạn có thể chọn bộ lọc Proxy để thu hẹp phạm vi mã lỗi.
  6. Vẽ Mã lỗi theo Thời gian.
  7. Chọn một ô có mã lỗi protocol.http.TooBigBody như minh hoạ bên dưới:

  8. Bạn sẽ thấy thông tin về mã lỗi protocol.http.TooBigBody như minh hoạ dưới đây:

  9. Nhấp vào Xem nhật ký rồi mở rộng hàng của yêu cầu không thực hiện được.

  10. Trong cửa sổ Nhật ký, hãy lưu ý những thông tin sau:
    • Mã trạng thái: 502
    • Nguồn lỗi: target
    • Mã lỗi: protocol.http.TooBigBody.
  11. Nếu Nguồn lỗi có giá trị targetMã lỗi có giá trị protocol.http.TooBigBody, thì điều đó có nghĩa là phản hồi HTTP từ máy chủ đích/ phụ trợ có kích thước tải trọng phản hồi lớn hơn giới hạn cho phép trong Apigee Edge.

Trace

Cách chẩn đoán lỗi bằng công cụ Trace (Theo dõi):

  1. Bật phiên theo dõi và một trong hai lựa chọn sau:
    • Chờ lỗi 502 Bad Gateway xảy ra, hoặc
    • Nếu bạn có thể tái hiện vấn đề, hãy thực hiện lệnh gọi API và tái hiện lỗi 502 Bad Gateway.
  2. Chọn một trong các yêu cầu không thực hiện được và kiểm tra dấu vết.
  3. Điều hướng qua các giai đoạn khác nhau của dấu vết và xác định vị trí xảy ra lỗi.
  4. Chuyển đến giai đoạn Error (Lỗi) ngay sau giai đoạn Response received from target server (Đã nhận được phản hồi từ máy chủ đích) như minh hoạ dưới đây:

    Ghi lại các giá trị của lỗi trong dấu vết:

    • error: Body buffer overflow
    • error.class: com.apigee.errors.http.server.BadGateway

    Điều này cho biết Apigee Edge (thành phần Trình xử lý thông báo) sẽ gửi lỗi ngay khi nhận được phản hồi từ máy chủ phụ trợ do kích thước tải trọng vượt quá giới hạn cho phép.

  5. Bạn sẽ thấy lỗi trong giai đoạn Response Sent to Client (Phản hồi được gửi đến máy khách) như minh hoạ dưới đây:

  6. Lưu ý các giá trị của lỗi trong dấu vết. Dấu vết mẫu ở trên cho thấy:
    • error: 502 Bad Gateway
    • Nội dung lỗi: {"fault":{"faultstring":"Body buffer overflow","detail":{"errorcode":"protocol.http.TooBigBody"}}}
  7. Chuyển đến giai đoạn Phản hồi nhận được từ máy chủ đích như minh hoạ bên dưới cho các trường hợp khác nhau:

    Không nén

    Tình huống 1: Tải trọng phản hồi được gửi ở dạng không nén

    Ghi lại các giá trị của lỗi trong dấu vết:

    • Phản hồi nhận được từ máy chủ đích: 200 OK
    • Content-Length (từ phần Response Headers): ~11MB

    Đã nén

    Tình huống 2: Tải trọng yêu cầu được gửi ở dạng nén

    Ghi lại các giá trị của lỗi trong dấu vết:

    • Phản hồi nhận được từ máy chủ đích: 200 OK
    • Content-Encoding: Nếu bạn thấy tiêu đề này trong phần Tiêu đề phản hồi, hãy lưu ý giá trị. Ví dụ: trong ví dụ này, giá trị là gzip.
  8. Lưu ý Nội dung trong phần Nội dung phản hồi:

    {"fault":{"faultstring":"Body buffer overflow","detail":{"errorcode":"protocol.http.TooBigBody"}}}
    
  9. Chuyển đến Giai đoạn AX (Dữ liệu phân tích được ghi lại) trong dấu vết rồi nhấp vào giai đoạn đó để xem thông tin chi tiết liên quan.

  10. Di chuyển xuống trong phần Phase Details (Thông tin chi tiết về giai đoạn) đến phần Variables Read (Các biến được đọc) và xác định giá trị của target.received.content.length cho biết:
    • Kích thước thực tế của tải trọng phản hồi khi được gửi ở định dạng chưa nén và
    • Kích thước của tải trọng phản hồi sau khi được Apigee giải nén, khi tải trọng được gửi ở định dạng nén. Giá trị này sẽ luôn bằng với giá trị của hạn mức cho phép (10 MB) trong trường hợp này.

    Không nén

    Tình huống 1: Tải trọng phản hồi được gửi ở dạng không nén

    Lưu ý giá trị của target.received.content.length:

    Tiêu đề của yêu cầu Giá trị
    target.received.content.length ~11 MB

    Đã nén

    Tình huống 2: Tải trọng yêu cầu được gửi ở dạng nén

    Lưu ý giá trị của target.received.content.length:

    Tiêu đề của yêu cầu Giá trị
    target.received.content.length ~10 MB
  11. Bảng sau đây giải thích lý do Apigee trả về lỗi 502 trong 2 trường hợp dựa trên giá trị của target.received.content.length:

    Trường hợp Giá trị của target.received.content.length Lý do xảy ra lỗi
    Phần tải trọng phản hồi ở định dạng không nén ~11 MB Kích thước > giới hạn cho phép là 10 MB
    Phần tải trọng phản hồi ở định dạng nén ~10 MB

    Đã vượt quá giới hạn kích thước khi giải nén

NGINX

Cách chẩn đoán lỗi bằng nhật ký truy cập NGINX:

  1. Nếu là người dùng Đám mây riêng, thì bạn có thể sử dụng nhật ký truy cập NGINX để xác định thông tin chính về lỗi HTTP 502.
  2. Kiểm tra nhật ký truy cập NGINX:

    /opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log

    Vị trí: ORG, ENVPORT# được thay thế bằng các giá trị thực tế.

  3. Tìm kiếm để xem có 502 Lỗi nào trong một khoảng thời gian cụ thể hay không (nếu vấn đề xảy ra trong quá khứ) hoặc xem có yêu cầu nào vẫn gặp lỗi với 502 hay không.
  4. Nếu bạn tìm thấy bất kỳ lỗi 502 nào có X-Apigee-fault-code khớp với giá trị của protocol.http.TooBigBody, hãy xác định giá trị của X-Apigee-fault-source.

    Ví dụ về lỗi 502 trong nhật ký truy cập NGINX:

    Mục nhập mẫu ở trên trong nhật ký truy cập NGINX có các giá trị sau cho X-Apigee-fault-codeX-Apigee-fault-source:

    Tiêu đề phản hồi Giá trị
    X-Apigee-fault-code protocol.http.TooBigBody
    X-Apigee-fault-source target

Nguyên nhân: Kích thước tải trọng phản hồi lớn hơn giới hạn cho phép

Chẩn đoán

  1. Xác định Mã lỗi, Nguồn lỗiKích thước tải trọng phản hồi cho lỗi quan sát được bằng cách sử dụng tính năng Giám sát API, công cụ Theo dõi hoặc nhật ký truy cập NGINX như được giải thích trong Các bước chẩn đoán thường gặp với Tình huống 1.
  2. Nếu Nguồn lỗi có giá trị target, thì điều này cho biết kích thước tải trọng phản hồi do máy chủ đích/phụ trợ gửi đến Apigee lớn hơn giới hạn cho phép trong Apigee Edge.
  3. Xác minh Kích thước tải trọng phản hồi như được xác định ở bước 1.
  4. Xác thực rằng kích thước tải trọng phản hồi thực sự lớn hơn giới hạn cho phép là 10 MB bằng cách kiểm tra phản hồi thực tế theo các bước sau:
    1. Nếu bạn không có quyền truy cập vào yêu cầu thực tế được gửi đến máy chủ đích/phụ trợ, hãy chuyển đến phần Giải pháp.
    2. Nếu bạn có quyền truy cập vào yêu cầu thực tế được gửi đến máy chủ đích/phụ trợ, hãy thực hiện các bước sau:
      1. Nếu bạn là người dùng Đám mây công cộng/Đám mây riêng tư, hãy gửi yêu cầu trực tiếp đến máy chủ phụ trợ từ chính máy chủ phụ trợ hoặc bất kỳ máy nào khác mà bạn được phép gửi yêu cầu đến máy chủ phụ trợ.
      2. Nếu là người dùng Đám mây riêng tư, bạn cũng có thể gửi yêu cầu đến máy chủ phụ trợ từ một trong các Trình xử lý thông báo.
      3. Xác minh kích thước của tải trọng được truyền trong phản hồi bằng cách kiểm tra tiêu đề Content-Length.
      4. Nếu bạn nhận thấy kích thước của tải trọng lớn hơn giới hạn cho phép trong Apigee Edge, thì đó là nguyên nhân gây ra vấn đề.

    Phản hồi mẫu từ máy chủ phụ trợ:

    curl -v https://BACKENDSERVER-HOSTNAME/testfile
    
    * About to connect() to 10.14.0.10 port 9000 (#0)
    *   Trying 10.14.0.10...
    * Connected to 10.14.0.10 (10.148.0.10) port 9000 (#0)
    > GET /testfile HTTP/1.1
    > User-Agent: curl/7.29.0
    > Host: 10.14.0.10:9000
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    < Accept-Ranges: bytes
    < Content-Length: 11534336
    < Content-Type: application/octet-stream
    < Last-Modified: Wed, 30 Jun 2021 08:18:02 GMT
    < Date: Wed, 30 Jun 2021 09:22:41 GMT
    <
    ----snipped----
    <Response Body>

    Trong ví dụ trên, bạn có thể thấy Content-Length: 11534336 (which is ~11 MB) là nguyên nhân gây ra lỗi này vì nó vượt quá giới hạn cho phép trong Apigee Edge.

Độ phân giải

Hãy tham khảo phần Độ phân giải.

Nguyên nhân: Kích thước tải trọng phản hồi vượt quá giới hạn cho phép sau khi giải nén

Nếu tải trọng phản hồi được gửi ở định dạng nén và tiêu đề phản hồi Content-Encoding được đặt thành gzip, , thì Apigee sẽ giải nén tải trọng phản hồi. Trong quá trình giải nén, nếu Apigee nhận thấy kích thước của tải trọng lớn hơn giới hạn cho phép trong Apigee Edge, thì Apigee sẽ dừng giải nén thêm và phản hồi ngay lập tức bằng 502 Bad Gateway và mã lỗi protocol.http.TooBigBody.

Chẩn đoán

  1. Xác định Mã lỗi,Nguồn lỗiKích thước tải trọng phản hồi cho lỗi quan sát được bằng cách sử dụng tính năng Giám sát API, Công cụ theo dõi hoặc nhật ký truy cập NGINX như được giải thích trong Các bước chẩn đoán thường gặp với Tình huống 2.
  2. Nếu Nguồn lỗi có giá trị target, thì điều này cho biết kích thước tải trọng phản hồi do ứng dụng đích/phụ trợ gửi đến Apigee lớn hơn giới hạn cho phép trong Apigee Edge.
  3. Xác minh Kích thước tải trọng phản hồi như được xác định ở bước 1.
    • Nếu kích thước tải trọng lớn hơn giới hạn cho phép là 10 MB, thì đó là nguyên nhân gây ra lỗi.
    • Nếu kích thước tải trọng ~ 10 MB, thì có thể tải trọng phản hồi được truyền ở định dạng nén. Trong trường hợp này, hãy kiểm tra kích thước chưa nén của tải trọng phản hồi được nén.
  4. Bạn có thể xác thực xem phản hồi từ đích đến/phụ trợ có được gửi ở định dạng nén hay không và kích thước chưa nén lớn hơn giới hạn cho phép bằng một trong các phương thức sau:

    Trace

    Cách sử dụng công cụ Dấu vết:

    1. Nếu bạn đã ghi lại dấu vết cho yêu cầu không thành công, hãy tham khảo các bước được trình bày chi tiết trong phần Dấu vết
      1. Xác định giá trị của target.received.content.length
      2. Xác minh xem yêu cầu từ máy khách có chứa tiêu đề Content-Encoding: gzip hay không
    2. Nếu giá trị của target.received.content.length gần với giới hạn cho phép là 10 MB và tiêu đề phản hồi Content-Encoding: gzip, thì đó là nguyên nhân gây ra lỗi này.

    Yêu cầu thực tế

    Sử dụng yêu cầu thực tế:

    1. Nếu bạn không có quyền truy cập vào yêu cầu thực tế được gửi đến máy chủ đích/phụ trợ, hãy chuyển đến phần Giải pháp.
    2. Nếu bạn có quyền truy cập vào yêu cầu thực tế được gửi đến máy chủ đích/phụ trợ, hãy thực hiện các bước sau:
      1. Xác minh kích thước của tải trọng được truyền trong phản hồi cùng với tiêu đề Content-Encoding được gửi trong phản hồi.
      2. Nếu bạn thấy tiêu đề phản hồi Content-Encoding được đặt thành gzip và kích thước chưa nén của tải trọng lớn hơn giới hạn cho phép trong Apigee Edge, thì đó là nguyên nhân gây ra lỗi này.

        Phản hồi mẫu nhận được từ máy chủ phụ trợ:

        curl -v https://BACKENDSERVER-HOSTNAME/testzippedfile.gz
        
        * About to connect() to 10.1.0.10 port 9000 (#0)
        *   Trying 10.1.0.10...
        * Connected to 10.1.0.10 (10.1.0.10) port 9000 (#0)
        > GET /testzippedfile.gz HTTP/1.1
        > User-Agent: curl/7.29.0
        > Host: 10.1.0.10:9000
        > Accept: */*
        >
        < HTTP/1.1 200 OK
        < Accept-Ranges: bytes
        < Content-Encoding: gzip
        < Content-Type: application/x-gzip
        < Last-Modified: Wed, 30 Jun 2021 08:18:02 GMT
        < Testheader: test
        < Date: Wed, 07 Jul 2021 10:14:16 GMT
        < Transfer-Encoding: chunked
        <
        ----snipped----
        <Response Body>

        Trong trường hợp trên, tiêu đề Content-Encoding: gzip được gửi và kích thước của tệp testzippedfile.gz trong phản hồi nhỏ hơn giới hạn, tuy nhiên kích thước của tệp chưa nén testzippedfile là khoảng 15 MB.

    Nhật ký Trình xử lý tin nhắn

    Sử dụng nhật ký Message Processor:

    1. Nếu là người dùng Đám mây riêng, bạn có thể sử dụng nhật ký Trình xử lý thông báo để xác định thông tin chính về lỗi HTTP 502.
    2. Kiểm tra nhật ký của Trình xử lý thư

      /opt/apigee/var/log/edge-message-processor/logs/system.log

    3. Tìm kiếm để xem có lỗi 502 nào xảy ra trong một khoảng thời gian cụ thể hay không (nếu vấn đề xảy ra trong quá khứ) hoặc xem có yêu cầu nào vẫn không thành công với 502 hay không. Bạn có thể sử dụng các chuỗi tìm kiếm sau:

      grep -ri "chunkCount"
      
      grep -ri "BadGateway: Body buffer overflow"
      
    4. Bạn sẽ thấy các dòng từ system.log tương tự như hình bên dưới (TotalReadchunkCount có thể khác trong trường hợp của bạn):
      2021-07-07 09:40:47,012  NIOThread@7 ERROR HTTP.SERVICE -
      TrackingInputChannel.checkMessageBodyTooLarge() : Message is too large.
      TotalRead 10489856 chunkCount 2571
      
      2021-07-07 09:40:47,012  NIOThread@7 ERROR HTTP.CLIENT -
      HTTPClient$Context.onInputException() :
      ClientInputChannel(ClientChannel[Connected:
      Remote:10.148.0.10:9000 Local:10.148.0.9:42240]@9155
      useCount=1 bytesRead=0 bytesWritten=182 age=23ms  lastIO=0ms
      isOpen=true).onExceptionRead exception: {}
      com.apigee.errors.http.server.BadGateway: Body buffer overflow
      
      2021-07-07 09:40:47,012  NIOThread@7 ERROR
      ADAPTORS.HTTP.FLOW - AbstractResponseListener.onException() :
      AbstractResponseListener.onError(HTTPResponse@77cbd7c4,
      Body buffer overflow)
    5. Trong quá trình giải nén, ngay khi Trình xử lý thông báo xác định tổng số byte đã đọc là > 10 MB, thì Trình xử lý thông báo sẽ dừng và in dòng sau:

      Message is too large. TotalRead 10489856 chunkCount 2571

      Điều này có nghĩa là Response Payload Size (Kích thước tải trọng phản hồi) lớn hơn 10 MB và Apigee sẽ gửi lỗi khi kích thước bắt đầu vượt quá giới hạn 10 MB với mã lỗi là protocol.http.TooBigBody

Độ phân giải

Kích thước cố định

Cách 1 [Đề xuất]: Sửa ứng dụng máy chủ đích để không gửi kích thước tải trọng vượt quá giới hạn của Apigee

  1. Phân tích lý do khiến máy chủ mục tiêu cụ thể gửi kích thước phản hồi / tải trọng lớn hơn giới hạn cho phép như được xác định trong phần Giới hạn.
  2. Nếu không mong muốn, hãy sửa đổi ứng dụng máy chủ mục tiêu để ứng dụng này gửi kích thước phản hồi / tải trọng nhỏ hơn giới hạn cho phép.
  3. Nếu bạn muốn gửi một phản hồi/tải trọng vượt quá giới hạn cho phép, hãy chuyển sang các lựa chọn tiếp theo.

Mẫu URL đã ký

Lựa chọn 2 [Nên dùng]: Sử dụng mẫu URL đã ký trong Apigee JavaCallout

Đối với tải trọng lớn hơn 10 MB, Apigee đề xuất sử dụng mẫu URL đã ký trong Apigee JavaCallout, minh hoạ bằng ví dụ Edge Callout: Signed URL Generator trên GitHub.

Phát trực tiếp

Cách 3: Sử dụng tính năng phát trực tuyến

Nếu cần xử lý các yêu cầu và/hoặc phản hồi có kích thước rất lớn, thì bạn có thể bật tính năng truyền phát trực tuyến trong Apigee.

CwC

Cách 4: Sử dụng thuộc tính CwC để tăng giới hạn vùng đệm

Bạn chỉ nên sử dụng lựa chọn này khi không thể sử dụng bất kỳ lựa chọn nào được đề xuất vì có thể xảy ra các vấn đề về hiệu suất nếu kích thước mặc định tăng lên.

Apigee cung cấp một thuộc tính CwC cho phép tăng giới hạn kích thước tải trọng của yêu cầu và phản hồi. Để biết thông tin chi tiết, hãy tham khảo bài viết Đặt giới hạn kích thước thông báo trên Bộ định tuyến hoặc Trình xử lý thông báo.

Giới hạn

Apigee yêu cầu ứng dụng khách và máy chủ phụ trợ không gửi kích thước tải trọng lớn hơn giới hạn cho phép như được ghi lại cho Request/response size trong Giới hạn của Apigee Edge.

  1. Nếu bạn là người dùng Đám mây công cộng, thì giới hạn tối đa cho kích thước tải trọng của yêu cầu và phản hồi sẽ như được ghi lại cho Request/response size trong Giới hạn của Apigee Edge.
  2. Nếu là người dùng Đám mây riêng tư , thì có thể bạn đã sửa đổi giới hạn tối đa mặc định cho kích thước tải trọng của yêu cầu và phản hồi (mặc dù đây không phải là cách nên làm). Bạn có thể xác định giới hạn kích thước tải trọng tối đa của yêu cầu bằng cách làm theo hướng dẫn trong phần Cách kiểm tra giới hạn hiện tại.

Cách kiểm tra hạn mức hiện tại

Phần này giải thích cách xác minh rằng thuộc tính HTTPResponse.body.buffer.limit đã được cập nhật bằng một giá trị mới trên Trình xử lý thông báo.

  1. Trên máy Message Processor (Bộ xử lý thông báo), hãy tìm thuộc tính HTTPResponse.body.buffer.limit trong thư mục /opt/apigee/edge-message- processor/conf và kiểm tra xem giá trị nào đã được đặt như minh hoạ bên dưới:

    grep -ri "HTTPResponse.body.buffer.limit" /opt/apigee/edge-message-processor/conf
    
  2. Sau đây là kết quả mẫu của lệnh trên:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPResponse.body.buffer.limit=10m
  3. Trong đầu ra mẫu ở trên, hãy lưu ý rằng thuộc tính HTTPResponse.body.buffer.limit đã được đặt với giá trị 10m trong http.properties.

    Điều này cho thấy giới hạn kích thước tải trọng yêu cầu được định cấu hình trong Apigee cho Private Cloud là 10 MB.

Nếu bạn vẫn cần được Nhóm hỗ trợ Apigee trợ giúp, hãy xem phần Bạn phải thu thập thông tin chẩn đoán.

Phải thu thập thông tin chẩn đoán

Thu thập thông tin chẩn đoán sau đây, rồi liên hệ với Nhóm hỗ trợ Apigee Edge:

Nếu bạn là người dùng Đám mây công cộng, hãy cung cấp những thông tin sau:

  • Tên tổ chức
  • Tên môi trường
  • Tên API Proxy
  • Lệnh curl hoàn chỉnh dùng để tái tạo lỗi 502
  • Tệp theo dõi cho các yêu cầu API
  • Hoàn tất đầu ra của phản hồi từ máy chủ đích/phụ trợ cùng với kích thước của tải trọng

Nếu bạn là người dùng Đám mây riêng, hãy cung cấp những thông tin sau:

  • Thông báo lỗi hoàn chỉnh được ghi nhận cho các yêu cầu không thành công
  • Tên tổ chức
  • Tên môi trường
  • Gói API Proxy
  • Tệp theo dõi cho các yêu cầu API không thành công
  • Lệnh curl hoàn chỉnh dùng để tái tạo lỗi 502
  • Hoàn tất đầu ra của phản hồi từ máy chủ đích/phụ trợ cùng với kích thước của tải trọng
  • Nhật ký truy cập NGINX /opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log

    Trong đó: ORG, ENVPORT# được thay thế bằng các giá trị thực tế.

  • Nhật ký hệ thống của Trình xử lý tin nhắn /opt/apigee/var/log/edge-message-processor/logs/system.log