check_netscaler

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

Release v2.3.0

v2.3.0 (2026-01-08)

Ci

  • ci: use custom changelog template to show only commit subject lines (dffd58d)

  • ci: add SHA256 checksums for binaries (a569003)

  • ci: remove pull_request trigger from workflows, push is sufficient (6c5d5b1)

Feature

  • feat: add PyInstaller builds for Linux, macOS, and Windows

  • Add PyInstaller spec file for cross-platform binary builds

  • Create dedicated pyinstaller.yml workflow for building binaries

  • Integrate binary builds into release workflow with artifact uploads

  • Enable tests for all branches in lint-and-type-check.yml

  • Use Python 3.13 for PyInstaller builds

  • Add smoke tests for binaries (version and help commands)

  • Configure automatic upload of binaries to GitHub releases

The binaries will be built on every push and PR, but only uploaded to releases when a new version is published on the master branch. (c836113)

Fix

  • fix: use 'context' instead of 'ctx' in changelog template (595b7be)

Unknown

  • Merge pull request #142 from slauger/feat/pyinstaller-builds

PyInstaller builds for Linux, macOS, Windows (e374594)

check_netscaler-v2.3.0.tar.gz

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

check_netscaler-linux

application/octet-stream 2026-01-08 Download from Github

check_netscaler-linux.sha256sum

application/octet-stream 2026-01-08 Download from Github

check_netscaler-macos

application/octet-stream 2026-01-08 Download from Github

check_netscaler-macos.sha256sum

application/octet-stream 2026-01-08 Download from Github

check_netscaler.exe

application/x-msdownload 2026-01-08 Download from Github

check_netscaler.exe.sha256sum

application/octet-stream 2026-01-08 Download from Github

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