Syslog over TCP

Syslog 是发送事件通知消息的标准。这些消息可以存储在本地或外部日志服务器上。Syslog 使网络管理员能够整合日志消息,并从收集到的数据中获取见解。

Syslog 最初设计用于通过 UDP 工作,该 UDP 可以在同一网络中传输大量数据,并且最小程度地减少数据包丢失。然而,电信运营商更愿意通过 TCP 传输 syslog 数据,因为他们需要可靠的、有序的网络之间的数据传输(例如,电信跟踪用户活动),而 TCP 在网络故障的情况下提供重新传输。

Syslog over TCP 的工作原理

要了解 Syslog over TCP 的工作原理,请考虑两种假设情况:

Sam 是网络管理员,想要在外部 syslog 服务器上记录重要事件。

XYZ Telecom 是一家 Internet 服务提供商,必须在 syslog 服务器上传输和存储大量数据,以符合政府法规。

在这两种情况下,日志消息都必须通过可靠的通道传输,并安全地存储在外部 syslog 服务器上。与 UDP 不同,TCP 建立连接,安全地传输邮件,并重新传输(从发件人到接收人)任何由于网络故障而损坏或丢失的数据。

Citrix ADC 设备通过 UDP 向本地系统日志守护进程发送日志消息,并通过 TCP 或 UDP 向外部系统日志服务器发送日志消息。

对系统日志的 SNIP 支持

当审核日志模块生成系统日志消息时,它将使用 Citrix ADC 子网 IP (SNIP) 地址作为将消息发送到外部系统日志服务器的源地址。若要将 SNIP 配置为源地址,必须使其成为 netprofile 选项的一部分,并将 netprofile 绑定到系统日志操作。

注意

如果 netprofile 未绑定到系统日志操作,则将使用 Citrix ADC IP (NSIP) 作为向外部日志服务器传输数据的源地址。

内部日志记录中不支持使用 SNIP 地址。

审核日志的 FQDN 支持

以前,审核日志模块配置了日志消息发送到的外部 syslog 服务器的目标 IP 地址。现在,审核日志服务器使用完全限定域名 (FQDN) 而不是目标 IP 地址。FQDN 配置将 syslog 服务器的配置域名解析为相应的目标 IP 地址,以便从审核日志模块发送日志消息。要解决域名并避免基于域的服务问题,必须正确配置名称服务器。

注意

配置 FQDN 时,系统日志操作或 nslog 操作中同一 Citrix ADC 设备的服务器域名配置不受支持。

使用命令行界面配置 Syslog over TCP

使用命令行界面将 Citrix ADC 设备配置为通过 TCP 发送系统日志消息

在命令提示窗口中,键入:

    add audit syslogAction <name> (<serverIP> | ((<serverDomainName>[-domainResolveRetry <integer>]) | -lbVserverName<string>))[-serverPort <port>] -logLevel <logLevel>[-dateFormat <dateFormat>] [-logFacility <logFacility>]   [-tcp ( NONE | ALL )] [-acl ( ENABLED | DISABLED )][-timeZone ( GMT_TIME | LOCAL_TIME )][-userDefinedAuditlog ( YES | NO )][-appflowExport ( ENABLED | DISABLED )] [-lsn ( ENABLED | DISABLED )][-alg ( ENABLED | DISABLED )] [-subscriberLog ( ENABLED | DISABLED )][-transport ( TCP | UDP )] [-tcpProfileName <string>][-maxLogDataSizeToHold <positive_integer>][-dns ( ENABLED | DISABLED )] [-netProfile <string>]

    add audit syslogaction audit-action1 10.102.1.1 -loglevel INFORMATIONAL -dateformat MMDDYYYY -transport TCP

使用命令行界面将 SNIP 地址添加到 netprofile 选项

使用命令行界面将 SNIP 地址添加到 netprofile

在命令提示窗口中,键入:

    add netProfile <name> [-td <positive_integer>] [-srcIP <string>][-srcippersistency ( ENABLED | DISABLED )][-overrideLsn ( ENABLED | DISABLED )]add syslogaction <name> <serverIP> –loglevel all –netprofile net1
    add netprofile net1 –srcip 10.102.147.204`

其中,srcIP 是 SNIP。

通过使用命令行界面在系统日志操作中添加 netprofile

使用命令行界面在系统日志操作中添加 netprofile 选项的步骤

在命令提示窗口中,键入:

     add audit syslogaction <name> (<serverIP> | -lbVserverName <string>)  -logLevel <logLevel>
    -netProfile <string> …

    add syslogaction sys_act1 10.102.147.36 –loglevel all –netprofile net1

其中 -net Profile 指定配置的网络配置文件的名称。SNIP 地址配置为 netprofile 的一部分,并且此 netprofile 选项绑定到系统日志操作。

注意

当系统日志操作中配置 LB虚拟服务器名称时,必须始终将 netprofile 选项绑定到绑定到 SYSLOGUDP 或 SYSLOGTCP 负载平衡虚拟服务器的 SYSLOGUDP 或 SYSLOGTCP 服务。

使用命令行界面配置 FQDN 支持

使用命令行界面将服务器域名添加到 Syslog 操作的步骤

在命令提示窗口中,键入:

add audit syslogAction <name> (<serverIP> | ((<serverDomainName>[-domainResolveRetry <integer>]) | -lbVserverName <string>)) -logLevel <logLevel> ...
    set audit syslogAction <name> [-serverIP <ip_addr|ipv6_addr|*>]-serverDomainName <string>] [-lbVserverName <string>]-domainResolveRetry <integer>] [-domainResolveNow]

使用命令行界面将服务器域名添加到 Nslog 操作。

在命令提示窗口中,键入:

    add audit nslogAction <name> (<serverIP> | (<serverDomainName>[-domainResolveRetry <integer>]))  -logLevel <logLevel> ...
    set audit nslogAction <name> [-serverIP <ip_addr|ipv6_addr|*>][-serverDomainName <string>] [-domainResolveRetry <integer>][-domainResolveNow]

其中 serverDomainName. 日志服务器的域名。这是与 serverIP/ lbVserverName 相互排斥的。

DomainResolveRetry 整数。在 DNS 解析失败后,Citrix ADC 设备在发送下一个 DNS 查询以解析域名之前等待的时间(以秒为单位)。

DomainResolveNow。如果 DNS 查询必须立即发送以解析服务器的域名,则包括在内。

使用 GUI 配置 Syslog over TCP

将 Citrix ADC 设备配置为通过 TCP 发送系统日志消息,使用 GUI

  1. 导航到系统 > 审核 > 系统日志,然后选择服务器选项卡。
  2. 单击添加并选择 TCP 作为传输类型。

使用 GUI 配置 netprofile 以支持 SNIP

使用 GUI 配置 netprofile 以支持 SNIP

  1. 导航到系统 > 审核 > 系统日志,然后选择服务器选项卡。
  2. 单击“添加”并从列表中选择一个 netprofile。  

使用 GUI 配置 FQDN

使用 GUI 配置 FQDN

  1. 导航到系统 > 审核 > 系统日志,然后选择服务器选项卡。
  2. 单击“添加”,然后从列表中选择“服务器类型”和“服务器域名”。