Я попытался заставить Netscaler регистрировать IP-адрес источника всего трафика, предназначенного для Netscaler. Это возможно?
Для ясности, я не хочу пересылать клиентский IP-адрес на внутренний сервер, я хочу регистрировать исходный IP-адрес всего трафика, который достигает Netscaler, в журнале Netscaler, а затем, возможно, отправлять его на сервер системного журнала. Если бы это можно было сделать на конкретном VIP, это было бы золото.
Спасибо
В зависимости от типа трафика, который вы хотите регистрировать, и компонентов, которые вы используете, у вас есть несколько разных вариантов.
Все начинается со следующего:
Создать Message Action
(под System
-> Auditing
-> Message actions
) и используйте следующее выражение:
CLIENT.IP.SRC
Вы также должны определить log level
под которым должно быть зарегистрировано сообщение. Я бы рекомендовал использовать хотя бы INFORMATIONAL
уровень, как DEBUG
со временем будет генерировать огромное количество записей в журнале.
Конечно, в сообщение журнала можно добавить дополнительные данные.
Во-вторых, если вы хотите отправлять сообщения на внешний сервер системного журнала, вы также должны добавить сервер системного журнала:
System
-> Auditing
-> Syslog
-> Servers
и добавляем сервер."User Configurable Log Messages"
.logging policy
, и установите его на true
.Если вы используете переключение контента, вы можете прикрепить сообщение журнала к политике переключения контента, выбрав соответствующее сообщение в раскрывающемся списке при редактировании политики.
Если вы используете простую балансировку нагрузки, вы можете создать политику ответчика, задав для выражения политики значение true
, выбрав сообщение журнала в раскрывающемся списке, и последнее, но не менее важное: установив действие на NOOP
.
Затем вы можете привязать политику ответчика к подсистемам балансировки нагрузки, которые требуют регистрации IP-адреса источника клиента.
Примечание. Остерегайтесь NAT, поскольку он может скрыть реальный IP-адрес клиента!
Чтобы сделать это обычным способом NetScaler, можно использовать IPFIX (более современная версия NetFlow) или, как Citrix называет это «AppFlow», - это набор шаблонов, определенных в IPFIX. Вам понадобится что-то для его сбора (новейшие версии Logstash могут сделать это с помощью logstash-codec-netflow), но он предоставит вам достаточно информации для создания полного журнала внешних и внутренних подключений, а не только для HTTP, но также и для TCP.
... хотя и более долгий путь.
Вы также можете использовать это для веб-журналов (например, журналов доступа HTTP).