Skip to content

Latest commit

 

History

History
269 lines (180 loc) · 7.67 KB

File metadata and controls

269 lines (180 loc) · 7.67 KB

NMS_Tools

Deterministic, operator‑grade monitoring tools for Linux and Nagios environments.

Linktech Engineering Tools Suite Status Source License: MIT Binary License: Proprietary

Python Platform Packages

Nightly Build Stable Build

Nightly Dashboard Stable Dashboard

Latest Release Nightly Version


Overview

NMS_Tools is a suite of deterministic, operator‑grade monitoring and inspection utilities designed for Linux and Nagios‑based environments.
Each tool is built to produce predictable, machine‑readable output suitable for automation, dashboards, and monitoring pipelines.

The suite currently includes certificate inspection, HTML/HTTP validation, interface inspection, port checking, and weather‑based monitoring utilities.

All tools are compiled as standalone binaries using PyInstaller, requiring no Python runtime.

The suite currently includes certificate inspection, HTML/HTTP validation, interface inspection, port checking, and weather‑based monitoring utilities.


Tools in This Suite

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

Packaging

NMS_Tools is packaged for Linux environments using native system formats:

  • DEB packages for Debian/Ubuntu
  • RPM packages for Fedora, openSUSE, and RHEL‑based systems

Packages install cleanly into standard system paths and are suitable for deployment in monitoring environments.


Installation

NMS_Tools is distributed as:

Standalone binaries (PyInstaller)

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.

DEB package (Debian/Ubuntu)

sudo dpkg -i nms-tools_<version>.deb

RPM package (Fedora/RHEL/openSUSE)

sudo rpm -i nms_tools-<version>-1.noarch.rpm

Dashboards

Nightly Dashboard

Live rolling builds with metadata, checksums, and artifacts: https://linktech-engineering-llc.github.io/NMS_Tools/

Stable Dashboard

Versioned, immutable release builds: https://linktech-engineering-llc.github.io/NMS_Tools/stable/

Downloads

Stable releases: https://github.com/Linktech-Engineering-LLC/NMS_Tools/releases

Nightly builds: https://linktech-engineering-llc.github.io/NMS_Tools/

Building From Source

Build all PyInstaller binaries

./scripts/build_all.sh

Outputs to:

build/linux-x86_64/

Build DEB/RPM packages

make packages

Outputs to:

packaging/*.deb
~/rpmbuild/RPMS/noarch/*.rpm

Repository Structure

src/
  check_cert/
  check_html/
  check_interfaces/
  check_ports/
  check_weather/
scripts/
  build_one.sh
  build_all.sh
packaging/
  debian/
  rpm/
.github/
  workflows/

Quick Start

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 a TLS certificate

check_cert --host example.com --port 443

Validate HTML/HTTP content

check_html --url https://example.com --expect-title "Example Domain"

Inspect network interfaces

check_interfaces

Check port availability

check_ports --host 192.168.1.10 --port 22

Query deterministic weather data

check_weather --city "Wichita, KS"

All tools return Nagios‑compatible exit codes (0=OK, 1=WARNING, 2=CRITICAL, 3=UNKNOWN) and structured output suitable for automation, dashboards, and monitoring pipelines.


Why NMS_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:

Deterministic Output

Every tool produces stable, machine‑readable output designed for automation, dashboards, and monitoring pipelines.

Standalone Binaries

All tools are compiled with PyInstaller — no Python runtime, no dependency drift, no environment issues.

Operator‑Grade Behavior

Tools are designed for real production environments:

  • consistent exit codes
  • predictable failure modes
  • clear error messages
  • stable CLI interfaces

Linux‑First Design

NMS_Tools targets real Linux systems, not cross‑platform abstractions.
Packaging is native (DEB and RPM), and behavior is tuned for operational reliability.

Nagios‑Friendly

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.


Philosophy

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

Contributing

Contributions are welcome.
Please keep submissions:

  • Deterministic
  • Lightweight
  • Operationally focused
  • Consistent with the suite’s monitoring philosophy

See CONTRIBUTING for details.


License

MIT License
See LICENSE for details.