andreas
d7e6b478e1
fix: use shlex.split() in nagios_runner path validation to handle quoted paths
2026-04-25 16:28:32 +02:00
andreas
535dbda47d
feat: validate absolute command paths at nagios_runner init
2026-04-25 16:24:33 +02:00
andreas
c9567dddae
fix: remove stale shell config key from NagiosRunnerPlugin docstring
2026-04-25 16:23:03 +02:00
andreas and Claude Sonnet 4.6
b5963badd6
feat: async subprocess in nagios_runner with stderr capture and signal handling
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-25 16:18:09 +02:00
andreas and Claude Sonnet 4.6
a76a39b4a0
fix: remove redundant no-commands log lines; fix skip_reason docstring style
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-25 16:15:44 +02:00
andreas and Claude Sonnet 4.6
94e1597978
feat: set skip_reason on nagios_runner when no commands configured
...
When NagiosRunnerPlugin has no commands configured, set skip_reason before
returning False from initialize(). This allows PluginLoader to log INFO
(not WARNING) when the plugin is skipped.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-25 16:13:03 +02:00
andreas
c9c2ed772f
fix: document skip_reason in Plugin docstring; remove unused import in test
2026-04-25 16:10:35 +02:00
andreas
aeb78dcb8e
feat: add skip_reason to Plugin; improve PluginLoader init messaging
2026-04-25 16:08:07 +02:00
andreas and Claude Sonnet 4.6
77b337e4dd
Add implementation plan for plugin error checking and daemon logging fixes
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-25 16:04:13 +02:00
andreas and Claude Sonnet 4.6
293461f3f6
Add design spec for plugin error checking and daemon logging fixes
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-25 15:49:09 +02:00
andreas
c70a4807dc
version 5.1.2
Release / release (push) Successful in 6s
2026-04-25 07:25:06 +02:00
andreas and Claude Sonnet 4.6
1a470e7cfa
Fix plugin config lookup shadowed by CLIENT_DEFAULTS plugins key
...
CLIENT_DEFAULTS seeds "plugins": {} so raw_config.get("plugins", raw_config)
always returned the empty subdict instead of falling back to the full config.
Plugins configured at top-level (e.g. nagios_runner: ...) were therefore
never found, resulting in "No Nagios commands configured".
Now checks the plugins subdict first, then top-level keys, so both
config layouts work correctly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-24 12:58:42 +02:00
andreas and Claude Sonnet 4.6
990c658e65
Apply grace period to all threshold alerts before logging/notifying
...
Threshold alerts (plugin metrics, RTT) were firing immediately on the
first breach. Now every state transition to WARNING/CRITICAL starts a
grace-period timer (grace_seconds from the 'grace' config key). The
notification is deferred until the next heartbeat after grace_seconds
have elapsed. If the metric recovers within the grace window, both the
alert and the recovery are suppressed — no spurious pages for transient
spikes.
Two helper methods added to ThresholdChecker:
- _apply_grace: handles the state-change path (defer or suppress)
- _check_pending_or_renotify: handles the stable-alert path (fire
deferred notification once grace expires, or fall through to reminders)
The overdue case is unchanged — on_overdue already fires only after
interval+grace seconds of silence, which is equivalent behaviour.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-24 12:00:40 +02:00
andreas and Claude Sonnet 4.6
b78d6ac0fe
Fix RECOVER routing: use consistent level name and route via alerted channel
...
threshold.py was emitting level="RECOVERED" for metric recoveries, which
failed the is_recover check in send_notification (which only matched "RECOVER"),
bypassing _alerted_channels routing and the min_level bypass added in the
previous commit. Changed to "RECOVER" so all recovery paths are consistent.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-24 11:29:04 +02:00
andreas and Claude Sonnet 4.6
afd5060f59
Fix early reminder notifications and lost recovery notifications
...
- AlertState.update() now resets last_notification when the alert level
changes, so a WARNING→CRITICAL escalation restarts the reminder interval
rather than inheriting a nearly-expired timer.
- _dispatch_to_channel() bypasses min_level for RECOVER, so recovery
notifications are delivered even after a server restart when
_alerted_channels is empty and the fallback dispatch path is used.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-22 18:11:22 +02:00
andreas
f61f7aebc2
Use python3 consistently
2026-04-19 09:49:30 +02:00
Andreas Wrede
5c382d2b8d
One more nit
2026-04-13 09:31:35 -04:00
Andreas Wrede
35bba451f5
Various formating nits
2026-04-13 09:27:51 -04:00
Andreas Wrede
80edfba0c0
fix inconsistencies in page layout, add swiss clock
2026-04-13 08:45:50 -04:00
Andreas Wrede
6bc8de192e
fix non-alerting of overdue hosts
2026-04-12 18:44:36 -04:00
Andreas Wrede
2d8166d04a
unse python3 -mpip instead of plain pip
2026-04-12 18:44:11 -04:00
Andreas Wrede
ab33d81b30
catch syntax wanring when parsing version string
2026-04-12 16:39:51 -04:00
Andreas Wrede
2c0328f36d
update install.sh to handle missing venv module
2026-04-12 16:39:14 -04:00
Andreas Wrede
fb8e27825d
make install.sh work on systems withou pip
2026-04-12 14:16:44 -04:00
Andreas Wrede
1366c69cdc
version 5.1.1
Release / release (push) Successful in 5s
2026-04-12 13:06:30 -04:00
Andreas Wrede
d0c8c186f4
Fix typo
2026-04-12 13:04:17 -04:00
Andreas Wrede
19f7c8312e
Mkae columns sortabel agian, check hbc version, provide modile html pages
2026-04-12 12:53:00 -04:00
Andreas Wrede
24b0e362fb
provide cli function stop, restart and reload for hbd
...
Thought for 1s
2026-04-12 12:06:07 -04:00
Andreas Wrede
3a030548c0
Fix profile not updating
2026-04-12 11:57:12 -04:00
Andreas Wrede
094cb7ed9d
Merge branch 'master' of git.wrede.ca:andreas/heartbeat
2026-04-12 11:23:28 -04:00
Andreas Wrede
0199ca4693
re-factor notifications, add sms and matrix as channels
2026-04-12 11:21:21 -04:00
Andreas Wrede
75344ebbbd
re-factor notifications, add sms and matrix as channels
2026-04-12 11:04:00 -04:00
Andreas Wrede
7f049a4e26
accept websocket connection on http:.../ws
2026-04-12 06:44:32 -04:00
Andreas Wrede
6559f5462c
Merge branch 'master' of git.wrede.ca:andreas/heartbeat
2026-04-12 06:34:28 -04:00
Andreas Wrede
6556d35f97
Merge branch 'master' of git.wrede.ca:andreas/heartbeat
2026-04-12 06:32:52 -04:00
Andreas Wrede
dec96a0da6
Merge branch 'master' of git.wrede.ca:andreas/heartbeat
2026-04-11 16:40:02 -04:00
Andreas Wrede
8d3de01117
Update install script
2026-04-11 16:36:20 -04:00
Andreas Wrede
5bedf026b1
Update install script
2026-04-11 16:19:41 -04:00
Andreas Wrede
daf5277507
version 5.1.0
Release / release (push) Successful in 5s
2026-04-11 15:26:37 -04:00
Andreas Wrede
ee3b72878f
Add a ping monitor
2026-04-11 15:25:23 -04:00
Andreas Wrede
6217f7a124
fix bogus notification on new clients
2026-04-10 13:39:18 -04:00
Andreas Wrede
2468386f24
adjust default log, pick and config locations. renotify on critical only, make user sessions persistem
2026-04-10 13:24:57 -04:00
Andreas Wrede
2015195112
Grace interval on restart of hbd, fix SIGHUP processing
2026-04-10 12:58:38 -04:00
Andreas Wrede
3426185383
Set SO_TIMESTAMP correctly for the various platforms
2026-04-10 11:19:47 -04:00
Andreas Wrede
9eedbafe97
Show overdue in alerts instead of null
2026-04-10 09:20:28 -04:00
Andreas Wrede
a5f31c5cb5
update picked data strucures
2026-04-10 09:18:38 -04:00
Andreas Wrede
2f72cf0118
typo
2026-04-10 09:17:57 -04:00
Andreas Wrede
c56e77c2c1
Merge branch 'master' of git.wrede.ca:andreas/heartbeat
2026-04-10 08:20:40 -04:00
Andreas Wrede
e9aa7a6f8b
info only if no nagios command is defined
2026-04-10 08:19:59 -04:00
Andreas Wrede
a75a8a4087
warn only if no nagios command is defined
2026-04-10 08:14:31 -04:00
Andreas Wrede
ba27d2e300
Add count to rtt threshold
2026-04-10 08:07:50 -04:00
Andreas Wrede
381e37efce
fix log-section height
2026-04-10 08:01:22 -04:00
Andreas Wrede
97dfc08f4d
fix log level settiung
2026-04-10 08:00:51 -04:00
Andreas Wrede
d281ac5a70
provide defaults for threshold_configs
2026-04-10 07:47:39 -04:00
Andreas Wrede
812bbf8555
Merge branch 'master' of git.wrede.ca:andreas/heartbeat
2026-04-09 13:02:17 -04:00
Andreas Wrede
e6b7a1aa27
drop config file
2026-04-09 13:02:10 -04:00
Andreas Wrede
90f47ad018
drop config file
2026-04-09 13:00:07 -04:00
Andreas Wrede
cc458e8972
update README
2026-04-09 08:33:25 -04:00
andreas
79bf00abfd
version 5.0.12
Release / release (push) Successful in 6s
2026-04-08 16:47:12 -04:00
andreas
d77277857f
Add user management and a settings page
2026-04-08 16:21:55 -04:00
Andreas Wrede
3232239a85
version 5.0.11
Release / release (push) Successful in 5s
2026-04-07 14:19:46 -04:00
Andreas Wrede
014781de5e
Merge branch 'master' of git.wrede.ca:andreas/heartbeat
2026-04-07 14:16:12 -04:00
Andreas Wrede
68b1c65384
version 5.0.10
2026-04-07 14:15:46 -04:00
Andreas Wrede
e8bb553349
version 5.0.10
Release / release (push) Failing after 4s
2026-04-07 14:11:03 -04:00
Andreas Wrede
e4ecb8723f
release a pypi package on gitea
2026-04-07 14:10:07 -04:00
Andreas Wrede
5edbaacf81
version 5.0.9
Release / release (push) Successful in 15s
2026-04-07 11:02:19 -04:00
Andreas Wrede
8421f472f2
there is only one __version__
2026-04-07 11:00:22 -04:00
Andreas Wrede
51f9bdc2b5
use SO_TIMESTAMP, works on Linux, FreeBSD and macOS
2026-04-07 10:46:54 -04:00
andreas
02bc42fbf0
get rtt time differently
2026-04-07 10:40:12 -04:00
andreas
832a8b0bda
save state to pickle file, restart timers on restart
2026-04-06 17:24:59 -04:00
Andreas Wrede
57c4b86430
version 5.0.8
Release / release (push) Successful in 6s
2026-04-04 15:18:12 -04:00
Andreas Wrede
43fad7beed
fix release.yml for freebsd runner
2026-04-04 15:11:56 -04:00
Andreas Wrede
8dd002d159
version 5.0.7
Release / release (push) Failing after 1s
2026-04-04 14:45:10 -04:00
Andreas Wrede
2373b55d8b
fix actions host label. cp[e woth debian flavor sed
2026-04-04 14:43:07 -04:00
Andreas Wrede
81530636ec
version 5.0.6
Release / release (push) Has been cancelled
2026-04-04 13:54:19 -04:00
Andreas Wrede
190199b36d
Add a release workflow
2026-04-04 13:00:17 -04:00
Andreas Wrede
73aa89f8f4
fix web page issues
2026-04-04 12:43:30 -04:00
Andreas Wrede
941f3ea4b0
display and acknowledge alerts
2026-04-03 06:35:45 -04:00
Andreas Wrede
c5770006f7
hbc proper termination, hbd config reloadable
2026-04-02 07:17:00 -04:00
Andreas Wrede
84c1aef51f
removal of cver
2026-04-01 20:47:29 -04:00
Andreas Wrede
460d2be9e9
Fix rtt, including bug in time compute
2026-04-01 19:41:53 -04:00
Andreas Wrede
090d341244
per-client threshold config
2026-04-01 15:22:42 -04:00
Andreas Wrede
079e84f729
display tag fro alterts, cleanup udp
2026-04-01 11:49:55 -04:00
Andreas Wrede
dd23d9d163
refactor monitor, add threshold rtesting
2026-03-31 12:22:03 -04:00
Andreas Wrede
ad7178ebcb
Move threshhold to server, move eventlog to notify
2026-03-29 20:29:33 -04:00
Andreas Wrede
0543266c92
Major refactoring of the codebase, including restructuring of files and directories, renaming of modules and classes, and improvements to the overall organization and readability of the code. This refactoring aims to enhance maintainability, scalability, and clarity of the codebase while preserving existing functionality. The changes include:
...
- Restructuring of the project directory into client and server components
- Renaming of modules and classes to better reflect their purpose and functionality
- Moving common utilities and configurations to a shared location
- Updating import statements to reflect the new structure
- Adding new documentation files for better clarity on various aspects of the project
- Removing deprecated or unused code to streamline the codebase
- Ensuring that all existing functionality is preserved and that the codebase remains functional after the refactoring.
2026-03-29 11:13:40 -04:00
Andreas Wrede
7e2038ecac
version 5.0.5
2026-02-16 10:54:16 -05:00
Andreas Wrede
75e41eafc4
remove redundent code
2026-02-16 10:54:04 -05:00
Andreas Wrede
73b9d05357
fix letter of daemon option
2026-02-13 21:05:42 -05:00
Andreas Wrede
9d81f96f31
version 5.0.4
2026-02-09 08:52:18 -05:00
Andreas Wrede
d2e1c7a629
bump dependency versions
2026-02-09 08:44:28 -05:00
andreas
83d5ead471
Merge branch 'master' of git.wrede.ca:andreas/heartbeat
2026-02-09 07:25:47 -05:00
andreas
d339133981
collect correct args for restart
2026-02-09 07:25:42 -05:00
andreas
7be129ad40
collect correct args for restart
2026-02-09 07:22:44 -05:00
andreas
179048e565
bump
2026-02-08 16:10:37 -05:00
andreas
8fe64ae8c5
version 5.0.3
2026-02-08 16:10:02 -05:00
andreas
b6574872cc
remove egg-info
2026-02-08 16:08:18 -05:00
andreas
5e6dfc75ad
link and flake cleanup
2026-02-08 16:05:03 -05:00
andreas
087a264e97
typo
2026-02-08 14:45:06 -05:00
andreas
d9ca0b74e2
fix -i option
2026-02-08 14:42:10 -05:00