Deterministic, operator‑grade monitoring utilities for Linux and Nagios environments.
Suite: NMS_Tools Monitoring Suite
Maintainer: Leon McClatchey, Linktech Engineering LLC
License: MIT (source) • Proprietary (binaries)
Requires: Python 3.12+ (for source builds)
Version: 2.0.0 (Stable) • Nightly: latest
Packaging: DEB • RPM • TGZ • ZIP
PythonTools: 0.2.0
Last Updated: 2026‑08‑30
- Overview
- Tools in This Suite
- Packaging
- Installation
- Dashboards
- Downloads
- Building From Source
- Repository Structure
- Quick Start
- Demos
- Why NMS_Tools?
- Project Ecosystem
- Philosophy
- Contributing
- License
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.
The NMS_Tools suite contains the following deterministic monitoring tools:
| 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/
demos/
weather/
ticker/
tools/
(suite management scripts)
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.
NMS_Tools includes lightweight demonstration frontends under src/demos/ that visualize deterministic tool output.
These demos are not part of the monitoring suite and not shipped in DEB/RPM packages.
They exist for development, testing, and demonstration purposes.
All demos in the suite share the same architectural foundation:
- FastAPI backend integration
- Apache reverse proxy compatibility
- DOM‑driven updates (pure JavaScript manipulating DOM elements)
- deterministic JSON ingestion
- lightweight, framework‑free HTML/JS/CSS design
These characteristics apply to:
- Weather Demo
- Ticker Demo
- any future demos added to the suite
A standalone HTML/JS/CSS frontend that renders deterministic JSON output from check_weather.
Features:
- 3‑column layout
- alert banner
- recolored icon pack
- rolling 24‑hour and 7‑day forecast modes
- external weather.js logic
A lightweight frontend demonstrating deterministic ticker ingestion and trend visualization.
Demo‑specific features:
- current price and quote metrics
- trend and history placeholders (future development)
- color‑coded movement indicators
- external ticker.js logic
Demos are:
- stored under src/demos/
- not included in DEB/RPM packages
- included only in TGZ/ZIP portable archives
- referenced in documentation but not treated as production tools
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.
- Source code: MIT LICENSE for details.
- Frozen binary: Proprietary LICENSE_BINARY