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...
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:
'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):
| Method | URI | Purpose |
|---|---|---|
| POST | /nitro/v1/config/login | Get login token |
| POST | /nitro/v1/config/logout | Close the session |
| POST | /nitro/v1/config/nspartition?action=Switch | Switch to non-default partition (if any) |
| GET | /nitro/v1/config/nsversion | Get 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.
| Attributes | Value |
|---|---|
| key | A hash of the device key and load balancer type. |
| type | A load balancer type. |
| name | A %LB_TYPE% on %device.name%. |
| version | A version of the device OS. |
| failover_type | A failover type used on the device. |
| failover_state | A failover state reported by the device. |
| __failover_group | No sample. |
| __failover_paired_ipaddr | No sample. |
The pattern models a network service relationship between the device and the Load Balancer Instance.
Must Read
Load Balancer Service
The pattern creates a Load Balancer Service with the attributes displayed below.
| Attributes | Value |
|---|---|
| key | A hash of the instance key, virtual server name, ip address, and port. |
| name | A virtual server name. |
| ip_addr | A virtual server IP address. |
| port | A virtual server port. |
| type | A virtual server type. |
| protocol | A virtual server protocol type. |
| state | A virtual server state. |
| dns_names | A dns name of a virtual server IP address. |
| _config_hash | Contains 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.