check_netscaler

A Nagios Plugin written in Python for the Citrix ADC (formerly Citrix NetScaler). It uses the NetScaler NITRO API.

Release v2.2.1

v2.2.1 (2026-01-08)

Documentation

  • docs: cleanup TODO.md - remove completed v2.0 tasks

Reduced from 390 lines to 37 lines by removing all completed tasks. Only future enhancements remain:

  • Integration tests with mock NITRO server

  • Optional features (JSON output, bulk operations, etc.)

  • Additional documentation guides (f411896)

  • docs: restructure documentation into docs/ directory

  • Create docs/ directory for all technical documentation

  • Move command docs from examples/commands/ to docs/commands/ (14 files)

  • Move MIGRATION.md, ARCHITECTURE.md, TODO.md to docs/

  • Add comprehensive CLI reference (docs/cli-reference.md)

    • Complete documentation for all 20 CLI options
    • Environment variable usage
    • Examples for every option
    • Use case scenarios
  • Update all internal links in README, CONTRIBUTING, and moved files

  • examples/ now contains only integration configs (Icinga2/Nagios)

New structure: docs/ ├── cli-reference.md (NEW - complete CLI options reference) ├── commands/ (14 command-specific guides) ├── migration.md (v1.x → v2.0 guide) ├── architecture.md (technical architecture) └── todo.md (development roadmap) (0deb9a6)

  • docs: remove hardcoded test count from README

Test count is dynamic and changes with each feature - use generic description instead (33cc3b0)

  • docs: add backup vServer monitoring examples to integration configs

  • Add netscaler_state_backup CheckCommand for Icinga2 (inherits from netscaler_state)

  • Add check_netscaler_state_backup command for Nagios

  • Include service definition examples for both platforms

  • Update CheckCommand tables in README files (5d253c9)

  • docs: standardize binary path across all documentation

  • Replace all hardcoded paths with 'check_netscaler' command

  • Remove /usr/local/nagios/libexec/check_netscaler.py references

  • Remove /opt/check_netscaler/check_netscaler.py references

  • Update CONTRIBUTING.md: v2-python-rewrite -> master branch

  • Update installation instructions in Nagios README

  • Simplify command examples to use PATH binary (fadea87)

  • docs: update installation instructions for v2.0 release (c496858)

Fix

  • fix(perfdata): use -n for field names to match Perl v1 behavior

Changes:

  • Use -n/--objectname parameter for comma-separated field names
  • Remove object filtering capability (not present in Perl v1)
  • Query all objects of specified type and collect fields from each
  • Update CLI help text to clarify dual use of -n parameter
  • Update documentation with correct usage examples
  • Update all tests to use objectname for field names

This restores compatibility with Perl v1 where: check_netscaler.pl -H host -s -C perfdata -o aaa -n field1,field2

Now works the same way in Python v2: check_netscaler -C perfdata -o aaa -n field1,field2

Fixes #140 (16e10b8)

Unknown

  • Merge pull request #141 from slauger/feature/perfdata-fields-argument

fix(perfdata): use -n for field names to match Perl v1 behavior (93326dd)

  • Merge pull request #139 from slauger/docs/update-installation-and-examples

docs: Complete documentation overhaul and CLI reference (222c959)

check_netscaler-v2.2.1.tar.gz

Release tarball
application/gzip 2026-01-08 Download from Github

Release v2.2.0

v2.2.0 (2025-12-09)

Documentation

  • docs: add backup vserver monitoring examples to state command (507d295)

Feature

  • feat: Add backup vServer monitoring for lbvserver state checks

Add --check-backup flag to monitor backup vServer status in lbvserver state checks. When a backup vServer is active, the check can be configured to return WARNING or CRITICAL status.

Features:

  • Optional --check-backup [warning|critical] flag
  • Only active for lbvserver objecttype
  • Checks /config endpoint for backupvserverstatus field
  • Adds backup status to message and long_output
  • Fully backward compatible (opt-in feature)

Tests:

  • 6 new tests covering all backup scenarios
  • All 349 tests passing

Closes #133 (2df236e)

Style

  • style: Apply black formatting to backup vServer feature (ce3dd58)

Unknown

  • Merge pull request #138 from slauger/feature/backup-vserver-check

feat: Add backup vServer monitoring for lbvserver state checks (884a7c9)

check_netscaler-v2.2.0.tar.gz

Release tarball
application/gzip 2025-12-09 Download from Github

Release v2.1.0

v2.1.0 (2025-12-08)

Feature

  • feat: Add Icinga2-compatible status tags to multiline output

Add [OK], [WARNING], and [CRITICAL] status tags to long_output in state, servicegroup, and sslcert commands. These tags enable automatic color-coding in Icinga Web 2 for improved visibility of issues.

Changes:

  • state: Add status tags to each object's state line
  • servicegroup: Add status tags to member health details
  • sslcert: Add status tags to certificate expiration warnings

This implements the feature requested in issue #28 for better multiline output formatting in Icinga Web 2.

Refs: #28 (4dc7454)

Fix

  • fix: Remove unused loop variable idx in servicegroup command

Remove unused enumerate index to fix ruff B007 linting error. (a1b6315)

Unknown

  • Merge pull request #137 from slauger/feature/icinga-status-tags

feat: Add Icinga2-compatible status tags to multiline output (05bf4bb)

check_netscaler-v2.1.0.tar.gz

Release tarball
application/gzip 2025-12-08 Download from Github