jonhiggs / flamingzombies Goto Github PK
View Code? Open in Web Editor NEWA lightweight monitoring service
License: BSD 2-Clause "Simplified" License
A lightweight monitoring service
License: BSD 2-Clause "Simplified" License
They're unsorted everywhere.
Work out how to make debugging easier when the tests are distributed across hosts.
Make the notification gates
parameter behave as documented.
It's hard to tune the tasks if you don't know by how much they're failing by.
Add a way to notify when a task is in a flapping state.
All files in the config directory gets concatenated to to the end of the config file.
It can be annoying when a task renotifies every hour, but you know you're not going to look at it for a while. You don't want to mute the whole ntfy channel, but you don't need to hear about that task anymore.
Add a gate to renotify periodically.
A flappy monitor could have any status. A hint that the the flap gate tripped is needed.
I've yet to need this, but I expect that sooner or later I will.
Demonstrate how it can be used with a set of common and less common examples.
As documented in fz-tasks(7).
it will allow for a more reliable task/fz_errors
plugin.
fails if it gets too old.
time="2024-05-01T13:40:44+10:00" level=info msg="executing task" file=lib/fz/task.go task_hash=2103319012 task_name=flappy
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x52c115]
goroutine 6 [running]:
github.com/jonhiggs/flamingzombies/lib/fz.Gate.IsOpen({{0xc000014520, 0xc}, {0xc00001c1a0, 0x1a}, {0x0, 0x0, 0x0}}, 0xc0000c6000)
/home/jon/src/flamingzombies/lib/fz/gate.go:67 +0xa95
github.com/jonhiggs/flamingzombies/lib/fz.ProcessNotifications.func1()
/home/jon/src/flamingzombies/lib/fz/notification.go:26 +0x10c7
created by github.com/jonhiggs/flamingzombies/lib/fz.ProcessNotifications in goroutine 1
/home/jon/src/flamingzombies/lib/fz/notification.go:20 +0x1a
exit status 2
Adding grace time to the timeouts makes managing the timeout in the tasks easier; you don't have to deduct any time from ${TIMEOUT}
to avoid losing to the fz's context deadline.
From a directory of backup files, make sure that the newest one is at newer than n seconds.
If the directory doesn't exist, return 3.
If the glob doesn't match anything, return 1.
If none of the matching files are new enough, return 1.
Print more useful information in the email notifications.
A raw tcp port has problems like:
I've noticed situations where tasks are failed, but the notification presents a successful output.
fzctl --help
is awkward when you're in a cmd subcmd mode of thinking.
Add support to defer a notification allowing it some time to auto-resolve before notifying.
Make the deadline_grace configurable, and ensure that it plus the timeout isn't > the frequency or retry_frequency.
This will probably require splitting out tasks and notifier actions with a new subcommand.
Jamming everythign into the name is getting difficult.
Add a task plugin to detect if an fz daemon has experienced any errors for any of its tasks.
This should probably be configured by sending custom environment variables back to the notifier.
makes working with the output of fzctl harder for no need.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.