我试图让Netscalerlogging所有stream向Netscaler的stream量的源IP地址。 这可能吗?
为了清楚我不想将客户端IP转发到后端服务器,我想在Netscaler上的日志中logging到达Netscaler的所有stream量的源IP,然后将其发送到系统日志服务器。 如果这将是可能做一个特定的VIP是黄金。
谢谢
根据您希望logging的stream量types以及您正在使用的组件,您有一些不同的选项。
一切从以下开始:
创buildMessage Action (在System – > Auditing – > Message actions ),并使用以下expression式:
CLIENT.IP.SRC
您还必须定义log level消息的log level 。 我build议至less使用INFORMATIONAL级别,因为DEBUG会随着时间的推移生成大量的日志条目。
当然,可以向日志消息添加额外的数据。
其次,如果要将消息推送到外部系统日志服务器,则还应该添加系统日志服务器:
System – > Auditing – > Syslog – > Servers并添加服务器。 "User Configurable Log Messages"选项。 logging policy ,并将其设置为true 。 如果您正在使用内容切换,则可以通过在编辑策略时在下拉框中select适当的消息,将日志消息附加到内容切换策略。
如果您使用的是简单负载平衡,则可以创build响应方策略,策略expression式设置为true ,在下拉框中select日志消息,最后但并非最不重要的:将操作设置为NOOP 。
然后,您可以将响应方策略绑定到需要logging客户端源IP的负载均衡器。
注意:小心NAT,因为它可能混淆真实的客户端IP!
为了以典型的NetScaler方式来完成这个工作,可以使用IPFIX(NetFlow的更新版本),或者Citrix把它称为“AppFlow” – 这是一组在IPFIX中定义的模板。 你需要一些东西来收集它(Logstash的最新版本可以使用logstash-codec-netflow来做到这一点),但它会给你足够的信息来build立完整的前后端连接日志,而不仅仅是用于HTTP,还用于TCP。
尽pipe如此,还是有更多的道路select。
您也可以将其用于Web日志logging(即HTTP访问日志)。