Skip to main content

A10 Thunder ADC SOAP Body Capture Configuration

Learn about A10 Thunder ADC SOAP body capture configuration, including aFleX TCL scripts, deployment via aXAPI or web UI, and virtual-server binding.

Overview

This document describes the configuration for SOAP body capture on A10 Thunder Application Delivery Controllers (ADC). This capability allows for the capture of SOAP body content for processing. (source: deploy/lb-connectors/a10/README.md)

As of v1, the A10 Thunder ADC configuration for body capture is documented but not actively maintained within this directory. The API publisher's operators are expected to retrieve and adapt the aFleX TCL snippet from the relevant Request for Comments (RFC) document to suit their specific environment. (source: deploy/lb-connectors/a10/README.md)

How it Works

The A10 Thunder ADC body capture mechanism primarily relies on an aFleX TCL script. This script is designed to:

  • Hook into HTTP_REQUEST and HTTP_RESPONSE events.
  • POST a specific envelope (referred to as "BB #12") to a relay Virtual Machine (VM).

Deployment of this configuration can be achieved through the aXAPI (specifically, POST /axapi/v3/aflex) or by using the A10 Thunder web user interface. Once deployed, the aFleX script is bound to a virtual server using the aflex <name> command within the virtual-port section of the slb virtual-server configuration. (source: deploy/lb-connectors/a10/README.md)

Additionally, the aFleX script supports header injection, exemplified by HTTP::header insert "X-Client-IP", and offers syslog format and field mapping as an alternative for operators who prefer syslog over aFleX for capturing data. (source: deploy/lb-connectors/a10/README.md)

Configuration Elements

The detailed A10 Thunder ADC body-capture configuration, including the aFleX TCL script, is documented in the RFC. The RFC covers the following key elements: (source: deploy/lb-connectors/a10/README.md)

  • aFleX TCL script (s2r_body_capture.tcl): This script is responsible for intercepting HTTP_REQUEST and HTTP_RESPONSE events and sending the BB #12 envelope to the relay VM.
  • Deployment Methods:
    • Via aXAPI: Using the POST /axapi/v3/aflex endpoint.
    • Via A10 Thunder web UI.
  • slb virtual-server Binding: The aFleX script is associated with a virtual server by specifying aflex <name> under the virtual-port section of the slb virtual-server configuration.
  • Header Injection: The aFleX script can inject headers, such as HTTP::header insert "X-Client-IP".
  • Syslog Format and Field Mapping: Provides an alternative data capture method for operators who prefer syslog over aFleX.

The specific aFleX TCL snippet and detailed deployment instructions are located in docs/rfc/lb-syslog-discovery.md §2.5, under the section "A10 Thunder ADC (BB #9)". (source: deploy/lb-connectors/a10/README.md)

Binding Parameter

The following parameter is used when binding the aFleX script to a virtual server:

NameTypeDefaultDescription
nameStringN/AThe name of the aFleX script to bind under the virtual-port section.

Contributions

The API publisher welcomes contributions for tested A10 Thunder aFleX scripts or syslog configurations. To contribute, please open a Pull Request (PR) that includes: (source: deploy/lb-connectors/a10/README.md)

  • The aFleX .tcl script file.
  • An updated version of this README with installation steps.

Refer to docs/lld/contribution-guidelines.md for detailed contribution guidelines, or open an issue describing your environment and the tested configuration. (source: deploy/lb-connectors/a10/README.md)


All SOAP-to-REST docs