Troubleshooting
Viewing Logs
To troubleshoot the iRule added to the F5 BIG-IP, SSH into the BIG-IP machine, enter the bash shell, and check the LTM logs:
Enable Debug Logging
For detailed troubleshooting, you can enable debug mode which provides additional logging information about the enforcer’s decision-making process.
Enable Debug Mode
Disable Debug Mode
Important
Debug mode generates significant log output and can impact performance. Only enable it temporarily for troubleshooting, and remember to disable it in production environments.
Test Block Flow on Monitoring Mode
When the enforcer is in Monitor Mode (module_mode = 1), you can still test the blocking flow without affecting real traffic. This is useful for validating that blocking works correctly before switching to full blocking mode.
Configuration
Set the bypass monitor header in the pxconfig data group:
Usage
Once configured, you can test blocking by including the header in your request:
- Set the header
x-px-block: 1on your request - Trigger a detection (e.g., use a User-Agent header with the value
PhantomJS/1.0) - The enforcer will bypass Monitor Mode and apply full Block Mode for this request
Conditions for bypass:
- The
bypass_monitor_headermust be configured - The header must be present in the request with a value of
1 - The request must trigger a block response (high risk score)
If any condition is missing, the enforcer will stay in Monitor Mode.
To explicitly stay in Monitor Mode even when the header is present, set the header value to 0:
x-px-block: 0- Stay in Monitor Mode
This feature is per-request. It does not change the global module mode setting.
Common Issues
No Activity Data in HUMAN Console
If you’re not seeing activity data in the HUMAN Console:
- Verify that the Syslog configuration is complete (see Installation)
- Check that your F5 IP address has been authorized with HUMAN backends
- Verify the
px_syslog_poolis healthy and can reachpx-fst-syslog.perimeterx.net - Ensure the
CLIENT_ACCEPTEDrule is uncommented in the px iRule
Risk API Timeouts
If you’re seeing high s2s_timeout rates:
- Check that
px_backend_poolis healthy - Verify the virtual server
px_backend_<APP_ID>_vipis configured correctly - Consider increasing
risk_timeoutif network latency is high:
Module Not Processing Requests
If the enforcer doesn’t seem to be processing requests:
- Verify
enable_moduleis set to1 - Check if
enable_module_header_nameis configured and if so, ensure the header is present - Verify the px iRule is attached to your virtual server
- Check the
excluded_extensionspattern isn’t matching your requests
iRule Size Exceeded Error
If you see this error when uploading the px iRule:
The px.tcl file exceeds F5’s 65,520 byte limit for iRules.
Solution: Minify the iRule before uploading:
This command removes comment lines and collapses blank lines. The minified iRule is functionally identical to the original.
Use px-minified.tcl instead of px.tcl when creating the iRule.