# Citrix NetScaler monitoring

# Introduction

<span style="font-weight: 400;">This plugin allows you to monitor Citrix NetScaler balancing systems through the JSON-based REST API provided by the device.</span>

<span style="font-weight: 400;">This plugin will collect the list of all the services configured in the device, as well as their information, creating an agent per configured service.</span>

# Compatibility matrix

<span style="font-weight: 400;">Systems where it has been tested: NSMPX-10500.</span>

<span style="font-weight: 400;">Systems where it should work: compatible API.</span>

# Requeriments

<span style="font-weight: 400;">The parameters required for monitoring are:</span>

- <span style="font-weight: 400;">User name to authenticate to the device's REST API (read-only).</span>
- <span style="font-weight: 400;">Password of that user.</span>
- <span style="font-weight: 400;">Full Url (FQDN/IP) and API path of the device (e.g. https://myns.mydomain/nitro/v1/stat/).</span>

# Configuration

<span style="font-weight: 400;">The Pandora plugin configuration file for Citrix NetScaler allows you to specify the following parameters:</span>

```
#================================================================
# Citrix NetScaler Plugin conf file
#================================================================

# Citrix NetScaler API configuration
ns_url = http://mycitrixns/nitro/v1/stat/
ns_user = username
ns_pass = password
 
# Services to be analized
# ns_services=service_name;value
#	value = 0 -> main information
#	value = 1 -> child information
ns_services=lbvserver;1
ns_services=system;0
 
# modules to be gathered
#  comment to disable filter
modules_list = state,status,vbshealth,primaryaddress,cpuusage,disk1avail,memusagepcnt,powersupply2status
#,cursrvrconnections,establishedconn,totalrequests,totalrequestbytes,responsesrate,totalresponses,totalresponsebytes,vslbhealth
# NetScaler Agent configuration
agent_name = ns1.gslbi.dexmedia.com
 
# Agent configuration
agent_interval = 300
agent_group = Load Balancer
 
# Module interval
module_interval = 1
module_tags = Networking
module_group =
 
 
# Pandora API configuration
api_url = http://inna.lab.artica.lan/pandora_console/include/api.php
api_user = admin
api_user_pass = pandora
api_pass = 1234
 
 
# Pandora Server configuration
mode = tentacle
tentacle_ip = inna.lab.artica.lan
tentacle_port = 41121
tentacle_opts =
tentacle_client = "C:\Program Files\pandora_agent\util\tentacle_client.exe"
temp = .

```

**ns\_url, ns\_user, ns\_pass**

<span style="font-weight: 400;"> </span> <span style="font-weight: 400;">Basic information (required) to connect to NetScaler.</span>

**ns\_services**

<span style="font-weight: 400;"> </span> <span style="font-weight: 400;">Services to be analyzed (0→belong to the main agent - netscaler, 1→belong to the service agents).</span>

**modules\_list**

<span style="font-weight: 400;"> </span> <span style="font-weight: 400;">List of modules to be generated.</span>

**agent\_interval**

<span style="font-weight: 400;"> </span> <span style="font-weight: 400;">Interval of the agents created.</span>

**agent\_group**

<span style="font-weight: 400;"> </span> <span style="font-weight: 400;">Group of the agents created.</span>

**module\_interval**

<span style="font-weight: 400;"> </span> <span style="font-weight: 400;">Interval of the modules.</span>

**module\_tags**

<span style="font-weight: 400;"> </span> <span style="font-weight: 400;">Safety tags for the created modules (separated by comma).</span>

**module\_group\_group**

<span style="font-weight: 400;"> </span> <span style="font-weight: 400;">Module group (classification).</span>

**mode**

<span style="font-weight: 400;"> </span> <span style="font-weight: 400;">It can be </span>*<span style="font-weight: 400;">tentacle </span>*<span style="font-weight: 400;">or </span>*<span style="font-weight: 400;">local</span>*<span style="font-weight: 400;">. If you set local, you must specify a destination folder where the </span>*<span style="font-weight: 400;">.data </span>*<span style="font-weight: 400;">files containing the agent information extracted from NetScaler will be delivered.</span>

# Manual execution

<span style="font-weight: 400;">The Pandora FMS plugin for the Citrix Netscaler balancing system monitoring is deployed as follows:</span><span style="font-weight: 400;"> </span>

<span style="font-weight: 400;">Run as server plugin/ crontab integration:</span>

```
# /etc/crontab
 
# Netscaler Plugin
*/5 * * * * root /usr/bin/perl citrix_netscaler.pl citrix_netscaler.conf

```

# Modules generated by the plugin

<span style="font-weight: 400;">The parameters monitored by the plugin are:</span>

**At the NetScaler level**<span style="font-weight: 400;">:</span>

- <span style="font-weight: 400;">General system information (temperature, disk usage, CPU usage, RAM usage, voltages, fan speeds, power status, etc.)</span>

**At the service level**<span style="font-weight: 400;">:</span>

- <span style="font-weight: 400;">Service status.</span>
- <span style="font-weight: 400;">Servers that provide it (IP) and status in each of them.</span>
- <span style="font-weight: 400;">Connections (active/total/established, etc.).</span>
- <span style="font-weight: 400;">Packets (received/sent/failed).</span>
- <span style="font-weight: 400;">Response rates.</span>
- <span style="font-weight: 400;">Health of the service.</span>