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_REQUESTandHTTP_RESPONSEevents. - 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 interceptingHTTP_REQUESTandHTTP_RESPONSEevents and sending the BB #12 envelope to the relay VM. - Deployment Methods:
- Via
aXAPI: Using thePOST /axapi/v3/aflexendpoint. - Via A10 Thunder web UI.
- Via
slb virtual-serverBinding: The aFleX script is associated with a virtual server by specifyingaflex <name>under the virtual-port section of theslb virtual-serverconfiguration.- 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:
| Name | Type | Default | Description |
|---|---|---|---|
| name | String | N/A | The 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
.tclscript 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)
