-
-
Notifications
You must be signed in to change notification settings - Fork 166
/
CHANGELOG
188 lines (176 loc) · 7.42 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
1.13.0:
* Add ntfy alerter
1.12.1:
* Adjust no-alerters message to warn not critical
* Include output on "command" monitor failure
* Switch map output to just OSM
* Make make_start option required if map is enabled
* Improve help output and add basic man page
* Add hostname to notifications
* Support loading config files from a directory
* Add timeout for receive in network listener
* Add option to capture "command" monitor output
* Switch to icmplib for "ping" monitor
1.12:
* Require Python 3.7+
* Add allow_redirects option for HTTP monitor
* Add port option for DNS monitor
* Improve reliability of network logging thread
* Fix display of 60 seconds up/downtime as "1:00" instead of "0:60"
* Add heartbeat option to Loggers
* Add downtime to monitor recovery message
* Add nextcloud alerter
* Add support for Ring camera
* Improve logic for OOH alerting
* Improve compound monitor alert/failure calculation
* Remove PyOpenSSL and use native SSL support
* Improve efficiency for copying HTML files around
* Fix double-call to record_fail in unix service monitor
1.11:
* Run monitors multithreaded
* Add TLS certificate expiry monitor
* Add unifi failover/watchdog monitors
* Add sms77 alerter
* Add twilio SMS alerter
* Add fileloggerng logger with rotation support
* Add seq logger
* Improve timezone support for alerters
* Add option to only listen on IPv4 for remote instances
* Make group filtering work on remote monitors
* Add "_all" group
* Add enabled option for monitors
* Improve HASS logger
* Add new remote logging protocol
* Remove pickle support for remote instances
* Add client_name option for remote logging
* Add descriptions to alerters and loggers
* Add support for cc field in SMTP logger
* Use jinja2 template for HTML logger rendering
* Add map output option for HTML logger
* Add gps property to monitors, currently only used for map output
* Rewrite documentation, now built with Sphinx and hosted at RTD
* Use poetry for project/dependency management
* Assorted code refactoring and bugfixes
1.10:
* REQUIRE PYTHON >= 3.6.2
* New style HTML page for HTML logger
* Track availability percentage, and include in HTML
* Add Arlo battery monitor
* Add Amazon SNS alerter
* Add only_failures option to alerters
* Add failure_doc property to monitors, to allow linking to e.g. runbooks
* Use psutil library to monitor Windows Services; fixes issue where non-English localisations broke
* Add memory and swap monitors
* Add group support to loggers
* Add unix_service monitor, for generic cross-flavour service checking (if "service X status" works, you can use this)
* Add process monitor, to check a process(es) are running
* Add option to bind network listener to a specific IP
* Add new ping monitor, which uses a Python library to ping hosts. Fixes issues from trying to parse ping(8) output (e.g. localisations), but requires root to work
* Add username/password options for MQTT logger
* Improve timezone handling; everything is done in UTC internally and you can specify the timezone to use for alerters and loggers
* Improve handling of exceptions thrown but not handled by monitors
* Improve handling of monitors which went away (or were renamed) on remote hosts
* Improve reporting of SSL errors in HTTP monitor
* Unified alert message generator across all Alerters
* Many code improvements and refactoring to support new features in the future
1.9:
* REQUIRE PYTHON >= 3.5
* Switch to distribution as a pip package! You can now "pip install simplemonitor"
* Add memory monitor
* Add Ring doorbell monitor (checks battery level)
* Add support for checking file is not too large
* Add support for running a command when a monitor recovers
* Add support for reloading config on the fly
* Fixes to compound monitor logic
* HTTP monitor can check both return code and regexp now
* Update pkgaudit monitor to chase new output format
* DNS monitor can check response is NXDOMAIN
* Many code quality improvements (I hope)
1.8:
* REMOVED SUPPORT FOR Python 2.6
* LAST RELEASE TO SUPPORT 2.7
* CHANGED REMOTE MONITOR PROTOCOL (security fix)
* Support Python 3
* Add JSON logger
* Add 46elks SMS alerter
* Add PushBullet alerter
* Add Telegram alerter
* Add Notification Center alerter (for macOS)
* Add systemd unit monitor
* Add Home Automation monitor
* Add MQTT logger
* Improve Slack alerter's configurability
* Add basic HTTP Auth and timeouts to HTTP monitor
* Verify SSL certificates by defaults
* Add notification groups
* Add support for environment variables in config values and section names
* Add tests
* Add sample docker configurations
* Use Pipenv for requirements management
* Added example startup scripts including a Windows Service
* Improved logging output (to stdout, not the Logger class)
* IPv6 support for network Logger
* DB Loggers now auto-create the database/table as needed, and can update schema version
* Email Logger now supports multiple addresses
* DNS Monitor now supports multivalue responses
* Use JSON format for remote monitor protocol; more secure than pickle
1.7:
+ Add Slack alerter
+ Add Command monitor
+ Add pkg audit monitor
+ Add SSL client auth
+ Add Amazon SES alerter
+ Add a sample upstart script
+ Add support for Pushover
+ Add support for alerters to repeat
+ Support username/password and SSL support for SMTP
* Use subprocess everywhere
* Honour SMTP port in configuration
* Honour gap configuration option
* Use HTTPS for BulkSMS API
* Date format for logfile is configurable
* Use UTC everywhere for times; should fix monitors which have been down -1 hours
* Teach the host (ping) monitor to use command line options better on
different operating systems
* Verify dependencies exist
* Stop alerters from firing success notifications out-of-hours
1.6:
* Added DNS monitor
* Added Execute logger
1.4:
* Fixed a problem where success alerts were always sent
* Many other small fixes
+ Added remote monitor/central reporting support
+ Added support for monitor defaults
+ Added HTML logger type to generate a status webpage
+ Added syslog alerter
1.3:
+ Added -p option to write a pidfile
+ Added support for a HUP signal to close/reopen logfiles
1.2:
* Refactored monitor/logger/alerter registration code
These objects are now more self-loading and just need to be
passed a dict of their config options.
* Changed to using packages for monitors, loggers and alerters.
* Fixed bug where initial failure time was always the most recent
failure time.
* Fixed a bug with the DiskSpace monitor which meant the free space
on non-Windows platforms was incorrectly calculated.
* Changed the intention of the DiskSpace monitior on non-Windows
platforms to measure the non-superuser free space.
* Fixed a bug which could mean the main loop ignored the interval
if an error occurred during tests.
* Better support for the dry_run setting on alerters
* BulkSMS sender now limits messages to 160 chars (otherwise BulkSMS
rejects them).
* Formatted times in alerts to not include microseconds
+ Monitors now know their own name
+ Alerters now have configurable time ranges for operation.
+ Alerters now have days of operation.
+ Alerters can hold alerts that occur out-of-hours and update you
if the monitor is still failed when they become in-hours.
+ Email alerts for failure now include downtime (which will be 0 for
an alert that fires immediately, but may be useful for alerters with
a limit).
<= 1.1:
* Changes not tracked.