Deterministic, operator‑grade monitoring tools for Linux and Nagios environments.
NMS_Tools is a suite of deterministic, operator‑grade monitoring and inspection utilities designed for Linux and Nagios‑based environments. Each tool produces predictable, machine‑readable output suitable for automation, dashboards, and monitoring pipelines.
The suite includes:
- TLS certificate inspection
- HTML/HTTP validation
- network interface inspection
- port/service availability checks
- deterministic weather ingestion
- market/ticker analysis (via PythonTools finance subsystem)
All tools are compiled as standalone PyInstaller binaries requiring no Python runtime. This ensures consistent behavior across distributions, monitoring systems, and automation pipelines.
| Tool | Description | Documentation |
|---|---|---|
| check_cert | TLS certificate inspection and expiration validation | src/check_cert/README.md |
| check_html | HTTP/HTTPS content validation and deterministic HTML checks | src/check_html/README.md |
| check_interfaces | Network interface inspection and operational state reporting | src/check_interfaces/README.md |
| check_ports | Port and service availability inspection | src/check_ports/README.md |
| check_weather | Deterministic weather client for monitoring pipelines | src/check_weather/README.md |
| check_ticker | Deterministic market/ticker client using PythonTools finance providers | src/check_ticker/README.md |
NMS_Tools is distributed in multiple formats to support diverse deployment environments:
Native packaging for Debian‑based systems.
Native packaging for RPM‑based systems.
A portable, installation‑free archive containing all binaries and runtime directories. Ideal for embedded systems, containers, and custom deployments.
Windows‑friendly and cross‑platform archive format for tooling pipelines and CI/CD systems.
All packaging formats include:
- standalone PyInstaller binaries
- deterministic directory layout
- logging directories
- configuration directories
- schema bundles (where applicable)
NMS_Tools is distributed as:
Download from the GitHub Releases page:
https://github.com/Linktech-Engineering-LLC/NMS_Tools/releases
Each tool is a self‑contained executable requiring no Python installation.
sudo dpkg -i nms-tools_<version>.debsudo rpm -i nms_tools-<version>-1.noarch.rpmtar -xzf nms_tools-<version>.tgz
./nms_tools/check_cert --helpunzip nms_tools-<version>.zip
./nms_tools/check_cert --helpLive rolling builds with metadata, checksums, and artifacts: https://linktech-engineering-llc.github.io/NMS_Tools/
Versioned, immutable release builds: https://linktech-engineering-llc.github.io/NMS_Tools/stable/
Stable releases: https://github.com/Linktech-Engineering-LLC/NMS_Tools/releases
Nightly builds: https://linktech-engineering-llc.github.io/NMS_Tools/
NMS_Tools uses a two‑stage build system:
The freeze step is performed by the executable build script:
./scripts/build.pyThis script:
- freezes every tool into a standalone PyInstaller binary
- validates directory layout
- ensures PythonTools is installed in the active venv
- writes all binaries to:
dist/
PythonTools must be installed in the current virtual environment before running this step.
Install PythonTools:
pip install PythonToolsor from source:
cd ../PythonTools
pip install .The full packaging pipeline is executed via:
packaging/build_all.shThis script:
- automatically calls
./scripts/build.pyto freeze all tools - assembles DEB packages
- assembles RPM packages
- creates TGZ portable archives
- creates ZIP portable archives
- copies frozen binaries into the correct packaging layout
- writes all final artifacts to:
packaging/output/
This is the same packaging model used by RunUpdates and PythonTools.
./scripts/build.py --tool check_certpackaging/build_all.sh --archivespackaging/build_all.sh --packagessrc/
check_cert/
check_html/
check_interfaces/
check_ports/
check_weather/
check_ticker/
scripts/
build.py
packaging/
debian/
rpm/
output/
.github/
workflows/
NMS_Tools provides deterministic, standalone monitoring utilities that behave consistently across environments.
Each tool is a single PyInstaller‑compiled binary with predictable exit codes and machine‑readable output.
check_cert --host example.com --port 443check_html --url https://example.com --expect-title "Example Domain"check_interfacescheck_ports --host 192.168.1.10 --port 22check_weather --city "Wichita, KS"check_ticker AAPL --history 5 --trendAll tools return Nagios‑compatible exit codes (0=OK, 1=WARNING, 2=CRITICAL, 3=UNKNOWN) and structured output suitable for automation, dashboards, and monitoring pipelines.
Traditional monitoring scripts often suffer from:
- inconsistent output formats
- reliance on system Python installations
- unpredictable behavior across distributions
- non‑deterministic parsing
- ad‑hoc logic that breaks under load
NMS_Tools solves these problems by providing:
Every tool produces stable, machine‑readable output designed for automation, dashboards, and monitoring pipelines.
All tools are compiled with PyInstaller — no Python runtime, no dependency drift, no environment issues.
Tools are designed for real production environments:
- consistent exit codes
- predictable failure modes
- clear error messages
- stable CLI interfaces
NMS_Tools targets real Linux systems, not cross‑platform abstractions.
Packaging is native (DEB and RPM), and behavior is tuned for operational reliability.
Output formats, exit codes, and CLI patterns integrate cleanly with:
- Nagios
- Icinga
- Sensu
- Zabbix
- custom monitoring pipelines
NMS_Tools is built for operators who need tools that behave the same way every time — no surprises, no guesswork.
NMS_Tools is part of the Linktech Engineering Tools Suite, alongside:
- PythonTools — deterministic foundation library
- RunUpdates — update orchestration
- TimerDeck — systemd automation
- VSCode-Updater — editor update automation
- BotScanner — security analysis
NMS_Tools relies heavily on PythonTools for:
- deterministic subprocess execution
- unified logging
- schema loading
- finance/ticker provider architecture
- trend analysis
- frozen‑bundle compatibility
Together, these projects form a cohesive ecosystem of operator‑grade automation tools.
NMS_Tools is built around a few core principles:
- Determinism — predictable, stable output suitable for automation
- Operator‑grade design — tools that behave consistently under load and in production
- Linux‑first — designed for real systems, not cross‑platform abstraction
- Nagios‑friendly — output formats and behaviors that integrate cleanly with monitoring systems
Contributions are welcome.
Please keep submissions:
- Deterministic
- Lightweight
- Operationally focused
- Consistent with the suite’s monitoring philosophy
See CONTRIBUTING for details.
MIT License
See LICENSE for details.