Logging

Information About Logging

System logging is a method of collecting messages from devices to a server running a syslog daemon. Logging to a central syslog server helps in aggregation of logs and alerts. Cisco devices can send their log messages to a UNIX-style syslog service. A syslog service accepts messages and stores them in files, or prints them according to a simple configuration file. This form of logging provides protected long-term storage for logs. Logs are useful both in routine troubleshooting and in incident handling.

The ASA system logs provide you with information for monitoring and troubleshooting the ASA. With the logging feature, you can do the following:

  • Specify which syslog messages should be logged.
  • Disable or change the severity level of a syslog message.
  • Specify one or more locations where syslog messages should be sent, including an internal buffer, one or more syslog servers, ASDM, an SNMP management station, specified e-mail addresses, or to Telnet and SSH sessions.
  • Configure and manage syslog messages in groups, such as by severity level or class of message.
  • Specify whether or not a rate-limit is applied to syslog generation.
  • Specify what happens to the contents of the internal log buffer when it becomes full: overwrite the buffer, send the buffer contents to an FTP server, or save the contents to internal flash memory.
  • Filter syslog messages by locations, severity level, class, or a custom message list.

This section includes the following topics:

Logging in Multiple Context Mode

Each security context includes its own logging configuration and generates its own messages. If you log in to the system or admin context, and then change to another context, messages you view in your session are only those messages that are related to the current context.

Syslog messages that are generated in the system execution space, including failover messages, are viewed in the admin context along with messages generated in the admin context. You cannot configure logging or view any logging information in the system execution space.

You can configure the ASA and ASASM to include the context name with each message, which helps you differentiate context messages that are sent to a single syslog server. This feature also helps you to determine which messages are from the admin context and which are from the system; messages that originate in the system execution space use a device ID of system, and messages that originate in the admin context use the name of the admin context as the device ID.

Analyzing Syslog Messages

The following are some examples of the type of information you can obtain from a review of various syslog messages:

  • Connections that are allowed by ASA and ASASM security policies. These messages help you spot holes that remain open in your security policies.
  • Connections that are denied by ASA and ASASM security policies. These messages show what types of activity are being directed toward your secured inside network.
  • Using the ACE deny rate logging feature shows attacks that are occurring on your ASA or ASA Services Module.
  • IDS activity messages can show attacks that have occurred.
  • User authentication and command usage provide an audit trail of security policy changes.
  • Bandwidth usage messages show each connection that was built and torn down as well as the duration and traffic volume used.
  • Protocol usage messages show the protocols and port numbers used for each connection.
  • Address translation audit trail messages record NAT or PAT connections being built or torn down, which are useful if you receive a report of malicious activity coming from inside your network to the outside world.

Syslog Message Format

Syslog messages begin with a percent sign (%) and are structured as follows:

%ASA Level Message_number: Message_text

Field descriptions are as follows:

ASA

The syslog message facility code for messages that are generated by the ASA and ASASM. This value is always ASA.

Level

1 through 7. The level reflects the severity of the condition described by the syslog message—the lower the number, the more severe the condition. See Table 46-1 for more information.

Message_number

A unique six-digit number that identifies the syslog message.

Message_text

A text string that describes the condition. This portion of the syslog message sometimes includes IP addresses, port numbers, or usernames.

Severity Levels

Table 46-1 lists the syslog message severity levels. You can assign custom colors to each of the severity levels to make it easier to distinguish them in the ASDM log viewers. To configure syslog message color settings, either choose the Tools > Preferences > Syslog tab or, in the log viewer itself, click Color Settings on the toolbar.

 

Table 46-1 Syslog Message Severity Levels

Level Number
Severity Level
Description

0

emergencies

System is unusable.

1

alert

Immediate action is needed.

2

critical

Critical conditions.

3

error

Error conditions.

4

warning

Warning conditions.

5

notification

Normal but significant conditions.

6

informational

Informational messages only.

7

debugging

Debugging messages only.


Note The ASA and ASASM do not generate syslog messages with a severity level of zero (emergencies). This level is provided in the logging command for compatibility with the UNIX syslog feature but is not used by the ASA.


Message Classes and Range of Syslog IDs

For a list of syslog message classes and the ranges of syslog message IDs that are associated with each class, see the syslog messages guide.

Filtering Syslog Messages

You can filter generated syslog messages so that only certain syslog messages are sent to a particular output destination. For example, you could configure the ASA and ASASM to send all syslog messages to one output destination and to send a subset of those syslog messages to a different output destination.

Specifically, you can configure the ASA and ASASM so that syslog messages are directed to an output destination according to the following criteria:

  • Syslog message ID number
  • Syslog message severity level
  • Syslog message class (equivalent to a functional area of the ASA and ASASM)

You customize these criteria by creating a message list that you can specify when you set the output destination. Alternatively, you can configure the ASA or ASASM to send a particular message class to each type of output destination independently of the message list.

You can use syslog message classes in two ways:

  • Specify an output location for an entire category of syslog messages using the logging class command.
  • Create a message list that specifies the message class using the logging list command.

The syslog message class provides a method of categorizing syslog messages by type, equivalent to a feature or function of the ASA and ASASM. For example, the vpnc class denotes the VPN client.

All syslog messages in a particular class share the same initial three digits in their syslog message ID numbers. For example, all syslog message IDs that begin with the digits 611 are associated with the vpnc (VPN client) class. Syslog messages associated with the VPN client feature range from 611101 to 611323.

In addition, most of the ISAKMP syslog messages have a common set of prepended objects to help identify the tunnel. These objects precede the descriptive text of a syslog message when available. If the object is not known at the time that the syslog message is generated, the specific heading = value combination does not appear.

The objects are prefixed as follows:

Group = groupname, Username = user, IP = IP_address

Where the group is the tunnel-group, the username is the username from the local database or AAA server, and the IP address is the public IP address of the remote access client or L2L peer.

Using Custom Message Lists

Creating a custom message list is a flexible way to exercise control over which syslog messages are sent to which output destination. In a custom syslog message list, you specify groups of syslog messages using any or all of the following criteria: severity level, message IDs, ranges of syslog message IDs, or message class.

For example, you can use message lists to do the following:

  • Select syslog messages with the severity levels of 1 and 2 and send them to one or more e-mail addresses.
  • Select all syslog messages associated with a message class (such as ha) and save them to the internal buffer.

A message list can include multiple criteria for selecting messages. However, you must add each message selection criterion with a new command entry. It is possible to create a message list that includes overlapping message selection criteria. If two criteria in a message list select the same message, the message is logged only once.

Using Clustering

Syslog messages are an invaluable tool for accounting, monitoring, and troubleshooting in a clustering environment. Each ASA unit in the cluster (up to eight units are allowed) generates syslog messages independently; certain logging commands then enable you to control header fields, which include a timestamp and device ID. The syslog server uses the device ID to identify the syslog generator. You can use the logging device-id command to generate syslog messages with identical or different device IDs to make messages appear to come from the same or different units in the cluster.

Licensing Requirements for Logging

 

Model
License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Prerequisites for Logging

Logging has the following prerequisites:

  • The syslog server must run a server program called syslogd. Windows (except for Windows 95 and Windows 98) provides a syslog server as part of its operating system. For Windows 95 and Windows 98, you must obtain a syslogd server from another vendor.
  • To view logs generated by the ASA or ASASM, you must specify a logging output destination. If you enable logging without specifying a logging output destination, the ASA and ASASM generate messages but does not save them to a location from which you can view them. You must specify each different logging output destination separately. For example, to designate more than one syslog server as an output destination, enter a new command for each syslog server.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context modes.

Firewall Mode Guidelines

Supported in routed and transparent firewall modes.

IPv6 Guidelines

Does not support IPv6.

Additional Guidelines

  • Sending syslogs over TCP is not supported on a standby ASA.
  • The ASA supports the configuration of 16 syslog servers with the logging host command in single context mode. In multiple context mode, the limitation is 4 servers per context.
  • The syslog server should be reachable through the ASA and ASASM. You should configure the ASA SM to deny ICMP unreachable messages on the interface through which the syslog server is reachable and to send syslogs to the same server. Make sure that you have enabled logging for all severity levels. To prevent the syslog server from crashing, suppress the generation of syslogs 313001, 313004, and 313005.
  • When you use a custom message list to match only access list hits, the access list logs are not generated for access lists that have had their logging severity level increased to debugging (level 7). The default logging severity level is set to 6 for the logging list command. This default behavior is by design. When you explicitly change the logging severity level of the access list configuration to debugging, you must also change the logging configuration itself.

The following is sample output from the show running-config logging command that will not include access list hits, because their logging severity level has been changed to debugging:

ciscoasa# show running-config logging
logging enable
logging timestamp
logging list test message 106100
logging buffered test
 

The following is sample output from the show running-config logging command that will include access list hits:

ciscoasa# show running-config logging
logging enable
logging timestamp
logging buffered debugging
 

In this case, the access list configuration does not change and the number of access list hits appears, as shown in the following example:

ciscoasa(config)# access-list global line 1 extended permit icmp any host 4.2.2.2 log debugging interval 1 (hitcnt=7) 0xf36b5386
ciscoasa(config)# access-list global line 2 extended permit tcp host 10.1.1.2 any eq www log informational interval 1 (hitcnt=18) 0xe7e7c3b8
ciscoasa(config)# access-list global line 3 extended permit ip any any (hitcnt=543) 0x25f9e609
 

Configuring Logging

This section describes how to configure logging and includes the following topics:


Note The minimum configuration depends on what you want to do and what your requirements are for handling syslog messages in the ASA and ASASM.


Enabling Logging

To enable logging, enter the following command:

 

Command
Purpose
logging enable
 

hostname(config) # logging enable

Enables logging. To disable logging, enter the no logging enable command.

What to Do Next

See Configuring an Output Destination.

Configuring an Output Destination

To optimize syslog message usage for troubleshooting and performance monitoring, we recommend that you specify one or more locations where syslog messages should be sent, including an internal log buffer, one or more external syslog servers, ASDM, an SNMP management station, the console port, specified e-mail addresses, or Telnet and SSH sessions.

This section includes the following topics:

Sending Syslog Messages to an External Syslog Server

You can archive messages according to the available disk space on the external syslog server, and manipulate logging data after it is saved. For example, you could specify actions to be executed when certain types of syslog messages are logged, extract data from the log and save the records to another file for reporting, or track statistics using a site-specific script.

To send syslog messages to an external syslog server, perform the following steps:

 

Command
Purpose

Step 1

logging host interface_name syslog_ip [ tcp [/ port ] | udp [/ port ] [ format emblem ]]
 

ciscoasa(config)# logging host dmz1 192.168.1.5 udp 1026 format emblem

Configures the ASA and ASASM to send messages to a syslog server.

The format emblem keyword enables EMBLEM format logging for the syslog server with UDP only. The interface_name argument specifies the interface through which you access the syslog server. The syslog_ip argument specifies the IP address of the syslog server. The tcp [ / port ] or udp [ / port ] keyword and argument pair specify that the ASA and ASASM should use TCP or UDP to send syslog messages to the syslog server.

You can configure the ASA to send data to a syslog server using either UDP or TCP, but not both. The default protocol is UDP if you do not specify a protocol.

If you specify TCP, the ASA and ASASM discover when the syslog server fails and as a security protection, new connections through the ASA and ASA Services Module are blocked. To allow new connections regardless of connectivity to a TCP syslog server, see Step 3. If you specify UDP, the ASA and ASASM continue to allow new connections whether or not the syslog server is operational. Valid port values for either protocol are 1025 through 65535. The default UDP port is 514. The default TCP port is 1470.

Step 2

logging trap { severity_level | message_list }
 

ciscoasa(config)# logging trap errors

Specifies which syslog messages should be sent to the syslog server. You can specify the severity level number (1 through 7) or name. For example, if you set the severity level to 3, then the ASA and ASASM send syslog messages for severity levels 3, 2, and 1. You can specify a custom message list that identifies the syslog messages to send to the syslog server.

Step 3

logging permit-hostdown
 

ciscoasa(config)# logging permit-hostdown

(Optional) Disables the feature to block new connections when a TCP-connected syslog server is down. If the ASA or ASASM is configured to send syslog messages to a TCP-based syslog server, and if either the syslog server is down or the log queue is full, then new connections are blocked. New connections are allowed again after the syslog server is back up and the log queue is no longer full. For more information about the log queue, see Configuring the Logging Queue.

Step 4

logging facility number

 

ciscoasa(config)# logging facility 21

(Optional) Sets the logging facility to a value other than 20, which is what most UNIX systems expect.

Sending Syslog Messages to the Internal Log Buffer

You need to specify which syslog messages should be sent to the internal log buffer, which serves as a temporary storage location. New messages are appended to the end of the list. When the buffer is full, that is, when the buffer wraps, old messages are overwritten as new messages are generated, unless you configure the ASA and ASASM to save the full buffer to another location.To send syslog messages to the internal log buffer, perform the following steps:

 

Command
Purpose

Step 1

logging buffered { severity_level | message_list }
 

ciscoasa(config)# logging buffered critical

 

ciscoasa(config)# logging buffered level 2

 

ciscoasa(config)# logging buffered notif-list

Specifies which syslog messages should be sent to the internal log buffer, which serves as a temporary storage location. New messages are appended to the end of the list. When the buffer is full, that is, when the buffer wraps, old messages are overwritten as new messages are generated, unless you configure the ASA and ASASM to save the full buffer to another location. To empty the internal log buffer, enter the clear logging buffer command.

Step 2

logging buffer-size bytes
 

ciscoasa(config)# logging buffer-size 16384

Changes the size of the internal log buffer. The default buffer size is 4 KB.

Step 3

Choose one of the following options:

 

logging flash-bufferwrap
 

ciscoasa(config)# logging flash-bufferwrap

When saving the buffer content to another location, the ASA and ASASM create log files with names that use the following time-stamp format:

LOG-YYYY-MM-DD-HHMMSS.TXT
 

where YYYY is the year, MM is the month, DD is the day of the month, and HHMMSS is the time in hours, minutes, and seconds.

The ASA and ASASM continue to save new messages to the internal log buffer and save the full log buffer content to the internal flash memory.

 

logging ftp-bufferwrap
 

ciscoasa(config)# logging ftp-bufferwrap

When saving the buffer content to another location, the ASA and ASASM create log files with names that use the following time-stamp format:

LOG-YYYY-MM-DD-HHMMSS.TXT
 

where YYYY is the year, MM is the month, DD is the day of the month, and HHMMSS is the time in hours, minutes, and seconds.

The ASA and ASASM continue saving new messages to the internal log buffer and saves the full log buffer content to an FTP server.

 

logging ftp-server server path username password
 

ciscoasa(config)# logging ftp-server 10.1.1.1 /syslogs logsupervisor 1luvMy10gs

Identifies the FTP server on which you want to store log buffer content. The server argument specifies the IP address of the external FTP server. The path argument specifies the directory path on the FTP server where the log buffer data is to be saved. This path is relative to the FTP root directory. The username argument specifies a username that is valid for logging into the FTP server. The password argument indicates the password for the username specified.

 

logging savelog [ savefile ]
 

ciscoasa(config)# logging savelog latest-logfile.txt

Saves the current log buffer content to the internal flash memory.

Sending Syslog Messages to an E-mail Address

To send syslog messages to an e-mail address, perform the following steps:

 

Command
Purpose

Step 1

logging mail { severity_level | message_list }
 

hostname(config) # logging mail high-priority

Specifies which syslog messages should be sent to an e-mail address. When sent by e-mail, a syslog message appears in the subject line of the e-mail message. For this reason, we recommend configuring this option to notify administrators of syslog messages with high severity levels, such as critical, alert, and emergency.

Step 2

logging from-address email_address
 

ciscoasa(config)# logging from-address xxx-001@example.com

Specifies the source e-mail address to be used when sending syslog messages to an e-mail address.

Step 3

logging recipient-address e-mail_address [severity_level]
 

ciscoasa(config)# logging recipient-address admin@example.com

Specifies the recipient e-mail address to be used when sending syslog messages to an e-mail address.

Step 4

smtp-server ip_address
 

ciscoasa(config)# smtp-server 10.1.1.1

Specifies the SMTP server to be used when sending syslog messages to an e-mail address.

Sending Syslog Messages to ASDM

To send syslog messages to ASDM, perform the following steps:

 

Command
Purpose

Step 1

logging asdm { severity_level | message_list }
 

ciscoasa(config)# logging asdm 2

Specifies which syslog messages should be sent to ASDM. The ASA or ASASM sets aside a buffer area for syslog messages waiting to be sent to ASDM and saves messages in the buffer as they occur. The ASDM log buffer is a different buffer than the internal log buffer. When the ASDM log buffer is full, the ASA or ASASM deletes the oldest syslog message to make room in the buffer for new ones. Deletion of the oldest syslog message to make room for new ones is the default setting in ASDM. To control the number of syslog messages retained in the ASDM log buffer, you can change the size of the buffer.

Step 2

logging asdm-buffer-size num_of_msgs
 

ciscoasa(config)# logging asdm-buffer-size 200

Specifies the number of syslog messages to be retained in the ASDM log buffer. To empty the current content of the ASDM log buffer, enter the clear logging asdm command.

Sending Syslog Messages to the Console Port

To send syslog messages to the console port, enter the following command:

 

Command
Purpose
logging console { severity_level | message_list }
 

hostname(config) # logging console errors

Specifies which syslog messages should be sent to the console port.

Sending Syslog Messages to an SNMP Server

To enable logging to an SNMP server, enter the following command:

 

Command
Purpose
logging history [ logging_list | level ]
 

hostname(config) # logging history errors

Enables SNMP logging and specifies which messages are to be sent to SNMP servers. To disable SNMP logging, enter the no logging history command.

Sending Syslog Messages to a Telnet or SSH Session

To send syslog messages to a Telnet or SSH session, perform the following steps:

 

Command
Purpose

Step 1

logging monitor { severity_level | message_list }
 

ciscoasa(config)# logging monitor 6

Specifies which syslog messages should be sent to a Telnet or SSH session.

Step 2

terminal monitor
 

ciscoasa(config)# terminal monitor

Enables logging to the current session only. If you log out and then log in again, you need to reenter this command. To disable logging to the current session, enter the terminal no monitor command.

Creating a Custom Event List

To create a custom event list, perform the following steps:

 

Command
Purpose

Step 1

logging list name { level level [ class message_class ] | message start_id [ - end_id ]}
 

ciscoasa(config)# logging list notif-list level 3

Specifies criteria for selecting messages to be saved in the internal log buffer. For example, if you set the severity level to 3, then the ASA sends syslog messages for severity levels 3, 2, and 1.

The name argument specifies the name of the list. The level level keyword and argument pair specify the severity level. The class message_class keyword and argument pair specify a particular message class. The message start_id [ - end_id ] keyword and argument pair specify an individual syslog message number or a range of numbers.

Note Do not use the names of severity levels as the name of a syslog message list. Prohibited names include emergencies, alert, critical, error, warning, notification, informational, and debugging. Similarly, do not use the first three characters of these words at the beginning of an event list name. For example, do not use an event list name that starts with the characters err.

Step 2

logging list name { level level [ class message_class ] | message start_id [ - end_id ]}
 

ciscoasa(config)# logging list notif-list message 104024-105999

 

ciscoasa(config)# logging list notif-list level critical

 

ciscoasa(config)# logging list notif-list level warning class ha

(Optional) Adds more criteria for message selection to the list. Enter the same command as in the previous step, specifying the name of the existing message list and the additional criterion. Enter a new command for each criterion that you want to add to the list. For example, you can specify criteria for syslog messages to be included in the list as the following:

  • Syslog message IDs that fall into the range of 104024 to 105999.
  • All syslog messages with the critical severity level or higher (emergency, alert, or critical).
  • All ha class syslog messages with the warning severity level or higher (emergency, alert, critical, error, or warning).

Note A syslog message is logged if it satisfies any of these conditions. If a syslog message satisfies more than one of the conditions, the message is logged only once.

Generating Syslog Messages in EMBLEM Format to a Syslog Server

To generate syslog messages in EMBLEM format to a syslog server, enter the following command:

 

Command
Purpose
logging host interface_name ip_address { tcp [/ port ] | udp [/ port ]] [ format emblem ]
 

ciscoasa(config)# logging host interface_1 127.0.0.1 udp format emblem

Sends syslog messages in EMBLEM format to a syslog server over UDP using port 514.

The format emblem keyword enables EMBLEM format logging for the syslog server (UDP only). The interface_name argument specifies the interface through which you access the syslog server. The ip_address argument specifies the IP address of the syslog server. The tcp[/ port ] or udp[/ port ] keyword and argument pair specify that the ASA and ASASM should use TCP or UDP to send syslog messages to the syslog server.

You can configure the ASA and ASASM to send data to a syslog server using either UDP or TCP, but not both. The default protocol is UDP if you do not specify a protocol.

You can use multiple logging host commands to specify additional servers that would all receive syslog messages. If you configure two or more logging servers, make sure that you limit the logging severity level to warnings for all logging servers.

If you specify TCP, the ASA or ASASM discovers when the syslog server fails and as a security protection, new connections through the ASA are blocked. If you specify UDP, the ASA or ASASM continues to allow new connections whether or not the syslog server is operational. Valid port values for either protocol are 1025 through 65535. The default UDP port is 514. The default TCP port is 1470.

Note Sending syslogs over TCP is not supported on a standby ASA.

Generating Syslog Messages in EMBLEM Format to Other Output Destinations

To generate syslog messages in EMBLEM format to other output destinations, enter the following command:

 

Command
Purpose
logging emblem
 

ciscoasa(config)# logging emblem

Sends syslog messages in EMBLEM format to output destinations other than a syslog server, such as Telnet or SSH sessions.

Changing the Amount of Internal Flash Memory Available for Logs

To change the amount of internal flash memory available for logs, perform the following steps:

 

Command
Purpose

Step 1

logging flash-maximum-allocation kbytes
 

hostname(config) # logging flash-maximum-allocation 1200

Specifies the maximum amount of internal flash memory available for saving log files. By default, the ASA can use up to 1 MB of internal flash memory for log data. The minimum amount of internal flash memory that must be free for the ASA and ASASMto save log data is 3 MB.

If a log file being saved to internal flash memory would cause the amount of free internal flash memory to fall below the configured minimum limit, the ASA or ASASM deletes the oldest log files to ensure that the minimum amount of memory remains free after saving the new log file. If there are no files to delete or if, after all old files have been deleted, free memory is still below the limit, the ASA or ASASM fails to save the new log file.

Step 2

logging flash-minimum-free kbytes
 

hostname(config) # logging flash-minimum-free 4000

Specifies the minimum amount of internal flash memory that must be free for the ASA or ASASM to save a log file.

Configuring the Logging Queue

To configure the logging queue, enter the following command:

 

Command
Purpose
logging queue message_count
 

ciscoasa(config)# logging queue 300

Specifies the number of syslog messages that the ASA and ASASM can hold in its queue before sending them to the configured output destination. The ASA and ASASM have a fixed number of blocks in memory that can be allocated for buffering syslog messages while they are waiting to be sent to the configured output destination. The number of blocks required depends on the length of the syslog message queue and the number of syslog servers specified. The default queue size is 512 syslog messages. The queue size is limited only by block memory availability. Valid values are from 0 to 8192 messages, depending on the platform. If the logging queue is set to zero, the queue is the maximum configurable size (8192 messages), depending on the platform. The maximum queue size by platform is as follows:

  • ASA-5505—1024
  • On all other platforms—8192

Sending All Syslog Messages in a Class to a Specified Output Destination

To send all syslog messages in a class to a specified output destination, enter the following command:

 

Command
Purpose
logging class message_class { buffered | console | history | mail | monitor | trap } [ severity_level ]
 

ciscoasa(config)# logging class ha buffered alerts

Overrides the configuration in the specified output destination command. For example, if you specify that messages at severity level 7 should go to the internal log buffer and that ha class messages at severity level 3 should go to the internal log buffer, then the latter configuration takes precedence. The buffered, history, mail, monitor, and trap keywords specify the output destination to which syslog messages in this class should be sent. The history keyword enables SNMP logging. The monitor keyword enables Telnet and SSH logging. The trap keyword enables syslog server logging. Select one destination per command line entry. To specify that a class should go to more than one destination, enter a new command for each output destination.

Enabling Secure Logging

To enable secure logging, enter the following command:

 

Command
Purpose
logging host interface_name syslog_ip [ tcp /port | udp / port ] [ format emblem ] [ secure ]
 

ciscoasa(config)# logging host inside 10.0.0.1 TCP/1500 secure

Enables secure logging.

The interface_name argument specifies the interface on which the syslog server resides. The syslog_ip argument specifies the IP address of the syslog server. The port argument specifies the port (TCP or UDP) that the syslog server listens to for syslog messages. The tcp keyword specifies that the ASA or ASASM should use TCP to send syslog messages to the syslog server. The udp keyword specifies that the ASA or ASASM should use UDP to send syslog messages to the syslog server. The format emblem keyword enables EMBLEM format logging for the syslog server. The secure keyword specifies that the connection to the remote logging host should use SSL/TLS for TCP only.

Note Secure logging does not support UDP; an error occurs if you try to use this protocol.

Including the Device ID in Non-EMBLEM Format Syslog Messages

To include the device ID in non-EMBLEM format syslog messages, enter the following command:

 

Command
Purpose
logging device-id { cluster-id | context-name | hostname | ipaddress interface_name [ system ] | string text }
 

ciscoasa(config)# logging device-id hostname

 

ciscoasa(config)# logging device-id context-name

Configures the ASA or ASASM to include a device ID in non-EMBLEM-format syslog messages. You can specify only one type of device ID for syslog messages.The context-name keyword indicates that the name of the current context should be used as the device ID (applies to multiple context mode only). If you enable the logging device ID for the admin context in multiple context mode, messages that originate in the system execution space use a device ID of system, and messages that originate in the admin context use the name of the admin context as the device ID.

Note In an ASA cluster, always use the master unit IP address for the selected interface.

The cluster-id keyword specifies the unique name in the boot configuration of an individual ASA unit in the cluster as the device ID. The hostname keyword specifies that the hostname of the ASA should be used as the device ID. The ipaddress interface_name keyword-argument pair specifies that the interface IP address specified as interface_name should be used as the device ID. If you use the ipaddress keyword, the device ID becomes the specified ASA interface IP address, regardless of the interface from which the syslog message is sent. In the cluster environment, the system keyword dictates that the device ID becomes the system IP address on the interface. This keyword provides a single, consistent device ID for all syslog messages that are sent from the device. The string text keyword-argument pair specifies that the text string should be used as the device ID. The string can include as many as 16 characters.

You cannot use blank spaces or any of the following characters:

  • & (ampersand)
  • ‘ (single quote)
  • “ (double quote)
  • < (less than)
  • > (greater than)
  • ? (question mark)

Note If enabled, the device ID does not appear in EMBLEM-formatted syslog messages nor in SNMP traps.

IIncluding the Date and Time in Syslog Messages

To include the date and time in syslog messages, enter the following command:

 

Command
Purpose
logging timestamp

ciscoasa(config)# logging timestamp

 

ciscoasa(config)# logging timestamp

LOG-2008-10-24-081856.TXT

Specifies that syslog messages should include the date and time that they were generated. To remove the date and time from syslog messages, enter the no logging timestamp command.

Disabling a Syslog Message

To disable a specified syslog message, enter the following command:

 

Command
Purpose
no logging message message_number
 

 

ciscoasa(config)# no logging message 113019

Prevents the ASA or ASASM from generating a particular syslog message. To reenable a disabled syslog message, enter the logging message message_number command (for example, logging message 113019). To reenable logging of all disabled syslog messages, enter the clear config logging disabled command.

Changing the Severity Level of a Syslog Message

To change the severity level of a syslog message, enter the following command:

 

Command
Purpose
logging message message_ID level severity_level
 

hostname(config) # logging message 113019 level 5

Specifies the severity level of a syslog message. To reset the severity level of a syslog message to its setting, enter the no logging message message_ID level current_severity_level command (for example, no logging message 113019 level 5). To reset the severity level of all modified syslog messages to their settings, enter the clear configure logging level command.

Limiting the Rate of Syslog Message Generation

To limit the rate of syslog message generation, enter the following command:

 

Command
Purpose
logging rate-limit {unlimited | {num [interval]}} message syslog_id | level severity_level
 

hostname(config) # logging rate-limit 1000 600 level 6

Applies a specified severity level (1 through 7) to a set of messages or to an individual message (not the destination) within a specified time period. Rate limits affect the volume of messages being sent to all configured destinations. To reset the logging rate limit to the default value, enter the clear running-config logging rate-limit command. To reset the logging rate limit, enter the clear configure logging rate-limit command.

Monitoring the Logs

To monitor the logs in the log buffer or in real-timeand assist in monitoring the system performance, nter one of the following commands:

 

Command
Purpose
show logging

Shows syslog messages, including the severity level.

Note The maximum number of syslog messages that are available to view is 1000, which is the default setting. The maximum number of syslog messages that are available to view is 2000.

show logging message

Shows a list of syslog messages with modified severity levels and disabled syslog messages.

show logging message message_ID

Shows the severity level of a specific syslog message.

show logging queue

Shows the logging queue and queue statistics.

show logging rate-limit

Shows the disallowed syslog messages.

show running-config logging rate-limit

Shows the current logging rate-limit setting.

Examples

The following example shows the logging information that displays for the show logging command:

hostname(config)# show logging
Syslog logging: enabled
Facility: 16
Timestamp logging: disabled
Standby logging: disabled
Deny Conn when Queue Full: disabled
Console logging: disabled
Monitor logging: disabled
Buffer logging: disabled
Trap logging: level errors, facility 16, 3607 messages logged
Logging to infrastructure 10.1.2.3
History logging: disabled
Device ID: 'inside' interface IP address “10.1.1.1”
Mail logging: disabled
ASDM logging: disabled
 

 

Configuration Examples for Logging

The following examples show how to control both whether a syslog message is enabled and the severity level of the specified syslog message:

ciscoasa(config)# show logging message 403503
syslog 403503: -level errors (enabled)
 
ciscoasa(config)# logging message 403503 level 1
ciscoasa(config)# show logging message 403503
syslog 403503: -level errors, current-level alerts (enabled)
 
ciscoasa(config)# no logging message 403503
ciscoasa(config)# show logging message 403503
syslog 403503: -level errors, current-level alerts (disabled)
 
ciscoasa(config)# logging message 403503
ciscoasa(config)# show logging message 403503
syslog 403503: -level errors, current-level alerts (enabled)
 
ciscoasa(config)# no logging message 403503 level 3
ciscoasa(config)# show logging message 403503
syslog 403503: -level errors (enabled)
 

Feature History for Logging

Table 46-2 lists each feature change and the platform release in which it was implemented.

 

Table 46-2 Feature History for Logging

Feature Name
Platform Releases
Feature Information

Logging

7.0(1)

Provides ASA network logging information through various output destinations, and includes the option to view and save log files.

Rate limit

7.0(4)

Limits the rate at which syslog messages are generated.

We introduced the following command: logging rate-limit.

Logging list

7.2(1)

Creates a logging list to use in other commands to specify messages by various criteria (logging level, event class, and message IDs).

We introduced the following command: logging list.

Secure logging

8.0(2)

Specifies that the connection to the remote logging host should use SSL/TLS. This option is valid only if the protocol selected is TCP.

We modified the following command: logging host.

Logging class

8.0(4), 8.1(1)

Added support for the ipaa event class of logging messages.

We modified the following command: logging class.

Logging class and saved logging buffers

8.2(1)

Added support for the dap event class of logging messages.

We modified the following command: logging class.

Added support to clear the saved logging buffers (ASDM, internal, FTP, and flash).

We introduced the following command: clear logging queue bufferwrap.

Password encryption

8.3(1)

Added support for password encryption.

We modified the following command: logging ftp server.

Enhanced logging and connection blocking

8.3(2)

When you configure a syslog server to use TCP, and the syslog server is unavailable, the ASA blocks new connections that generate syslog messages until the server becomes available again (for example, VPN, firewall, and cut-through-proxy connections). This feature has been enhanced to also block new connections when the logging queue on the ASA is full; connections resume when the logging queue is cleared.

This feature was added for compliance with Common Criteria EAL4+. Unless required, we recommended allowing connections when syslog messages cannot be sent or received. To allow connections, continue to use the logging permit-hostdown command.

We modified the following command: show logging.

We introduced the following syslog messages: 414005, 414006, 414007, and 414008.

Clustering

9.0(1)

Added support for syslog message generation in a clustering environment on the ASA 5580 and 5585-X.

We modified the following command: logging device-id.