MonTTY (Monitoring TTY), create system/security checks for Linux hosts, and monitor their results.
Project description
Links
Open Source MIT license: LICENSE
Installation: INSTALLATION.md
Documentation: docs
Source: src/montty
Issues: issues
Contributing: CONTRIBUTING.md
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca11adfdfbcc71b7f05389624bb1c8809c96b2cfe6ff2fd416d11e821fb6c15d |
|
MD5 | c65e1dc5630188112f4627851f00145e |
|
BLAKE2b-256 | a197af5c987b67f96598a83107a47a4314a9e6a35a976b8a539d11794c950ffb |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30e98dcfe8777b8e57352d2aaabbdca9f1b97c5dfc1f78c9334235a36e2119ac |
|
MD5 | 54d71007df9171456af027c82733f80f |
|
BLAKE2b-256 | a20f7466b10efe043176f2c67e74efa48c5046085acace7d2909ef589009fd58 |