montty


Namemontty JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryMonTTY (Monitoring TTY), create system/security checks for Linux hosts, and monitor their results.
upload_time2024-11-13 23:58:37
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT License Copyright (c) 2024 Gwyn Davies Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords bash checks cybersecurity devops linux monitoring python secops system
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            MonTTY
======

Links
-----

* Open Source MIT license: `LICENSE <https://github.com/GwynDavies/montty/blob/main/LICENSE>`_
* Installation: `INSTALLATION.md <https://github.com/GwynDavies/montty/blob/main/INSTALLATION.md>`_
* Documentation: `docs <https://github.com/GwynDavies/montty/tree/main/docs>`_
* Source: `src/montty <https://github.com/GwynDavies/montty/blob/main/src/montty>`_
* Issues: `issues <https://github.com/GwynDavies/montty/issues>`_
* Contributing: `CONTRIBUTING.md <https://github.com/GwynDavies/montty/blob/main/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:

* `Check report screen display <https://github.com/GwynDavies/montty/blob/main/docs/images/screenshot.png>`_


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:

* `MonTTY apps schematic <https://github.com/GwynDavies/montty/blob/main/docs/images/montty_app_schematic.png>`_



            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "montty",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "Gwyn Davies <gwynmdavies@cox.net>",
    "keywords": "bash, checks, cybersecurity, devops, linux, monitoring, python, secops, system",
    "author": null,
    "author_email": "Gwyn Davies <gwynmdavies@cox.net>",
    "download_url": "https://files.pythonhosted.org/packages/a1/97/af5c987b67f96598a83107a47a4314a9e6a35a976b8a539d11794c950ffb/montty-1.0.0.tar.gz",
    "platform": null,
    "description": "MonTTY\n======\n\nLinks\n-----\n\n* Open Source MIT license: `LICENSE <https://github.com/GwynDavies/montty/blob/main/LICENSE>`_\n* Installation: `INSTALLATION.md <https://github.com/GwynDavies/montty/blob/main/INSTALLATION.md>`_\n* Documentation: `docs <https://github.com/GwynDavies/montty/tree/main/docs>`_\n* Source: `src/montty <https://github.com/GwynDavies/montty/blob/main/src/montty>`_\n* Issues: `issues <https://github.com/GwynDavies/montty/issues>`_\n* Contributing: `CONTRIBUTING.md <https://github.com/GwynDavies/montty/blob/main/CONTRIBUTING.md>`_\n\n\nDisclaimer\n----------\n\nAll trademarks, service marks, and product names mentioned in this document are the property of their respective owners\n\n\nPurpose\n-------\n\nMonTTY stands for Monitoring TTY.\n\nIt is a tool for Linux hosts, that:\n\n* Allows you to create custom system and cybersecurity checks - using bash or Python scripts,\n* Provides the check results in a terminal/console format, allowing you to monitor and review the results.\n\nCheck results for MonTTY look like this:\n\n* `Check report screen display <https://github.com/GwynDavies/montty/blob/main/docs/images/screenshot.png>`_\n\n\nOverview\n--------\n\nMonTTY 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.\n\nMonTTY consists of 4 Python applications or \"apps\":\n\n* Checker app,\n* Manager app,\n* Monitor app,\n* Deployer app.\n\nA Linux server is designated as the \"MonTTY server\". This runs the Manager and Monitor apps.\n\nThe 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\".\n\nThe Monitor app displays the check results, and runs on the MonTTY server.\n\nThe Checker and Manager apps, run automatically using Linux cron jobs.\n\n\nChecker app\n-----------\n\nThe Checker app runs the check scripts (written in Python or bash), on Linux hosts to be checked.\n\nThese check results are packaged into \"check reports\", and transferred to the MonTTY server using SCP.\n\nThe check report status, can be either:\n\n* ALERT, \n* WARN, \n* OKAY, \n* or NA.\n\nThe check report's status, is  determined by the highest status - of individual checks it contains.\n\nA 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.\n\n\nManager app\n-----------\n\nThe Manager app organizes and moves check reports into directories based on their status.\n\nReports 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.\n\n\nMonitor app\n-----------\n\nThe Monitor app displays check reports in a terminal/console, prioritizing ALERT status reports, then WARN, and finally OKAY/NA reports.\n\nThe reports are viewed on the MonTTY server, either by the user being locally logged in, or by an SSH connection.\n\nUsers can then view the reports, and interact with them using simple commands.\n\n\nDeployer app\n------------\n\nThe 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.\n\nThe 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.\n\nThe Deployer app unpacks from the MonTTY Python distribution, the following directories:\n\n* \"CHECKS\", where the MonTTY checks are stored, along with their associated support files. MonTTY ships with some example check files,\n* \"REPORTS\", where the check report files are stored while they are processed.\n\nAlso unpacked are two bash shell scripts:\n\n* \"run.sh\", runs all MonTTY apps,\n* \"spy.sh\", allows you to monitor the REPORTS directory as MonTTY operates.\n\n\nApps schematic\n--------------\n\nThis diagram illustrates how the MonTTY apps, interrelate:\n\n* `MonTTY apps schematic <https://github.com/GwynDavies/montty/blob/main/docs/images/montty_app_schematic.png>`_\n\n\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2024 Gwyn Davies  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "MonTTY (Monitoring TTY), create system/security checks for Linux hosts, and monitor their results.",
    "version": "1.0.0",
    "project_urls": {
        "Homepage": "https://github.com/GwynDavies/montty",
        "Issues": "https://github.com/GwynDavies/montty/issues"
    },
    "split_keywords": [
        "bash",
        " checks",
        " cybersecurity",
        " devops",
        " linux",
        " monitoring",
        " python",
        " secops",
        " system"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a20f7466b10efe043176f2c67e74efa48c5046085acace7d2909ef589009fd58",
                "md5": "54d71007df9171456af027c82733f80f",
                "sha256": "30e98dcfe8777b8e57352d2aaabbdca9f1b97c5dfc1f78c9334235a36e2119ac"
            },
            "downloads": -1,
            "filename": "montty-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "54d71007df9171456af027c82733f80f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 106128,
            "upload_time": "2024-11-13T23:58:33",
            "upload_time_iso_8601": "2024-11-13T23:58:33.728147Z",
            "url": "https://files.pythonhosted.org/packages/a2/0f/7466b10efe043176f2c67e74efa48c5046085acace7d2909ef589009fd58/montty-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a197af5c987b67f96598a83107a47a4314a9e6a35a976b8a539d11794c950ffb",
                "md5": "c65e1dc5630188112f4627851f00145e",
                "sha256": "ca11adfdfbcc71b7f05389624bb1c8809c96b2cfe6ff2fd416d11e821fb6c15d"
            },
            "downloads": -1,
            "filename": "montty-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c65e1dc5630188112f4627851f00145e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 198447,
            "upload_time": "2024-11-13T23:58:37",
            "upload_time_iso_8601": "2024-11-13T23:58:37.005972Z",
            "url": "https://files.pythonhosted.org/packages/a1/97/af5c987b67f96598a83107a47a4314a9e6a35a976b8a539d11794c950ffb/montty-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-13 23:58:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "GwynDavies",
    "github_project": "montty",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "montty"
}
        
Elapsed time: 0.41078s