<!--startmeta
custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp/npm-catalog/integrations/citrix_netscaler.md"
meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp/npm-catalog/metadata.yaml"
sidebar_label: "Citrix Netscaler"
learn_status: "Published"
learn_rel_path: "Network Performance Monitoring/Device Metrics/Integrations"
keywords: ['citrix', 'netscaler', 'snmp', 'loadbalancer', 'npm']
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE NPM CATALOG metadata.yaml FILE"
endmeta-->

<!-- markdownlint-disable-file -->

# Citrix Netscaler


<img src="https://netdata.cloud/img/SNMP.png" width="150"/>


Plugin: go.d.plugin
Module: snmp

<img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" />

## Overview

Monitor Citrix Netscaler (loadbalancer) with Netdata over SNMP. Netdata recognizes the device automatically by its `sysObjectID` (recognized across 1 device identifiers) and collects the metrics this profile declares — on top of the generic SNMP baseline — with no manual OID configuration.

Netdata's SNMP collector matches the device to the **citrix-netscaler.yaml** profile via `sysObjectID`/`sysDescr`, then polls the OIDs it declares.

This integration is supported on all platforms.

This integration supports multiple instances configured side-by-side.


### Default Behavior

#### Auto-Detection

Auto-detected as Citrix Netscaler via sysObjectID/sysDescr.

#### Limits

The default configuration for this integration does not impose any limits.

#### Performance Impact

The default configuration for this integration is not expected to impose a significant performance impact on the system.

## Setup


You can configure the **snmp** collector in two ways:

| Method                | Best for                                                                                 | How to                                                                                                                                 |
|-----------------------|------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------|
| [**UI**](#via-ui)     | Fast setup without editing files                                                         | Go to **Nodes → Configure this node → Collectors → Jobs**, search for **snmp**, then click **+** to add a job. |
| [**File**](#via-file) | If you prefer configuring via file, or need to automate deployments (e.g., with Ansible) | Edit `go.d/snmp.conf` and add a job.                                                                        |

:::important

UI configuration requires paid Netdata Cloud plan.

:::


### Prerequisites

#### SNMP access

SNMP must be enabled on the device and reachable from the Netdata Agent acting as the site's SNMP hub.


### Configuration

#### Options

Configure the SNMP collector with the device hostname and SNMP credentials. See the SNMP collector reference for all options.


#### via UI

Configure the **snmp** collector from the Netdata web interface:

1. Go to **Nodes**.
2. Select the node **where you want the snmp data-collection job to run** and click the :gear: (**Configure this node**). That node will run the data collection.
3. The **Collectors → Jobs** view opens by default.
4. In the Search box, type _snmp_ (or scroll the list) to locate the **snmp** collector.
5. Click the **+** next to the **snmp** collector to add a new job.
6. Fill in the job fields, then click **Test** to verify the configuration and **Submit** to save.
    - **Test** runs the job with the provided settings and shows whether data can be collected.
    - If it fails, an error message appears with details (for example, connection refused, timeout, or command execution errors), so you can adjust and retest.


#### via File

The configuration file name for this integration is `go.d/snmp.conf`.

The file format is YAML. Generally, the structure is:

```yaml
update_every: 1
autodetection_retry: 0
jobs:
  - name: some_name1
  - name: some_name2
```
You can edit the configuration file using the [`edit-config`](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration/README.md#edit-configuration-files) script from the
Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration/README.md#locate-your-config-directory).

```bash
cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
sudo ./edit-config go.d/snmp.conf
```

##### Examples
There are no configuration examples.



## Alerts

There are no alerts configured by default for this integration.



## Metrics

On top of the **generic SNMP baseline** (the *Generic SNMP Device* integration — interfaces, system, IP/TCP/UDP, host resources), this Citrix Netscaler profile adds the metrics below. Each is collected **only where the device exposes the matching OID** — inclusion means the profile requests it; availability depends on the device model and software.

**107 metrics** in 11 groups; each row is a chart context usable in alerts.

| Group | Metrics |
|---|---|
| Network / HTTP | 14 |
| Network / Interface | 9 |
| Network / LoadBalancer | 55 |
| Network / SSL | 4 |
| Network / TCP | 8 |
| System / CPU | 2 |
| System / Disk | 4 |
| System / HA | 6 |
| System / Memory | 1 |
| System / Service | 3 |
| System / Uptime | 1 |

### Network / HTTP

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_netscaler_httpErrIncompleteHeaders` | `{error}/s` | device | HTTP requests and responses with incomplete headers |
| `snmp.device_prof_netscaler_httpErrIncompleteRequests` | `{error}/s` | device | HTTP requests received with incomplete headers |
| `snmp.device_prof_netscaler_httpErrIncompleteResponses` | `{error}/s` | device | HTTP responses received with incomplete headers |
| `snmp.device_prof_netscaler_httpErrServerBusy` | `{error}/s` | device | HTTP error responses indicating server busy |
| `snmp.device_prof_netscaler_httpTot10Requests` | `{request}/s` | device | HTTP/1.0 requests received |
| `snmp.device_prof_netscaler_httpTot10Responses` | `{response}/s` | device | HTTP/1.0 responses sent |
| `snmp.device_prof_netscaler_httpTotGets` | `{request}/s` | device | HTTP requests received using the GET method |
| `snmp.device_prof_netscaler_httpTotOthers` | `{request}/s` | device | HTTP requests received using methods other than GET and POST |
| `snmp.device_prof_netscaler_httpTotPosts` | `{request}/s` | device | HTTP requests received using the POST method |
| `snmp.device_prof_netscaler_httpTotResponses` | `{response}/s` | device | HTTP responses sent including HTTP/1.0 and HTTP/1.1 responses |
| `snmp.device_prof_netscaler_httpTotRxRequestBytes` | `By/s` | device | Bytes of HTTP data received |
| `snmp.device_prof_netscaler_httpTotRxResponseBytes` | `By/s` | device | Bytes received as response data |
| `snmp.device_prof_netscaler_httpTotTxRequestBytes` | `By/s` | device | Bytes of HTTP data transmitted |
| `snmp.device_prof_netscaler_httpTotTxResponseBytes` | `By/s` | device | Bytes transmitted as response data |

### Network / Interface

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_ifAdminStatus` | `{status}` | per interface, interface | Current administrative state of the interface |
| `snmp.device_prof_ifHighSpeed` | `bit/s` | per interface, interface | Estimate of the interface's current bandwidth |
| `snmp.device_prof_ifNumber` | `{interface}` | device | Number of network interfaces regardless of their current state present on this system |
| `snmp.device_prof_ifOperStatus` | `{status}` | per interface, interface | Current operational state of the interface |
| `snmp.device_prof_netscaler_ifRxAvgBandwidthUsage` | `bit/s` | per netscaler_if_name, netscaler_if_media | Average RX bandwidth on the specified interface in bits per second |
| `snmp.device_prof_netscaler_ifThroughput` | `bit/s` | per netscaler_if_name, netscaler_if_media | Interface throughput |
| `snmp.device_prof_netscaler_ifTotRxBytes` | `bit/s` | per netscaler_if_name, netscaler_if_media | Total bytes received on the specified interface |
| `snmp.device_prof_netscaler_ifTotTxBytes` | `bit/s` | per netscaler_if_name, netscaler_if_media | Number of bytes transmitted from the specified interface |
| `snmp.device_prof_netscaler_ifTxAvgBandwidthUsage` | `bit/s` | per netscaler_if_name, netscaler_if_media | Average TX bandwidth on the specified interface in bits per second |

### Network / LoadBalancer

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_netscaler_curConfigGslbVservers` | `{vserver}` | device | Number of GSLB vservers configured on the NetScaler |
| `snmp.device_prof_netscaler_curConfigLbVservers` | `{vserver}` | device | Number of load balancing vservers configured on the NetScaler |
| `snmp.device_prof_netscaler_curConfigVservers` | `{vserver}` | device | Total number of vservers configured on the NetScaler |
| `snmp.device_prof_netscaler_lbvsvrActiveConn` | `{connection}` | per netscaler_lbvsvr_lb_method, netscaler_lbvsvr_persistance_type | Number of connections currently active |
| `snmp.device_prof_netscaler_lbvsvrAvgSvrTTFB` | `ms` | per netscaler_lbvsvr_lb_method, netscaler_lbvsvr_persistance_type | Average time to first byte between NetScaler and server |
| `snmp.device_prof_netscaler_lbvsvrPersistenceTimeOut` | `s` | per netscaler_lbvsvr_lb_method, netscaler_lbvsvr_persistance_type | Timeout set for persistence |
| `snmp.device_prof_netscaler_serverCount` | `{server}` | device | Number of servers defined on the NetScaler appliance |
| `snmp.device_prof_netscaler_serverState` | `{status}` | per netscaler_server_name, netscaler_server_ip_address | The state of the server |
| `snmp.device_prof_netscaler_servicePersistentHits` | `{hit}/s` | per netscaler_vsvr_service_name, netscaler_vsvr_service_full_name, netscaler_vserver_full_name | Total number of persistent hits |
| `snmp.device_prof_netscaler_svcActiveConn` | `{connection}` | per netscaler_svc_service_name, netscaler_svc_service_full_name, netscaler_svc_service_type | Number of connections currently active |
| `snmp.device_prof_netscaler_svcActiveTransactions` | `{transaction}` | per netscaler_svc_service_name, netscaler_svc_service_full_name, netscaler_svc_service_type | Number of active transactions handled by this service including surge queue |
| `snmp.device_prof_netscaler_svcAvgSvrTTFB` | `ms` | per netscaler_svc_service_name, netscaler_svc_service_full_name, netscaler_svc_service_type | Average time to first byte between NetScaler and the server |
| `snmp.device_prof_netscaler_svcAvgTransactionTime` | `ms` | per netscaler_svc_service_name, netscaler_svc_service_full_name, netscaler_svc_service_type | Average transaction time between NetScaler and the service |
| `snmp.device_prof_netscaler_svcCount` | `{service}` | device | Number of services defined on the NetScaler appliance |
| `snmp.device_prof_netscaler_svcCurClntConnections` | `{connection}` | per netscaler_svc_service_name, netscaler_svc_service_full_name, netscaler_svc_service_type | Number of current client connections |
| `snmp.device_prof_netscaler_svcEstablishedConn` | `{connection}` | per netscaler_svc_service_name, netscaler_svc_service_full_name, netscaler_svc_service_type | Total number of connections in established state |
| `snmp.device_prof_netscaler_svcRequestRate` | `{session}/s` | per netscaler_svc_service_name, netscaler_svc_service_full_name, netscaler_svc_service_type | Request rate in requests per second for this service or virtual server |
| `snmp.device_prof_netscaler_svcRxBytesRate` | `By/s` | per netscaler_svc_service_name, netscaler_svc_service_full_name, netscaler_svc_service_type | Request rate in bytes per second for this service or virtual server |
| `snmp.device_prof_netscaler_svcSurgeCount` | `{request}` | per netscaler_svc_service_name, netscaler_svc_service_full_name, netscaler_svc_service_type | Number of requests in the surge queue |
| `snmp.device_prof_netscaler_svcTotalClients` | `{connection}/s` | device | Total number of established client connections |
| `snmp.device_prof_netscaler_svcTotalPktsRecvd` | `{packet}/s` | per netscaler_svc_service_name, netscaler_svc_service_full_name, netscaler_svc_service_type | Total number of packets received by this service or virtual server |
| `snmp.device_prof_netscaler_svcTotalPktsSent` | `{packet}/s` | per netscaler_svc_service_name, netscaler_svc_service_full_name, netscaler_svc_service_type | Total number of packets sent by this service or virtual server |
| `snmp.device_prof_netscaler_svcTotalRequestBytes` | `By/s` | per netscaler_svc_service_name, netscaler_svc_service_full_name, netscaler_svc_service_type | Total number of request bytes received on this service or virtual server |
| `snmp.device_prof_netscaler_svcTotalRequests` | `{request}/s` | per netscaler_svc_service_name, netscaler_svc_service_full_name, netscaler_svc_service_type | Total number of requests received on this service or virtual server |
| `snmp.device_prof_netscaler_svcTotalResponseBytes` | `By/s` | per netscaler_svc_service_name, netscaler_svc_service_full_name, netscaler_svc_service_type | Number of response bytes received by this service or virtual server |
| `snmp.device_prof_netscaler_svcTotalResponses` | `{response}/s` | per netscaler_svc_service_name, netscaler_svc_service_full_name, netscaler_svc_service_type | Number of responses received on this service or virtual server |
| `snmp.device_prof_netscaler_svcTotalServers` | `{connection}/s` | device | Total number of established server connections |
| `snmp.device_prof_netscaler_svcTxBytesRate` | `By/s` | per netscaler_svc_service_name, netscaler_svc_service_full_name, netscaler_svc_service_type | Response rate in bytes per second for this service or virtual server |
| `snmp.device_prof_netscaler_svcgroupCount` | `{service_group}` | device | Number of service groups defined on the NetScaler appliance |
| `snmp.device_prof_netscaler_svcgroupmemCount` | `{service_group_member}` | device | Number of service group members defined on the NetScaler appliance |
| `snmp.device_prof_netscaler_svcgrpSvcGroupState` | `{status}` | per netscaler_svcgrp_svc_group_name, netscaler_svcgrp_svc_group_type | The state of the service Group |
| `snmp.device_prof_netscaler_totSpilloverCount` | `{spillover}/s` | device | Number of times spillover occurred on the NetScaler |
| `snmp.device_prof_netscaler_vsvrActiveActiveState` | `{status}` | per netscaler_vsvr_full_name | The state of the vserver based on ActiveActive configuration |
| `snmp.device_prof_netscaler_vsvrBindCount` | `{binding}` | device | Number of virtual server bindings on the NetScaler appliance |
| `snmp.device_prof_netscaler_vsvrCurClntConnections` | `{connection}` | per netscaler_vsvr_name, netscaler_vsvr_ip_address, netscaler_vsvr_port, netscaler_vsvr_type | Number of current client connections |
| `snmp.device_prof_netscaler_vsvrCurServicesDown` | `{service}` | per netscaler_vsvr_full_name | Current number of services bound to this vserver and are down |
| `snmp.device_prof_netscaler_vsvrCurServicesUp` | `{service}` | per netscaler_vsvr_full_name | Current number of services bound to this vserver and are up |
| `snmp.device_prof_netscaler_vsvrCurSrvrConnections` | `{connection}` | per netscaler_vsvr_full_name | Number of current connections to the actual servers behind the virtual server |
| `snmp.device_prof_netscaler_vsvrHealth` | `%` | per netscaler_vsvr_full_name | Percentage of UP services bound to this vserver |
| `snmp.device_prof_netscaler_vsvrRequestRate` | `{packet}/s` | per netscaler_vsvr_full_name | Request rate in requests per second for this service or virtual server |
| `snmp.device_prof_netscaler_vsvrRxBytesRate` | `By/s` | per netscaler_vsvr_full_name | Request rate in bytes per second for this service or virtual server |
| `snmp.device_prof_netscaler_vsvrServiceHits` | `{hit}/s` | per netscaler_vsvr_service_name, netscaler_vsvr_service_full_name, netscaler_vserver_full_name | Number of times the service has been provided |
| `snmp.device_prof_netscaler_vsvrSoThreshold` | `{spillover}` | per netscaler_vsvr_full_name | Spillover threshold for the vserver |
| `snmp.device_prof_netscaler_vsvrState` | `{status}` | per netscaler_vsvr_name, netscaler_vsvr_ip_address, netscaler_vsvr_port, netscaler_vsvr_type | Current state of the server |
| `snmp.device_prof_netscaler_vsvrSvcGrpBindCount` | `{binding}` | device | Number of virtual server service group bindings on the NetScaler appliance |
| `snmp.device_prof_netscaler_vsvrSynfloodRate` | `{packet}/s` | per netscaler_vsvr_full_name | Rate of unacknowledged SYN packets for this service or virtual server |
| `snmp.device_prof_netscaler_vsvrTotSpillOvers` | `{spillover}/s` | per netscaler_vsvr_full_name | Number of times vserver experienced spill over |
| `snmp.device_prof_netscaler_vsvrTotalClients` | `{connection}/s` | per netscaler_vsvr_full_name | Total number of established client connections |
| `snmp.device_prof_netscaler_vsvrTotalRequestBytes` | `By/s` | per netscaler_vsvr_full_name | Total number of request bytes received on this service or virtual server |
| `snmp.device_prof_netscaler_vsvrTotalRequests` | `{request}/s` | per netscaler_vsvr_full_name | Total number of requests received on this service or virtual server |
| `snmp.device_prof_netscaler_vsvrTotalResponseBytes` | `By/s` | per netscaler_vsvr_full_name | Number of response bytes received by this service or virtual server |
| `snmp.device_prof_netscaler_vsvrTotalResponses` | `{response}/s` | per netscaler_vsvr_full_name | Number of responses received on this service or virtual server |
| `snmp.device_prof_netscaler_vsvrTotalServers` | `{connection}/s` | per netscaler_vsvr_full_name | Total number of established server connections |
| `snmp.device_prof_netscaler_vsvrTotalServicesBound` | `{service}` | per netscaler_vsvr_full_name | Current number of services bound to this vserver |
| `snmp.device_prof_netscaler_vsvrTxBytesRate` | `By/s` | per netscaler_vsvr_full_name | Response rate in bytes per second for this service or virtual server |

### Network / SSL

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_netscaler_sslCurSessions` | `{session}` | device | Number of active SSL sessions on the NetScaler appliance |
| `snmp.device_prof_netscaler_sslDaysToExpire` | `d` | per netscaler_ssl_cert_key_name | Number of days remaining for the certificate to expire |
| `snmp.device_prof_netscaler_sslSessionsPerSec` | `{session}/s` | device | SSL sessions per second between client and NetScaler appliance |
| `snmp.device_prof_netscaler_sslTotSessions` | `{session}/s` | device | Number of SSL sessions on the NetScaler appliance |

### Network / TCP

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_netscaler_tcpCurClientConn` | `{connection}` | device | Client connections including opening, established, and closing states |
| `snmp.device_prof_netscaler_tcpCurClientConnEstablished` | `{connection}` | device | Current client connections in the established state |
| `snmp.device_prof_netscaler_tcpCurServerConnEstablished` | `{connection}` | device | Current server connections in the established state |
| `snmp.device_prof_netscaler_tcpErrAnyPortFail` | `{error}/s` | device | Port allocations failed on mapped IP address |
| `snmp.device_prof_netscaler_tcpErrIpPortFail` | `{error}/s` | device | Port allocations failed on subnet or vserver IP address |
| `snmp.device_prof_netscaler_tcpErrRetransmit` | `{packet}/s` | device | TCP packets retransmitted |
| `snmp.device_prof_netscaler_tcpTotRxPkts` | `{packet}/s` | device | TCP packets received |
| `snmp.device_prof_netscaler_tcpTotTxPkts` | `{packet}/s` | device | TCP packets transmitted |

### System / CPU

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_cpu_usage` | `%` | device | The current CPU utilization |
| `snmp.device_prof_netscaler_nsCPUusage` | `%` | per netscaler_ns_cp_uname | CPU utilization percentage |

### System / Disk

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_netscaler_sysHealthDiskAvail` | `By` | per netscaler_sys_health_disk_name | Total disk space available in MBytes |
| `snmp.device_prof_netscaler_sysHealthDiskPerusage` | `%` | per netscaler_sys_health_disk_name | Percentage of disk space used |
| `snmp.device_prof_netscaler_sysHealthDiskSize` | `By` | per netscaler_sys_health_disk_name | Total disk space in MBytes |
| `snmp.device_prof_netscaler_sysHealthDiskUsed` | `By` | per netscaler_sys_health_disk_name | Total disk space used in MBytes |

### System / HA

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_netscaler_haCurState` | `{status}` | device | State of the HA node, based on its health |
| `snmp.device_prof_netscaler_haCurStatus` | `{status}` | device | Whether a Citrix ADC is configured for high availability |
| `snmp.device_prof_netscaler_haPeerState` | `{status}` | device | Represents the state of the failover peer Citrix ADC whether Primary or Secondary |
| `snmp.device_prof_netscaler_haTimeofLastStateTransition` | `ms` | device | Time since last master state transition |
| `snmp.device_prof_netscaler_haTotStateTransitions` | `{transition}/s` | device | Total number of master state changes of the NetScaler appliance |
| `snmp.device_prof_netscaler_sysHighAvailabilityMode` | `{status}` | device | Shows whether Citrix ADC is in standalone mode or whether it is primary or secondary in case of failover mode |

### System / Memory

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_memory_usage` | `%` | device | Percentage of memory utilization on NetScaler |

### System / Service

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_netscaler_syssvcCount` | `{service}` | device | Number of system services |
| `snmp.device_prof_netscaler_sysupsvcCount` | `{service}` | device | Number of system up services |
| `snmp.device_prof_netscaler_sysupsvcitmCount` | `{service_item}` | device | Number of system up service items |

### System / Uptime

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_systemUptime` | `s` | device | Time since the system was last rebooted or powered on. |
