Skip to main content

MonTTY (Monitoring TTY), create system/security checks for Linux hosts, and monitor their results.

Project description

Disclaimer

All trademarks, service marks, and product names mentioned in this document are the property of their respective owners

Purpose

MonTTY stands for Monitoring TTY.

It is a tool for Linux hosts, that:

  • Allows you to create custom system and cybersecurity checks - using bash or Python scripts,

  • Provides the check results in a terminal/console format, allowing you to monitor and review the results.

Check results for MonTTY look like this:

Overview

MonTTY consists of a set of Python applications that run on Linux hosts, to perform system and cybersecurity checks that you write. It is installed into a Python virtual environment to avoid affecting the system’s Python installation.

MonTTY consists of 4 Python applications or “apps”:

  • Checker app,

  • Manager app,

  • Monitor app,

  • Deployer app.

A Linux server is designated as the “MonTTY server”. This runs the Manager and Monitor apps.

The Checker app runs on the Linux hosts to be checked. It can also run on the MonTTY server, when it is known as a “local checker”.

The Monitor app displays the check results, and runs on the MonTTY server.

The Checker and Manager apps, run automatically using Linux cron jobs.

Checker app

The Checker app runs the check scripts (written in Python or bash), on Linux hosts to be checked.

These check results are packaged into “check reports”, and transferred to the MonTTY server using SCP.

The check report status, can be either:

  • ALERT,

  • WARN,

  • OKAY,

  • or NA.

The check report’s status, is determined by the highest status - of individual checks it contains.

A few example check scripts are supplied with MonTTY. These are just basic somewhat contrived examples, to serve as demonstrations - of how checks can be written.

Manager app

The Manager app organizes and moves check reports into directories based on their status.

Reports with a status of WARN, OKAY, or NA are deleted after their Time-to-Live (TTL) expires (5 minutes). ALERT status reports are never deleted automatically, and must be deleted by the user.

Monitor app

The Monitor app displays check reports in a terminal/console, prioritizing ALERT status reports, then WARN, and finally OKAY/NA reports.

The reports are viewed on the MonTTY server, either by the user being locally logged in, or by an SSH connection.

Users can then view the reports, and interact with them using simple commands.

Deployer app

The Deployer app finishes up the install of MonTTY. It mainly extracts necessary files and directories from the MonTTY Python package distribution, into the MonTTY project directory.

The Deployer app, works on the concept of the MonTTY “project dir”. This is the directory where the MonTTY Python distribution is interred into a Python virtual environment. This exists on the MonTTY server host, and all checked hosts.

The Deployer app unpacks from the MonTTY Python distribution, the following directories:

  • “CHECKS”, where the MonTTY checks are stored, along with their associated support files. MonTTY ships with some example check files,

  • “REPORTS”, where the check report files are stored while they are processed.

Also unpacked are two bash shell scripts:

  • “run.sh”, runs all MonTTY apps,

  • “spy.sh”, allows you to monitor the REPORTS directory as MonTTY operates.

Apps schematic

This diagram illustrates how the MonTTY apps, interrelate:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

montty-1.0.0.tar.gz (198.4 kB view details)

Uploaded Source

Built Distribution

montty-1.0.0-py3-none-any.whl (106.1 kB view details)

Uploaded Python 3

File details

Details for the file montty-1.0.0.tar.gz.

File metadata

  • Download URL: montty-1.0.0.tar.gz
  • Upload date:
  • Size: 198.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for montty-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ca11adfdfbcc71b7f05389624bb1c8809c96b2cfe6ff2fd416d11e821fb6c15d
MD5 c65e1dc5630188112f4627851f00145e
BLAKE2b-256 a197af5c987b67f96598a83107a47a4314a9e6a35a976b8a539d11794c950ffb

See more details on using hashes here.

File details

Details for the file montty-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: montty-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 106.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for montty-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 30e98dcfe8777b8e57352d2aaabbdca9f1b97c5dfc1f78c9334235a36e2119ac
MD5 54d71007df9171456af027c82733f80f
BLAKE2b-256 a20f7466b10efe043176f2c67e74efa48c5046085acace7d2909ef589009fd58

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page