123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- MoSheL: MOnitoring with SHEll Locally
- HISTORY
- First I wrote plugins for the Nagios (formerly NetSaint), especially the
- various versions of ASLrules (for Astaro Forewall, now sold as Sophos UTM).
- As most of the servers/services I want to monitor are remote systems,
- traditional NMS (relying on close-looped and/or unencrypted sessions) are
- either big, complicated to install for safe remote monitoring, ressource
- intense (when doing remote checks), lack a status history or a combination
- thereof.
- Thus I wrote a small, easily configured system: MoSSHe, later MoSShE.
- It primarily was intended for monitoring of a handful of typical internet
- systems. The more recent versions supported system and grouping features
- monitoring of serious numbers of systems.
- Constant changes in APIs and output formatting of tools made a proper
- support and maintenance difficult. Plus calculating averages etc. in
- BASH (which is nototiously SLOW) put a real strain on small monitoring
- servers like a RaspberryPi.
- So after 17 years after the first MoSSHe installment and 11 years after
- the big MoSShE rewrite this is the next iteration: even smaller, more
- decentralized, easier to adapt to local peculiarities.
- For bug reports and suggestions or if you just want to talk to me
- please contact me at volker.tanger@wyae.de
- Updates will be available at http://www.wyae.de/software/moshel/
- please check there for updates prior to submitting patches!
- ------------------------------------------------------------------------
- todo:
- - BUG (to fix): locking
- - NEED: move temp. directory (status, flap detection) to increase
- SD-card/SSD lifetime
- needs: protection against symlink attacks
- - want: SLA reports, downtimes/availability
- - want: (re)check on Bourne-SH and Busybox compatibility
- - maybe: modular checks for easier installation by installed software
- (specific checks for MySQL, postfix, dovecot, apache, ...)
- - maybe: CheckResultIsExactly (String-Match)
- can be done with
- "CheckCountMoreThan TITLE "script" '/MATCH/{print $0}' 0 "ERRORMSG"
- - maybe: CheckResultDoesNotContain (String-Match)
- can be done with
- "CheckCountLessThan TITLE "script" '/MATCH/{print $0}' 1 "ERRORMSG"
- wanted checks (examples)
- - network bandwidth
- - AVM Fritz!Box router status
- - SNMP especially for Windows servers
- - disk usage of single directory
- - remote checks: IMAP, POP3, SMTP, SAMBA, ...
- (local checks for bound ports are already available)
- - KVM (and other virtualization) checks
- ------------------------------------------------------------------------
- 2024-08-27
- Volker Tanger <volker.tanger@wyae.de>
- * bugfix: corrected bugfix before: check for non-numeric values.
-
- 2024-08-05
- Volker Tanger <volker.tanger@wyae.de>
- * bugfix: removed old "check failed" when value is 0
-
- 2024-08-02
- Volker Tanger <volker.tanger@wyae.de>
- * feature: changed alert message (removed values) to reduce alert fatique
-
- 2024-07-26
- Volker Tanger <volker.tanger@wyae.de>
- * feature: added maintenance mode, disabling checks (just insert message)
-
- 2024-05-28
- Volker Tanger <volker.tanger@wyae.de>
- * bugfix: stabilized OpenDTU + Shelly queries (longer timeout, retries)
-
- 2024-05-16
- Volker Tanger <volker.tanger@wyae.de>
- * feature: added OpenDTU to example
- (solar generation readout for Hoymiles micro-inverters)
-
- 2024-05-08
- Volker Tanger <volker.tanger@wyae.de>
- * feature: added Shelly Gen2 API to example (e.g. for ShellyPlugS)
-
- 2024-05 onward
- re-licensed unter EUPL v1.2
- 2023-11 onward
- see the GIT repository https://git.wyae.de/WYAE/moshel
- v2.1.3 2023-09-02
- Volker Tanger <volker.tanger@wyae.de>
- * cleanup/bugfix: added "-f" to "rm" at the beginin of Centralize() to avoid error message
- v2.1.2 2023-08-01
- Volker Tanger <volker.tanger@wyae.de>
- * cleanup: deprecating Summarize()
- * feature: preparing mail alerts for individual funtions
- * bugfix: accidentally published a non-working intermediate
- state (bad escaping-CopyPaste, missing funcrion end)
- v2.1.0 2023-05-24
- Volker Tanger <volker.tanger@wyae.de>
- * cleanup: escaping if variables in Centralize()
- * cleanup: removed even more from deprecated Summarize()
- * cleanup: prepared for explicit mail alerts and central
- mail alerts
- v2.0.2 2023-05-17
- Volker Tanger <volker.tanger@wyae.de>
- * bugfix: ActionOnAlert did not do anything, only mailed that
- it did. Now added the missing command execution.
- v2.0.1 2023-04-01
- Volker Tanger <volker.tanger@wyae.de>
- * bugfix: ActionOnAlert triggered on failure AND(!) resolve,
- now on failure only.
- v2.0.0 2023-03-19
- Volker Tanger <volker.tanger@wyae.de>
- * (unlikely but) breaking change: removed unused "checks" file
- * feature: ActionOnAlert - automate e.g. restart
- v1.1.1 2022-09-14
- Volker Tanger <volker.tanger@wyae.de>
- * bugfix: fix copy-paste-error (when snippet unreachable)
- * feature: create central overview page with all graphs
- * deprecate warning for Summarize()
- v1.1.0 2022-09-13
- Volker Tanger <volker.tanger@wyae.de>
- * bugfix: reduce timeout for summary page
- * cleanup: create subroutine for message outputs
- * feature: create local overview page with all graphs
- v1.0.13 2022-06-12
- Volker Tanger <volker.tanger@wyae.de>
- * bugfix: correct incomplete lines in QNAP snmp check sample
- v1.0.12 2022-02-19
- Volker Tanger <volker.tanger@wyae.de>
- * feature: added radio temperature sensor readout check
- * feature: added checks wether there are services which bound
- TCP ports (i.e. are running)
- v1.0.11 2021-11.21
- Volker Tanger <volker.tanger@wyae.de>
- * feature: added TLS certificate check for https
- v1.0.10 2021-09-07
- Volker Tanger <volker.tanger@wyae.de>
- * bugfix: position change for mysqladmin in the new Debian 11
- * feature: convert KB/MB/GB (see RAM and HDD capacity checks)
- * feature/bug(fix): alternate memory check for Linux
- (the "free"-based sometimes fails for unknown reasons)
- v1.0.9 2021-05-26
- Volker Tanger <volker.tanger@wyae.de>
- * feature: test for measuring PING times (avg.)
- v1.0.8 2021-04-30
- Volker Tanger <volker.tanger@wyae.de>
- * bugfix: basic value verification (better error handling)
- * bugfix: alert if status download in SUMMARY command fails
- * feature: monitoring APC UPCs with apcaccess tool (part of apcupsd)
- v1.0.7 2021-02-20
- Volker Tanger <volker.tanger@wyae.de>
- * feature: monitoring QNAP NAS via SNMP
- v1.0.6 2020-12-15
- Volker Tanger <volker.tanger@wyae.de>
- * bugfix: corrected nonworking FlipFlop-detection
- v1.0.5 2020-11-26
- Volker Tanger <volker.tanger@wyae.de>
- * feature: SmartMonTools SSD + HDD measurements
- v1.0.4 2020-11-12
- Volker Tanger <volker.tanger@wyae.de>
- * feature: temperature measurement for RaspberryPi4
- * bugfix: added missing removing temp diff files
- v1.0.3 2020-10-30
- Volker Tanger <volker.tanger@wyae.de>
- * bugfix: alerting caused shell error messages whenver there
- was no alert (error was introduced in 1.0.2)
- * bugfix: wait a bit for other systems in Summary()
- v1.0.2 2020-10-29
- Volker Tanger <volker.tanger@wyae.de>
- * bugfix: alerting now without values so they do not trigger
- new alerts whenever an alerted state changes value
- * feature: alarm with "changed" section, to get "ok again"
- mails, too.
- v1.0.1 2020-10-10
- Volker Tanger <volker.tanger@wyae.de>
- * cleanup: typos, formatting
- v1.0.0 2020-10-10
- Volker Tanger <volker.tanger@wyae.de>
- * initial release
- -----------------------------------------------------------------------
- Licensed under the EUROPEAN UNION PUBLIC LICENCE v. 1.2 (or later)
- -----------------------------------------------------------------------
- This is free software - see attached file LICENSE_EUPL-1.2_EN.txt
- and available in other languages under
- https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- Copyright (C) 2020- Volker Tanger
- -----------------------------------------------------------------------
|