F5BigLogProfile¶
Overview¶
Function¶
Declares a log profile for a CNE instance, defining logging configuration for NAT, firewall, DNS, protocol inspection, Application Layer Gateway (ALG), and Policy Enforcement (PE) events.
Names¶
Singular name |
Plural name |
Short name |
|---|---|---|
f5-big-log-profile |
f5-big-log-profiles |
logprof |
API group and version¶
k8s.f5net.com/v2
Scope¶
Namespace
Specification¶
spec¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
User-defined name for the log profile. This name identifies and references the log profile configuration within the system. Maximum length is 255 characters. |
|
No |
|
Name of the log publisher used for logging events. The publisher defines where and how log messages are sent and processed. Maximum length is 255 characters. |
|
No |
|
Network Address Translation (NAT) logging configuration. |
|
No |
|
Firewall logging configuration. |
|
No |
|
DNS logging configuration. |
|
No |
|
Protocol inspection logging configuration. |
|
No |
|
Application Layer Gateway (ALG) logging configuration. |
|
No |
|
Policy Enforcement (PE) logging configuration. |
spec.nat¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Turns NAT logging on or off. Accepted values: |
|
No |
|
Turns on LSN legacy mode, which uses the legacy CGNAT/LSN logging facility instead of the firewall NAT logging capability. LSN legacy mode is limited compared to firewall NAT logging. Accepted values: |
|
No |
|
Logs the subscriber ID associated with a subscriber IP address. Accepted values: |
|
No |
|
Rate limit for all combined NAT log messages per second. Beyond this rate limit, the system doesn’t log messages until the rate drops below the limit. Accepted values: 0 to 4294967295. |
|
No |
|
Name of the log publisher used for logging NAT events. Maximum length is 255 characters. |
|
No |
|
Logging configuration for outbound NAT translation events. |
|
No |
|
Logging configuration for inbound NAT translation events. |
|
No |
|
Logging configuration for NAT quota exceeded events. |
|
No |
|
Logging configuration for NAT error events. |
spec.nat.outbound¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Generates event log entries at the start of the translation event for a NAT client, when the outbound session is created. |
|
No |
|
Generates event log entries at the end of the translation event for a NAT client, when the outbound session is freed. |
spec.nat.outbound.start¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Mode for outbound session start logging. Accepted values: |
|
No |
|
Includes the destination address and port in the logs when the outbound session start mode is |
|
No |
|
Rate limit for outbound NAT log messages per second. Accepted values: 0 to 4294967295. |
|
No |
|
Format type for the outbound NAT log messages. Accepted values: |
|
No |
|
Field list for the outbound NAT log messages. |
|
No |
|
User-defined field list for a custom logging format, for example |
spec.nat.outbound.end¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Mode for outbound session end logging. Accepted values: |
|
No |
|
Includes the destination address and port in the logs when the outbound session end mode is |
|
No |
|
Rate limit for outbound NAT log messages per second. Accepted values: 0 to 4294967295. |
|
No |
|
Format type for the outbound NAT log messages. Accepted values: |
|
No |
|
Field list for the outbound NAT log messages. |
|
No |
|
User-defined field list for a custom logging format. Maximum length is 1024 characters. |
spec.nat.inbound¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Generates event log entries at the start of the incoming connection event for a translated endpoint, when the inbound session is created. |
|
No |
|
Generates event log entries at the end of the incoming connection event for a translated endpoint, when the inbound session is terminated. |
spec.nat.inbound.start¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Mode for inbound session start logging. Accepted values: |
|
No |
|
Rate limit for inbound NAT log messages per second. Accepted values: 0 to 4294967295. |
|
No |
|
Format type for inbound NAT log messages. Accepted values: |
|
No |
|
Field list for the inbound NAT log messages. |
|
No |
|
User-defined field list for a custom logging format. Maximum length is 1024 characters. |
spec.nat.inbound.end¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Mode for inbound session end logging. Accepted values: |
|
No |
|
Rate limit for inbound NAT end log messages per second. Accepted values: 0 to 4294967295. |
|
No |
|
Format type for inbound NAT end log messages. Accepted values: |
|
No |
|
Field list for the inbound NAT end log messages. |
|
No |
|
User-defined field list for a custom logging format. Maximum length is 1024 characters. |
spec.nat.outbound.start.fieldList¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Fields to include in the outbound NAT log messages. Accepted values: |
|
No |
|
Delimiter used to separate fields in the log message. Must be 1 to 2 characters. |
Note
The fieldList object under spec.nat.inbound.start, spec.nat.inbound.end, spec.nat.outbound.end, spec.nat.quotaExceeded, and spec.nat.errors uses the same items and delimiter fields. The outbound and inbound end field lists also accept duration. The quotaExceeded and errors field lists accept translation_error and translation_object in place of the translated address fields.
spec.nat.quotaExceeded¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Mode for quota exceeded logging. Accepted values: |
|
No |
|
Rate limit for quota exceeded log messages per second. Accepted values: 0 to 4294967295. |
|
No |
|
Format type for quota exceeded log messages. Accepted values: |
|
No |
|
Field list for the quota exceeded log messages. |
|
No |
|
User-defined field list for a custom logging format. Maximum length is 1024 characters. |
spec.nat.errors¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Mode for error logging. Accepted values: |
|
No |
|
Rate limit for error log messages per second. Accepted values: 0 to 4294967295. |
|
No |
|
Format type for error log messages. Accepted values: |
|
No |
|
Field list for the error log messages. |
|
No |
|
User-defined field list for a custom logging format. Maximum length is 1024 characters. |
spec.firewall¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Turns firewall logging on or off. Accepted values: |
|
No |
|
Logging configuration for Flowspec events. Flowspec is a BGP extension for flow-based traffic filtering and rate limiting. |
|
No |
|
Logging configuration for IP intelligence events. |
|
No |
|
Logging configuration for traffic statistics. |
|
No |
|
Logging configuration for port misuse events. |
|
No |
|
Logging configuration for network firewall events. |
spec.firewall.flowspec¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Name of the log publisher used for logging firewall Flowspec events. Maximum length is 255 characters. |
spec.firewall.ipIntelligence¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Name of the log publisher used for logging IP intelligence events. Maximum length is 255 characters. |
|
No |
|
Turns on logging of the geographic location for IP intelligence shun events. Accepted values: |
|
No |
|
Turns on logging of Remote Triggered Black Hole (RTBH) events. RTBH filtering drops undesirable traffic before it enters a protected network. Accepted values: |
|
No |
|
Turns on logging of IP intelligence scrubber events. Scrubber events indicate when traffic scrubbing services process traffic. Accepted values: |
|
No |
|
Turns on logging of IP intelligence shun events. Shun events occur when the system blocks traffic from suspicious IP addresses. Accepted values: |
|
No |
|
Turns on logging of IP intelligence translation events. Accepted values: |
|
No |
|
Rate limit for all combined IP intelligence log messages per second. Accepted values: 0 to 4294967295. |
spec.firewall.trafficStats¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Turns on logging of the number of active flows on the client side. Accepted values: |
|
No |
|
Turns on logging of the number of reaped flows on the client side. Accepted values: |
|
No |
|
Turns on logging of the number of TCP packets (non-SYN/ACK) dropped because the flow table lookup failed. Accepted values: |
|
No |
|
Turns on logging of the number of SYN cookies generated, accepted, and rejected. Accepted values: |
|
No |
|
Turns on logging of the number of SYN cookie allowlist hits, accepted and rejected. Accepted values: |
|
No |
|
Name of the log publisher used to log traffic statistics. Maximum length is 255 characters. |
spec.firewall.portMisuse¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Name of the log publisher used for logging port misuse events. Maximum length is 255 characters. |
|
No |
|
Rate limit for all combined port misuse log messages per second. Accepted values: 0 to 4294967295. |
spec.firewall.network¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Name of the log publisher used for logging network events. Maximum length is 255 characters. |
|
No |
|
Rate limit for all combined network log messages per second. Accepted values: 0 to 4294967295. |
|
No |
|
Network events to log. |
|
No |
|
Rate limits for each type of network event. |
|
No |
|
Format for network log messages. |
spec.firewall.network.events¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Turns on logging of packets that match ACL rules with the Accept or Accept Decisively action. Accepted values: |
|
No |
|
Turns on logging of packets that match ACL rules with the Drop action. Accepted values: |
|
No |
|
Turns on logging of packets that match ACL rules with the Reject action. Accepted values: |
|
No |
|
Turns on logging of IP error packets. Accepted values: |
|
No |
|
Turns on logging of TCP error packets. Accepted values: |
|
No |
|
Turns on logging of TCP events. Accepted values: |
|
No |
|
Turns on logging of translation fields in network log messages. Accepted values: |
|
No |
|
Turns on logging of user information in network log messages. Accepted values: |
|
No |
|
Turns on logging of geographic IP location fields in ACL match and TCP logging. Accepted values: |
|
No |
|
Turns on logging of the ACL rule UUID field in ACL match and TCP logging. When the |
|
No |
|
Turns on logging of traffic coming to the management IP address. When drop or reset logging is already on, this option creates one more log. Accepted values: |
spec.firewall.network.ratelimit¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Rate limit for logging of packets that match ACL rules with the Accept or Accept Decisively action. Accepted values: 0 to 4294967295. |
|
No |
|
Rate limit for logging of packets that match ACL rules with the Drop action. Accepted values: 0 to 4294967295. |
|
No |
|
Rate limit for logging of packets that match ACL rules with the Reject action. Accepted values: 0 to 4294967295. |
|
No |
|
Rate limit for logging of IP error packets. Accepted values: 0 to 4294967295. |
|
No |
|
Rate limit for logging of TCP error packets. Accepted values: 0 to 4294967295. |
|
No |
|
Rate limit for logging of TCP events. Accepted values: 0 to 4294967295. |
spec.firewall.network.format¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Format type for network log messages. Accepted values: |
|
No |
|
User-defined field list for a custom network logging format, for example |
|
No |
|
Field list for network log messages. |
spec.firewall.network.format.networkFieldList¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Delimiter used to separate fields in the network log message. Must be 1 to 2 characters. |
|
No |
|
Fields to include in the network log messages. Each field is a string of up to 255 characters. |
spec.dns¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Turns DNS logging on or off. Accepted values: |
|
No |
|
User-defined description for the DNS logging configuration. Maximum length is 255 characters. |
|
No |
|
Turns on logging of DNS query messages. Accepted values: |
|
No |
|
Turns on logging of DNS response messages. Accepted values: |
|
No |
|
Combines DNS query and response logging into a single log message. This overrides the individual options. Accepted values: |
|
No |
|
Includes the complete answer section in the DNS response messages. Accepted values: |
|
No |
|
Includes the query ID in the DNS query and response messages. Accepted values: |
|
No |
|
Includes the log message originator in the query and response messages. Accepted values: |
|
No |
|
Includes the timestamp in the DNS query and response messages. Accepted values: |
|
No |
|
Includes the DNS view in the query and response messages. Accepted values: |
|
No |
|
Name of the log publisher used for DNS log messages. Maximum length is 255 characters. |
spec.protocolInspection¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Turns protocol inspection logging on or off. Accepted values: |
|
No |
|
Name of the |
|
No |
|
Turns on logging of the packet payload that matches the protocol inspection profile. Accepted values: |
spec.algLogging¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Turns on the ALG logging feature. Accepted values: |
|
No |
|
Name of the |
|
No |
|
Generates log entries in comma-separated values (CSV) format. Accepted values: |
|
No |
|
Logging configuration for ALG data channel events. |
|
No |
|
Logging configuration for ALG control channel events. |
spec.algLogging.dataChannel¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Logging configuration for data channel start events, when a data channel connection is established. |
|
No |
|
Logging configuration for data channel end events, when a data channel connection is terminated. |
spec.algLogging.controlChannel¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Logging configuration for control channel start events, when a control channel connection is established. |
|
No |
|
Logging configuration for control channel end events, when a control channel connection is terminated. |
Note
Each start and end object under spec.algLogging.dataChannel and spec.algLogging.controlChannel accepts a mode field (accepted values: disabled, enabled; default disabled) and an includeDestAddrPort field (accepted values: true, false; default false).
spec.pe¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
Yes |
|
Type of PE reporting. Accepted values: |
|
No |
|
Fields to include in PE reports. The accepted values depend on |
|
No |
|
Usage volume thresholds that trigger PE reports. |
|
No |
|
Interval threshold, in seconds, for generating periodic reports. When set to |
|
No |
|
Script that formats the log messages. The script runs on the BIG-IP system and customizes the log message format. Maximum length is 65520 characters. |
spec.pe.usageVolumeThreshold¶
Field |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Downlink data volume threshold, in bytes, that triggers a PE report. Accepted values: 0 to 4294967295. |
|
No |
|
Uplink data volume threshold, in bytes, that triggers a PE report. Accepted values: 0 to 4294967295. |
|
No |
|
Combined uplink and downlink data volume threshold, in bytes, that triggers a PE report. Accepted values: 0 to 4294967295. |
Sample Manifests for F5BigLogHslpub and F5BigLogProfile¶
Install the
F5BigLogHslpubresource:
apiVersion: k8s.f5net.com/v1
kind: F5BigLogHslpub
metadata:
name: hsl-publisher
namespace: f5-bnk
spec:
pool:
-
name: hsl-pool
endpoint:
- 11.19.10.100:514
syslog:
-
name: syslog
format: rfc5424
protocol: tcp
pool: hsl-pool
Install the
F5BigLogProfileresource:
apiVersion: k8s.f5net.com/v2
kind: F5BigLogProfile
metadata:
name: "logprofile"
namespace: f5-bnk
spec:
publisher: "hsl-publisher"
firewall:
enabled: true
network:
events:
aclMatchAccept: true
aclMatchDrop: true
aclMatchReject: true
Attach the
F5BigLogProfiletospec.targetRefsGateway/GatewayClass/Gateway Listener in aSecPolicyresource.
apiVersion: "gateway.k8s.f5.com/v1alpha1"
kind: SecPolicy
metadata:
name: secpolicy-global
namespace: f5-bnk
spec:
extensionRefs:
- kind: F5BigLogProfile
name: logprofile
group: k8s.f5net.com
targetRefs:
- kind: GatewayClass
name: f5-gateway-class
group: gateway.networking.k8s.io
The log message indicates that the F5BigLogProfile resource was added/updated:
kubectl create -f logprofile.yaml
f5biglogprofile.k8s.f5net.com/logprofile created
kubectl get -f logprofile.yaml
NAME READY MESSAGE AGE
logprofile True CR config sent to all grpc endpoints 2s
kubectl describe -f logprofile.yaml
..
Status:
Conditions:
Last Transition Time: 2026-03-18T13:41:02Z
Message:
Observed Generation: 0
Reason: Accepted
Status: True
Type: Accepted
Last Transition Time: 2026-03-18T13:41:02Z
Message: CR config sent to all grpc endpoints
Observed Generation: 2
Reason: Programmed
Status: True
Type: Programmed
Generation Id: 0
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Added/Updated 22s f5-cne-controller LogProfile alpha/logprofile was added/updated
user-defined Field List Manifest¶
apiVersion: "k8s.f5net.com/v1"
kind: F5BigLogProfile
metadata:
name: "log-profile"
namespace: f5-bnk
spec:
firewall:
enabled: true
network:
publisher: "hsl-publisher"
events:
aclMatchAccept: true
aclMatchDrop: true
aclMatchReject: true
translationFields: true
format:
type: user-defined
userDefinedFieldList: "DateTime:${date_time},Host:${bigip_hostname},MgmtIP:${management_ip_address},FwPolicy:${acl_policy_name},SrcIP:${src_ip},SrcPort:${src_port},DstIP:${dest_ip},DstPort:${dest_port},TrSrcIP:${translated_src_ip},TrDstIP:${translated_dest_ip},TrSrcPort:${translated_src_port},TrDstPort:${translated_dest_port},Protocol:${protocol},Action:${action},Context:${context_name}"
field-list Manfest¶
apiVersion: "k8s.f5net.com/v1"
kind: F5BigLogProfile
metadata:
name: "log-profile"
namespace: f5-bnk
spec:
firewall:
enabled: true
network:
publisher: "hsl-publisher"
events:
aclMatchAccept: true
aclMatchDrop: true
aclMatchReject: true
translationFields: true
format:
type: field-list
networkFieldList:
delimiter: ";"
items:
- "date_time"
- "bigip_hostname"
- "management_ip_address"
- "acl_policy_name"
- "src_ip"
- "src_port"
- "dest_ip"
- "dest_port"
- "translated_src_ip"
- "translated_dest_ip"
- "translated_src_port"
- "translated_dest_port"
- "protocol"
- "action"
- "context_name"
Example manifest¶
apiVersion: k8s.f5net.com/v1
kind: F5BigLogHslpub
metadata:
name: hsl-publisher
namespace: f5-bnk
spec:
pool:
-
name: hsl-pool
endpoint:
- 11.19.10.100:514
syslog:
-
name: syslog
format: rfc5424
protocol: tcp
pool: hsl-pool