{ "info": { "author": "Nekmo", "author_email": "contacto@nekmo.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: POSIX", "Operating System :: POSIX :: BSD", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: System :: Monitoring", "Topic :: System :: Networking :: Monitoring", "Topic :: System :: Networking :: Monitoring :: Hardware Watchdog" ], "description": ".. image:: https://img.shields.io/travis/Nekmo/simple-monitor-alert.svg?style=flat-square\n :target: https://travis-ci.org/Nekmo/simple-monitor-alert\n :alt: Latest Travis CI build status\n\n.. image:: https://img.shields.io/pypi/v/simple-monitor-alert.svg?style=flat-square\n :target: https://pypi.python.org/pypi/simple-monitor-alert\n :alt: Latest PyPI version\n\n.. image:: https://img.shields.io/pypi/pyversions/simple-monitor-alert.svg?style=flat-square\n :target: https://pypi.python.org/pypi/simple-monitor-alert\n :alt: Python versions\n\n.. image:: https://img.shields.io/codeclimate/github/Nekmo/simple-monitor-alert.svg?style=flat-square\n :target: https://codeclimate.com/github/Nekmo/simple-monitor-alert\n :alt: Code Climate\n\n.. image:: https://img.shields.io/codecov/c/github/Nekmo/simple-monitor-alert/master.svg?style=flat-square\n :target: https://codecov.io/github/Nekmo/simple-monitor-alert\n :alt: Test coverage\n\n.. image:: https://img.shields.io/requires/github/Nekmo/simple-monitor-alert.svg?style=flat-square\n :target: https://requires.io/github/Nekmo/simple-monitor-alert/requirements/?branch=master\n :alt: Requirements Status\n\n\nSimple Monitor Alert\n####################\nA simple monitor with alerts for Unix/Linux under the KISS philosophy. Keep It Simple, Stupid!\n\n- **Light**: Only ~7MiB of RAM. (That's great for your raspberry pi!)\n- Very **easy** to use and understand.\n- Write **your own monitors** in any language (Bash, Python, Perl, JS, Ruby, PHP, C, C++...).\n- **Awesome features**: send alerts once or several times, graphic peak...\n- No server required. You can run as a **daemon or using crond**.\n- Easy to **debug** and test.\n- Multiple ways to send alerts: **email, telegram**...\n- **Easy configuration** in a single file.\n\nAvailable monitors:\n\n- **Hard disks**: SMART, temperature, free space, Mdadm (linux RAID).\n- **System**: CPU usage, free RAM, free SWAP, monitorize services (daemons), sensors, [time]...\n- **Web**: load time, return code, content in page.\n- **Network**: ping, [port, dynamic ip].\n- **Others**: [Log monitor, google cloud print]\n\nScreencast\n==========\n\n.. image:: https://asciinema.org/a/ez93g4bewogf6wss7bxxnc5tz.png\n :target: https://asciinema.org/a/ez93g4bewogf6wss7bxxnc5tz\n\n\n3-Step Quick Start Guide\n========================\n\n1. Install it from Pypi::\n\n $ sudo pip install simple-monitor-alert\n\n2. Edit `/etc/simple-monitor-alert/sma.ini` and defines the recipient of the alerts::\n\n [mail]\n to = awesome@email.com\n\n3. Execute sma::\n\n # Just once:\n $ sma\n # or... Run as a service (daemon)\n $ sma service\n # or... Run usign system service:\n $ sudo systemctl start sma\n\nAnd yes, that's it!\n\n5 minutes guide\n===============\n\nFiles and directories:\n\n * `/etc/simple-monitor-alert/sma.ini` (file): all-in-one config file. Configure monitors and alerts methods.\n * `/etc/simple-monitor-alert/monitors-available` (directory): All monitors available for usage. You can create monitors here.\n * `/etc/simple-monitor-alert/monitors-enabled` (directory): All monitors that are here are activated.\n * `/etc/simple-monitor-alert/alerts` (directory): Alerts methods available. You need to configure them in sma.ini.\n\n\nEnable and disable monitors\n---------------------------\nAll monitors in `/etc/simple-monitor-alert/monitors-enabled` are enabled. It is recommended that files are symbolic\nlinks. To **activate** a monitor::\n\n $ cd /etc/simple-monitor-alert/monitors-enabled\n $ sudo ln -s ../monitors-available/mdadm.sh\n\nTo **disable**::\n\n $ cd /etc/simple-monitor-alert/monitors-enabled\n $ rm mdadm.sh # It's safe. mdadm is a symlink.\n\nWe recommend you read the beginning of the monitor before activating. Some monitors may require parameters and\nconfigure the system. For example::\n\n $ head -n 6 /etc/simple-monitor-alert/monitors-available/service.sh\n #!/usr/bin/env bash\n # Service Status monitor.\n # Verify that the service is running.\n # It requires a parameter: service name. For example, sshd.\n # [service]\n # service_status.param = sshd\n\n\nTo pass the parameter you must add the following to `sma.ini`::\n\n [service]\n service_status.param = sshd\n\nTo monitor multiple services::\n\n [service]\n service_status(sshd).param = sshd\n service_status(ntpd).param = ntpd\n\n\nDebugging\n---------\nYou can test your monitors running them::\n\n $ /etc/simple-monitor-alert/monitors-available/mdadm.sh\n mdadm(md0).name = 'Mdadm /dev/md0'\n mdadm(md0).expected = 0\n mdadm(md0).value = 0\n\nYou can also run sma and see the results::\n\n $ sma\n 2016-05-03 00:28:14,972 - sma - INFO - Trigger: [success] (mdadm) mdadm(md0). Result: 0 == 0\n 2016-05-03 00:28:14,990 - sma - INFO - Trigger: [success] (system) ram. Result: 32.1427 <= 85\n 2016-05-03 00:28:14,990 - sma - INFO - Trigger: [success] (system) cpu. Result: 9.57627 <= 80\n 2016-05-03 00:28:15,156 - sma - WARNING - Trigger: [warning] (hdds) pcnt_use(sdc1). Assertion 98 <= 80 failed.\n Extra info: Space: 23G/25G\n 2016-05-03 00:28:15,157 - sma - WARNING - Trigger: [warning] (hdds) pcnt_use(md0). Assertion 100 <= 80 failed.\n Extra info: Space: 5,4T/5,5T\n\nTo test the alerts you can use::\n\n $ sma alerts --test\n\n\nMy first monitor\n----------------\nSMA works by checking the output of your monitor script. A monitor has observables. Each observable has 2 major\nsections: the expected value and the value obtained::\n\n observable1.expected = yes\n observable1.value = yes\n observable2.expected = yes\n observable2.value = no\n\nIn this example the first observable is fine and the second is under error. Your program should return something\nsimilar. The following example check that a file exists::\n\n #!/usr/bin/env bash\n echo \"file_exists.expected = yes\"\n if [ -f \"/path/to/file\" ]; then value=\"yes\"; else value=\"no\"; fi\n echo \"file_exists.value = $value\"\n\nOutput::\n\n $ /etc/simple-monitor-alert/monitors-available/example-1.sh\n file_exists.expected = yes\n file_exists.value = no\n\nThere are more options with monitors, such as obtaining arguments. For more information see the documentation.", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/Nekmo/simple-monitor-alert/archive/master.zip", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Nekmo/simple-monitor-alert", "keywords": "linux,unix,monitor,alert,simple-monitor-alert,notifications,email,telegram", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "simple-monitor-alert", "package_url": "https://pypi.org/project/simple-monitor-alert/", "platform": "linux", "project_url": "https://pypi.org/project/simple-monitor-alert/", "project_urls": { "Download": "https://github.com/Nekmo/simple-monitor-alert/archive/master.zip", "Homepage": "https://github.com/Nekmo/simple-monitor-alert" }, "release_url": "https://pypi.org/project/simple-monitor-alert/0.2.4/", "requires_dist": null, "requires_python": null, "summary": "A simple monitor with alerts for Unix/Linux under the KISS philosophy. Keep It Simple, Stupid!", "version": "0.2.4" }, "last_serial": 2154979, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6e9634c6b8ea3d5be32be9ee1379e794", "sha256": "8bfba177ae7761db694cb8dd321453e2695f887fed2b0080804e528e0fa69b8c" }, "downloads": -1, "filename": "simple-monitor-alert-0.1.0.tar.gz", "has_sig": false, "md5_digest": "6e9634c6b8ea3d5be32be9ee1379e794", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21202, "upload_time": "2016-05-05T01:51:24", "url": "https://files.pythonhosted.org/packages/01/a7/dc88243642e4abb418b724dd3bf83cb0c204fdea24e67e3620503470ee00/simple-monitor-alert-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "2e460066b65e2bb8d3526c6fb559721a", "sha256": "f04bb08bb0c51b12080805c9281ac678669cf8413bc7053cfee4f30e3a95f508" }, "downloads": -1, "filename": "simple-monitor-alert-0.1.1.tar.gz", "has_sig": false, "md5_digest": "2e460066b65e2bb8d3526c6fb559721a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21196, "upload_time": "2016-05-05T02:29:42", "url": "https://files.pythonhosted.org/packages/1c/6c/3c33b96a23e42f03e5b21b337b5c40dc97050c07bed6da457a3fa1c73583/simple-monitor-alert-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "69bc24d938dfcaf4a9bcd6c9a563887a", "sha256": "c2fe3a6ec9dcae3021d050c2932f0a23cf1b27d75033c19524178eb854383968" }, "downloads": -1, "filename": "simple-monitor-alert-0.1.2.tar.gz", "has_sig": false, "md5_digest": "69bc24d938dfcaf4a9bcd6c9a563887a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21178, "upload_time": "2016-05-06T02:23:46", "url": "https://files.pythonhosted.org/packages/26/10/6183736a43f9e27d62b1a2a1fe187d0e1b2f104f18a906819e0cfb5901e5/simple-monitor-alert-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "1d1f735a0700c46733309dd4ac97e76e", "sha256": "777c962c811f284ad90a76ebf623565e1ffb53dd3a024d9f1ffe6702ef6ac378" }, "downloads": -1, "filename": "simple-monitor-alert-0.2.0.tar.gz", "has_sig": false, "md5_digest": "1d1f735a0700c46733309dd4ac97e76e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29158, "upload_time": "2016-06-03T12:43:01", "url": "https://files.pythonhosted.org/packages/f7/47/4af0049701a007b1a600c42533f8935810fdb5a3b7b45d12876288859149/simple-monitor-alert-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "de3de68ba2d445f031b71f372a38820b", "sha256": "8c911c9473851fd398c02b0b33e9c4b5e6ccf5227c84a632db1967f28f9a8229" }, "downloads": -1, "filename": "simple-monitor-alert-0.2.1.tar.gz", "has_sig": false, "md5_digest": "de3de68ba2d445f031b71f372a38820b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29359, "upload_time": "2016-06-03T13:10:39", "url": "https://files.pythonhosted.org/packages/5d/eb/461a4c0d7e9223d7418f146a73d3c88af6300e188204c3df5418a2590136/simple-monitor-alert-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "25a27a7c5bb22b9cd23ca5f0ca5a24cf", "sha256": "f273a00dd4b318cc8a7afa88ef6efcbf90243128e08b158255dc08e749d8cd77" }, "downloads": -1, "filename": "simple-monitor-alert-0.2.2.tar.gz", "has_sig": false, "md5_digest": "25a27a7c5bb22b9cd23ca5f0ca5a24cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29700, "upload_time": "2016-06-03T13:57:58", "url": "https://files.pythonhosted.org/packages/f2/58/41af71c1dda34c0e84fd0d95367e8b511a3d552c15a578f608fc5895ee8f/simple-monitor-alert-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "a797309a86e0a7bb57f53358f451c9df", "sha256": "3a1586d4c6e973cbf6dafa0efd2299b0d3ed3f8fcc46e91671063375dff31e6c" }, "downloads": -1, "filename": "simple-monitor-alert-0.2.3.tar.gz", "has_sig": false, "md5_digest": "a797309a86e0a7bb57f53358f451c9df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31733, "upload_time": "2016-06-04T17:30:39", "url": "https://files.pythonhosted.org/packages/77/7a/b0be93a4cb53c1d015cc90c96e23f14f2ebf763b36b7535affa87021cedb/simple-monitor-alert-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "cf6e714586b6b229eee869516f778575", "sha256": "83b6dbacc4318646227cb30a443cdfc9bf776c761f62d7c9b3d36b3e663d7c80" }, "downloads": -1, "filename": "simple-monitor-alert-0.2.4.tar.gz", "has_sig": false, "md5_digest": "cf6e714586b6b229eee869516f778575", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34566, "upload_time": "2016-06-07T14:34:38", "url": "https://files.pythonhosted.org/packages/56/b8/817e4530d5823acd7e4951acfb68b3c80cfb4e881143d3928bd2ced892eb/simple-monitor-alert-0.2.4.tar.gz" } ], "0.2.4a2": [ { "comment_text": "", "digests": { "md5": "101ca6dc100f925b5a17d7ed5f82fc98", "sha256": "977594de391d84be0fabde4a1dd6cc63643c468c587e5b23b07be3fa573597fe" }, "downloads": -1, "filename": "simple-monitor-alert-0.2.4a2.tar.gz", "has_sig": false, "md5_digest": "101ca6dc100f925b5a17d7ed5f82fc98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34563, "upload_time": "2016-06-07T14:30:30", "url": "https://files.pythonhosted.org/packages/8d/4e/37e5a6bd62111448a21cd762821b1310ce76c691c9a452c03d7b2dc1b2a4/simple-monitor-alert-0.2.4a2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cf6e714586b6b229eee869516f778575", "sha256": "83b6dbacc4318646227cb30a443cdfc9bf776c761f62d7c9b3d36b3e663d7c80" }, "downloads": -1, "filename": "simple-monitor-alert-0.2.4.tar.gz", "has_sig": false, "md5_digest": "cf6e714586b6b229eee869516f778575", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34566, "upload_time": "2016-06-07T14:34:38", "url": "https://files.pythonhosted.org/packages/56/b8/817e4530d5823acd7e4951acfb68b3c80cfb4e881143d3928bd2ced892eb/simple-monitor-alert-0.2.4.tar.gz" } ] }