Citrix Citrix Application Delivery Controller (ADC) - Documentation for BMC Discovery content reference

BMC Helix Discovery supports the following types of Citrix Load Balancers:

  • MPX — Hardware-based application delivery appliances.
  • SDX  Hardware-based appliances with advanced virtualization to consolidate up to 115 independently-managed Citrix ADC instances.
  • VPX — Virtual-based application delivery appliances.

This document describes the Citrix NetScaler VPX pattern which builds the Discovery Load Balancer model based on additional details obtained via SNMP for the configured Virtual Servers, Services and Service Groups from the NetScaler VPX load balancer. Any configuration no longer reported is removed from the model.

Citrix NetScaler VPX uses the following conceptual model:

  • Virtual Server (n) - (n) Service Group (n) - (n) Server
  • Virtual Server (n) - (n) Service (n) - (1) Server

A Virtual Server is modeled as a Load Balancer Service.

A Service and a Server are modeled as a Load Balancer Pool and a Load Balancer Member.

A Service Group and Servers are modeled as a Load Balancer Pool  and Load Balancer Members.

For Citrix NetScaler hardware-based appliances that can run virtual instance pattern creates corresponding Virtual Machines and links these VMs to virtual Network Devices:

A NetScaler appliance can be partitioned into logical entities called admin partitions, where each partition can be configured and used as a separate NetScaler appliance. The following figure shows the partitions of a NetScaler being used by different customers and departments:

image

'Citrix NetScaler NITRO REST API' credential should be provided to discover partitions (support since Discovery 11.3):

Starting from TKU July 2021 VPX policies and actions are supported in order to create proper relationships between Load Balancer Services and Pools. Note that to process policies and actions 'Citrix NetScaler NITRO REST API' credentials are required.

The following API calls are made during discovery of the Citrix ADC (given that the REST API credentials are valid):

MethodURIPurpose
POST/nitro/v1/config/loginGet login token
POST/nitro/v1/config/logoutClose the session
POST

/nitro/v1/config/nspartition?action=Switch

Switch to non-default partition (if any)
GET/nitro/v1/config/nsversionGet Netscaler SW version
GET

/nitro/v1/config/csaction

Get content switching (CS) actions
GET

/nitro/v1/config/cspolicy

Get content switching (CS) policies
GET

/nitro/v1/config/nspartition

Get partitions
GET

/nitro/v1/config/lbvserver

Get Load Balancer Service configuration
GET

/nitro/v1/config/csvserver

Get Load Balancer Service configuration for Content Switching
GET

/nitro/v1/config/service

Get Load Balancer Pool configuration
GET

/nitro/v1/config/servicegroup

Get Load Balancer Pool configuration
GET

/nitro/v1/config/lbvserver_binding?bulkbindings=yes

Get links between Service and Pool, Load Balancer Member configuration

In order to get information using REST API calls user with read-only command policy configured is required.

  • unknown
  • loadbalancing
  • loadbalancinggroup
  • sslvpn
  • contentswitching
  • cacheredirection
  • http

  • ftp

  • tcp

  • udp

  • sslBridge

  • monitor

  • monitorUdp

  • nntp

  • httpserver

  • httpclient

  • rpcserver

  • rpcclient

  • nat

  • any

  • ssl

  • dns

  • adns

  • snmp

  • ha

  • monitorPing

  • sslOtherTcp

  • aaa

  • secureMonitor

  • sslvpnUdp

  • rip

  • dnsClient

  • rpcServer

  • rpcClient

  • dhcrpa

  • sipudp

  • dnstcp

  • adnstcp

  • rtsp

  • push

  • sslPush

  • dhcpClient

  • radius

  • rdp

  • mysql

  • mssql

  • diameter

  • sslDiameter

  • tftp

  • serviceUnknown

  • Standalone

  • Primary

  • Secondary

  • Unknown

  • Unknown

  • Init

  • Down

  • Up

  • PartialFail

  • MonitorFail

  • MonitorOk

  • CompleteFail

  • Dumb

  • Disabled

  • PartialFailSSL

  • RouteMonitorFail

Load Balancer Instance

The pattern creates a Load Balancer Instance with the attributes displayed below.

AttributesValue
keyA hash of the device key and load balancer type.
typeA load balancer type.
nameA %LB_TYPE% on %device.name%.
versionA version of the device OS.
failover_typeA failover type used on the device.
failover_stateA failover state reported by the device.
__failover_groupNo sample.
__failover_paired_ipaddrNo sample.

The pattern models a network service relationship between the device and the Load Balancer Instance.

Load Balancer Service

The pattern creates a Load Balancer Service with the attributes displayed below.

AttributesValue
key

A hash of the instance key, virtual server name, ip address, and port.

nameA virtual server name.
ip_addrA virtual server IP address.
portA virtual server port.
typeA virtual server type.
protocolA virtual server protocol type.
stateA virtual server state.
dns_namesA dns name of a virtual server IP address.
_config_hashContains a hash of the virtual server name, IP address, port, type,protocol, and state.

The pattern models a containment relationship between the Load Balancer Instance and a Load Balancer Service.

The pattern also models a containment relationship between the Load Balancer Service and a Load Balancer Pool.

Load Balancer Pool

The pattern creates a Load Balancer Pool with the attributes displayed below.

AttributesValue
keyA hash of the instance key and pool name.
nameA pool name.
protocol

A protocol used.

_config_hashContains a hash of the pool name, and protocol.

The pattern models a containment relationship between the Load Balancer Instance and a Load Balancer Pool.

Load Balancer Member

The pattern creates a Load Balancer Member  for every server and populates the attributes displayed below.

AttributesValue
key

A hash of the instance key, IP address and port of the real server.

ip_addrA server IP address.
portA server port.
nameA pair of server IP address and port.
_config_hashContains a hash of the server ip address, port, and type.

The pattern models a containment relationship between the Load Balancer Pool and a Load Balancer Member.

Virtual Machine

The pattern creates a Virtual Machine for every virtual instances and populates the attributes displayed below.

AttributesValue
key

A hash of the instance uuid, physical device key.

nameVirtual Machine name
short_nameVirtual Machine short name
type"Citrix XenServer"
vm_type"XenServer"
vm_nameVirtual Load Balancer name
vm_uuidVirtual Machine UUID
versionXenServer version
vm_guest_osVirtual Load Balancer OS
product_versionXenServer product version
editionXenServer edition
buidXenServer build
stateVirtual Machine state

The pattern models a relationships between the Virtual Machine and physical, virtual Load Balancer.

  • VPX "expression based" content switch actions are not supported.

You Might Also Like