Kafka Log Pushing Plug-in

Overview

ROMA Connect can collect calling logs of open APIs in APIC. The Kafka log pushing plug-in pushes detailed API calling logs to Kafka so that users can easily obtain the API calling logs.

Restrictions

A maximum of five Kafka log push plug-ins can be created on a ROMA Connect instance.

Parameter Description

Table 1 Configuration parameters

Parameter

Description

Policy Information

Broker Address

List of target Kafka connection addresses to which logs are to be pushed. Use commas (,) to separate multiple addresses.

Topic

Name of the Kafka topic to which logs are to be pushed.

Key

Enter the key value of a message so that the message will be stored in a specified partition of Kafka. It can be used as an ordered message queue. If this parameter is left empty, messages are stored in different message partitions in a distributed manner.

Retry

Retry configuration after logs fail to be pushed to Kafka.

  • Retry Times: number of retry attempts after a failure. The value ranges from 0 to 5.
  • Retry Interval: retry interval after a failure. The value ranges from 1 to 10, in seconds.

SASL Configuration

Security Protocol

Security protocol used for connecting to the target Kafka.

  • PLAINTEXT: user authentication protocol of the default access point.
  • SASL_PLAINTEXT: SASL user authentication protocol.
  • SASL_SSL: SSL user authentication protocol.

Message Tx/Rx Mechanism

Message sending and receiving mechanism of the target Kafka. The default value is PLAIN.

SASL Username

This parameter is available only if Security Protocol is set to SASL_PLAINTEXT or SASL_SSL.

Username used for SASL or SSL authentication.

SASL Password

This parameter is available only if Security Protocol is set to SASL_PLAINTEXT or SASL_SSL.

User password used for SASL or SSL authentication.

Certificate Content

This parameter is available only if Security Protocol is set to SASL_SSL.

CA certificate used for SSL authentication.

Metadata Configuration

System Metadata

System fields that need to be carried in pushed logs.

By default, the start_time, request_id, client_ip, request_time, http_status, scheme, request_method, host, uri, upstream_addr, upstream_status, upstream_response_time, http_x_forwarded_for, http_user_agent, and error_type fields are carried in logs. Other system fields are carried only after they are selected.

Request Data

API request information that needs to be carried in the pushed logs.

  • The log contains the request header: If this option is selected, you need to enter the request header parameters to be carried in logs. Use commas (,) to separate multiple fields. The asterisk (*) can be used as a wildcard.
  • The log contains the request QueryString: If this option is selected, you need to enter the request Query parameters to be carried in logs. Use commas (,) to separate multiple fields. The asterisk (*) can be used as a wildcard.
  • The log contains the request body: If this option is selected, logs contain the request body information of the API.

Response Data

API response information that needs to be carried in pushed logs.

  • The log contains response header: If this option is selected, you need to set the response header parameters to be carried in logs. Use commas (,) to separate multiple fields. The asterisk (*) can be used as a wildcard.
  • The log contains response body: If this option is selected, logs contain response body information.

Customized Authentication

Custom authentication information that needs to be carried in pushed logs.

  • Frontend: Enter the frontend custom authentication's response fields to be carried in logs. Use commas (,) to separate multiple fields.
  • Backend: Enter the backend custom authentication's response fields to be carried in logs. Use commas (,) to separate multiple fields.