# bigip_log_destination – Manages log destinations on a BIG-IP

New in version 2.6.

- Synopsis
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- Manages log destinations on a BIG-IP.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
address string added in 2.8 |  | Specifies the IP address that will receive messages from the specified local Log Destination. This parameter is only available when `type` is `management-port`. When creating a new log destination and `type` is `management-port`, this parameter is required.
description string |  | The description of the log destination.

distribution
string
added in 2.8

Choices:
- adaptive
- balanced
- replicated

Specifies the distribution method used by the Remote High Speed Log destination to send messages to pool members.
When `adaptive`, connections to pool members will be added as required to provide enough logging bandwidth. This can have the undesirable effect of logs accumulating on only one pool member when it provides sufficient logging bandwidth on its own.
When `balanced`, sends each successive log to a new pool member, balancing the logs among them according to the pool's load balancing method.
When `replicated`, replicates each log to all pool members, for redundancy.
When creating a new log destination and `type` is `remote-high-speed-log`, if this parameter is not specified, the default is `adaptive`.

forward_to
string
added in 2.8

When `type` is `remote-syslog`, specifies the management port log destination, which will be used to forward the logs to a single log server, or a remote high-speed log destination, which will be used to forward the logs to a pool of remote log servers.
When `type` is `splunk` or `arcsight`, specifies the log destination to which logs are forwarded. This log destination may be a management port destination, a remote high-speed log destination, or a remote Syslog destination which is configured to send logs to an ArcSight or Splunk server.
When creating a new log destination and `type` is `remote-syslog`, `splunk`, or `arcsight`, this parameter is required.

name string / required |  | Specifies the name of the log destination.
partition string | Default: "Common" | Device partition to manage resources on.

pool
string
added in 2.8

When `type` is `remote-high-speed-log`, specifies the existing pool of remote high-speed log servers where logs will be sent.
When `type` is `ipfix`, specifies the existing LTM pool of remote IPFIX collectors. Any BIG-IP application that uses this log destination sends its IP-traffic logs to this pool of collectors.
When creating a new destination and `type` is `remote-high-speed-log` or `ipfix`, this parameter is required.

pool_settings dictionary |  | This parameter is only available when `type` is `remote-high-speed-log`. Deprecated. Use the equivalent top-level parameters instead.

distribution
string

Choices:
- adaptive
- balanced
- replicated

Specifies the distribution method used by the Remote High Speed Log destination to send messages to pool members.
When `adaptive`, connections to pool members will be added as required to provide enough logging bandwidth. This can have the undesirable effect of logs accumulating on only one pool member when it provides sufficient logging bandwidth on its own.
When `balanced`, sends each successive log to a new pool member, balancing the logs among them according to the pool's load balancing method.
When `replicated`, replicates each log to all pool members, for redundancy.
When creating a new log destination (and `type` is `remote-high-speed-log`), if this parameter is not specified, the default is `adaptive`.

| pool string |  | Specifies the existing pool of remote high-speed log servers where logs will be sent. When creating a new destination (and `type` is `remote-high-speed-log`), this parameter is required.

protocol
string

Choices:
- tcp
- udp

Specifies the protocol for the system to use to send logs to the pool of remote high-speed log servers, where the logs are stored.
When creating a new log destination (and `type` is `remote-high-speed-log`), if this parameter is not specified, the default is `tcp`.

port integer added in 2.8 |  | Specifies the port of the IP address that will receive messages from the specified local Log Destination. This parameter is only available when `type` is `management-port`. When creating a new log destination and `type` is `management-port`, this parameter is required.

protocol
string
added in 2.8

Choices:
- tcp
- udp
- ipfix
- netflow-9

When `type` is `remote-high-speed-log`, specifies the protocol for the system to use to send logs to the pool of remote high-speed log servers, where the logs are stored.
When `type` is `ipfix`, can be IPFIX or Netflow v9, depending on the type of collectors you have in the pool that you specify.
When `type` is `management-port`, specifies the protocol used to send messages to the specified location.
When `type` is `management-port`, only `tcp` and `udp` are valid values.

provider dictionary added in 2.5 |  | A dict object containing connection details.
| auth_provider string |  | Configures the auth provider for to obtain authentication tokens from the remote device. This option is really used when working with BIG-IQ devices.
| password string / required |  | The password for the user account used to connect to the BIG-IP. You may omit this option by setting the environment variable `F5_PASSWORD`. aliases: pass, pwd
| server string / required |  | The BIG-IP host. You may omit this option by setting the environment variable `F5_SERVER`.
| server_port integer | Default: 443 | The BIG-IP server port. You may omit this option by setting the environment variable `F5_SERVER_PORT`.
| ssh_keyfile path |  | Specifies the SSH keyfile to use to authenticate the connection to the remote device. This argument is only used for cli transports. You may omit this option by setting the environment variable `ANSIBLE_NET_SSH_KEYFILE`.
| timeout integer |  | Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.

transport
string

Choices:
- cli
- rest ←

Configures the transport connection to use when connecting to the remote device.

| user string / required |  | The username to connect to the BIG-IP with. This user must have administrative privileges on the device. You may omit this option by setting the environment variable `F5_USER`.

validate_certs
boolean

Choices:
- no
- yes ←

If `no`, SSL certificates are not validated. Use this only on personally controlled sites using self-signed certificates.
You may omit this option by setting the environment variable `F5_VALIDATE_CERTS`.

server_ssl_profile string added in 2.8 |  | If the `transport_profile` is a TCP profile, you can use this field to choose a Secure Socket Layer (SSL) profile for sending logs to the IPFIX collectors. An SSL server profile defines how to communicate securely over SSL or Transport Layer Security (TLS). This parameter is only available when `type` is `ipfix`.

state
string

Choices:
- present ←
- absent

When `present`, ensures that the resource exists.
When `absent`, ensures the resource is removed.

syslog_format
string
added in 2.8

Choices:
- bsd-syslog
- syslog
- legacy-bigip
- rfc5424
- rfc3164

Specifies the method to use to format the logs associated with the remote Syslog log destination.
When creating a new log destination (and `type` is `remote-syslog`), if this parameter is not specified, the default is `bsd-syslog`.
The `syslog` and `rfc5424` choices are two ways of saying the same thing.
The `bsd-syslog` and `rfc3164` choices are two ways of saying the same thing.

syslog_settings dictionary |  | This parameter is only available when `type` is `remote-syslog`. Deprecated. Use the equivalent top-level parameters instead.
| forward_to string |  | Specifies the management port log destination, which will be used to forward the logs to a single log server, or a remote high-speed log destination, which will be used to forward the logs to a pool of remote log servers. When creating a new log destination (and `type` is `remote-syslog`), this parameter is required.

syslog_format
string

Choices:
- bsd-syslog
- syslog
- legacy-bigip
- rfc5424
- rfc3164

Specifies the method to use to format the logs associated with the remote Syslog log destination.
When creating a new log destination (and `type` is `remote-syslog`), if this parameter is not specified, the default is `bsd-syslog`.
The `syslog` and `rfc5424` choices are two ways of saying the same thing.
The `bsd-syslog` and `rfc3164` choices are two ways of saying the same thing.

template_delete_delay integer added in 2.8 |  | Enter the time (in seconds) that the BIG-IP device should pause between deleting an obsolete IPFIX template and reusing its template ID. This feature is useful for systems where you use iRules to create customized IPFIX templates.

template_retransmit_interval
integer
added in 2.8

Enter the time (in seconds) between each transmission of IPFIX templates to the pool of IPFIX collectors.
The logging destination periodically retransmits all of its IPFIX templates at the interval you set in this field. These retransmissions are helpful for UDP, a lossy transport mechanism.
This parameter is only available when `type` is `ipfix`.

transport_profile string added in 2.8 |  | Is a transport profile based on either TCP or UDP. This profile defines the TCP or UDP options used to send IP-traffic logs to the pool of collectors. This parameter is only available when `type` is `ipfix`.

type
string / required

Choices:
- remote-high-speed-log
- remote-syslog
- arcsight
- splunk
- management-port
- ipfix

Specifies the type of log destination.
Once created, this parameter cannot be changed.

## Notes

Note

- For more information on using Ansible to manage F5 Networks devices see https://www.ansible.com/integrations/networks/f5.
- Requires BIG-IP software version >= 12.
- The F5 modules only manipulate the running configuration of the F5 product. To ensure that BIG-IP specific configuration persists to disk, be sure to include at least one task that uses the bigip_config module to save the running configuration. Refer to the module’s documentation for the correct usage of the module to save your running configuration.

## Examples

    - name: Create a high-speed logging destination
      bigip_log_destination:
        name: foo
        type: remote-high-speed-log
        pool: my-ltm-pool
        provider:
          password: secret
          server: lb.mydomain.com
          user: admin
      delegate_to: localhost

    - name: Create a remote-syslog logging destination
      bigip_log_destination:
        name: foo
        type: remote-syslog
        syslog_format: rfc5424
        forward_to: my-destination
        provider:
          password: secret
          server: lb.mydomain.com
          user: admin
      delegate_to: localhost

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
address string | changed | The new Address value. Sample: 1.2.3.2
distribution string | changed | The new Distribution Method value. Sample: balanced
forward_to string | changed | The new Forward To value. Sample: /Common/dest1
pool string | changed | The new Pool value. Sample: /Common/pool1
port integer | changed | The new Port value. Sample: 2020
protocol string | changed | The new Protocol value. Sample: tcp
server_ssl_profile string | changed | The new Server SSL Profile value. Sample: /Common/serverssl
syslog_format string | changed | The new Syslog format value. Sample: syslog
template_delete_delay integer | changed | The new Template Delete Delay value. Sample: 20
template_retransmit_interval integer | changed | The new Template Retransmit Interval value. Sample: 200
transport_profile string | changed | The new Transport Profile value. Sample: /Common/tcp

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by an Ansible Partner. [certified]

### Authors

- Tim Rupp (@caphrim007)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.