Khắc phục sự cố khi triển khai chính sách Ghi nhật ký thư

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

InvalidProtocol

Thông báo lỗi

Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:

Error Saving Revision revision_number
Invalid Protocol: invalid_protocol for Syslog handler in policy policy_name.

Thông báo lỗi mẫu

Error Saving Revision 4
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.

Ảnh chụp màn hình mẫu

Nguyên nhân

Lỗi này có thể không triển khai được chính sách MessageLogging nếu giao thức được chỉ định trong phần tử <Protocol> không hợp lệ. Các giao thức hợp lệ là TCP và UDP. Để gửi thông báo nhật ký hệ thống qua TLS/SSL, chỉ TCP được hỗ trợ.

Ví dụ: không thể triển khai Proxy API với lỗi này nếu bạn chỉ định HTTP trong phần tử <Protocol> của Chính sách ghi nhật ký tin nhắn như thể hiện dưới đây:

<Protocol>HTTP</Protocol>

Chẩn đoán

  1. Xác định chính sách MessageLogging (Ghi nhật ký tin nhắn) xảy ra lỗi. Bạn có thể tìm thấy thông tin này trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách là LogToSyslog:

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    
  2. Trong lần kiểm tra cấu hình chính sách MessageLogging không thành công, hãy kiểm tra xem giao thức được chỉ định trong phần tử <Protocol> có hợp lệ hay không. Nếu bạn chỉ định một giao thức không hợp lệ, thì đó chính là nguyên nhân gây ra lỗi.

    Ví dụ: chính sách sau đây chỉ định một giao thức không hợp lệ.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <MessageLogging name="LogToSyslog">
      <Syslog>
        <Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message>
        <Host>logs-01.loggly.com</Host>
        <Port>514</Port>
        <Protocol>HTTP</Protocol>
        <FormatMessage>true</FormatMessage>
      </Syslog>
      <logLevel>ALERT</logLevel>
    </MessageLogging>
    

    Vì giao thức được xác định trong phần tử <Protocol> không hợp lệ nên quá trình triển khai Proxy API sẽ không thành công do lỗi:

    Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
    

Độ phân giải

Đảm bảo rằng giao thức được xác định trong phần tử <Protocol> của chính sách MessageLogging (Ghi nhật ký thư) là hợp lệ. Phần tử <Protocol> hỗ trợ các giá trị sau:

  • TCP
  • UDP

Để sửa ví dụ trên, hãy xác định một giao thức hợp lệ trong phần tử <Protocol>:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MessageLogging name="LogToSyslog">
  <Syslog>
    <Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message>
    <Host>logs-01.loggly.com</Host>
    <Port>514</Port>
    <Protocol>TCP</Protocol>
    <FormatMessage>true</FormatMessage>
  </Syslog>
  <logLevel>ALERT</logLevel>
</MessageLogging>

InvalidPort

Thông báo lỗi

Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:

Error Saving Revision revision_number
Invalid Port: 0 for Syslog handler in policy policy_name.

Thông báo lỗi mẫu

Error Saving Revision 4
Invalid Port: 0 for Syslog handler in policy LogToSyslog.

Ảnh chụp màn hình mẫu

Nguyên nhân

Lỗi này có thể không triển khai được nếu bạn không chỉ định số cổng trong phần tử <Port> hoặc nếu số cổng không hợp lệ thì không thể triển khai chính sáchMessageLogging. Số cổng phải là một số nguyên lớn hơn 0.

Ví dụ: nếu bạn khai báo phần tử <Port> như minh hoạ dưới đây, thì quá trình triển khai proxy API sẽ không thành công:

<Port>0</Port>

Chẩn đoán

  1. Xác định chính sách MessageLogging (Ghi nhật ký tin nhắn) xảy ra lỗi. Bạn có thể tìm thấy thông tin này trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách là LogToSyslog:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    
  2. Trong lần kiểm tra chính sách MessageLogging không thành công, liệu bạn có chỉ định số cổng hợp lệ trong phần tử <Port> hay không. Nếu số cổng không được xác định hoặc không hợp lệ thì đó là nguyên nhân gây ra lỗi.

    Ví dụ: chính sách sau đây chỉ định số cổng không hợp lệ:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <MessageLogging name="LogToSyslog">
      <Syslog>
        <Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message>
        <Host>logs-01.loggly.com</Host>
        <Port>0</Port>
        <Protocol>TCP</Protocol>
        <FormatMessage>true</FormatMessage>
      </Syslog>
      <logLevel>ALERT</logLevel>
    </MessageLogging>
    

    Vì số cổng được xác định trong phần tử <Port> không hợp lệ nên việc triển khai Proxy API không thành công do lỗi:

    Invalid Port: 0 for Syslog handler in policy LogToSyslog.
    

Độ phân giải

Đảm bảo số cổng được xác định trong phần tử <Port> của chính sách MessageLogging. Đó phải là số nguyên lớn hơn 0.

Để sửa ví dụ nêu trên, hãy xác định số cổng hợp lệ trong phần tử <Protocol>.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MessageLogging name="LogToSyslog">
  <Syslog>
    <Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message>
    <Host>logs-01.loggly.com</Host>
    <Port>514</Port>
    <Protocol>TCP</Protocol>
    <FormatMessage>true</FormatMessage>
  </Syslog>
  <logLevel>ALERT</logLevel>
</MessageLogging>