Do you have any kind og questions, suggestions, feedback or ideas? Reach me at iamrootdottech@gmail.com.
Roadmap
I have a lot of features, ideas and the like I would like to implement. In short:
Have the monitor worker run on all production servers (and on a schedule as backup)
- done as of 2024-06-15
Release for the open beta
- done as of 2024-06-15
Rework the monitor checks and comparison (mentioned in detail below)
- done as of 2024-07-27
Implement DNS monitor
Implement DNS propagation monitor
- done as of 2024-08-21
Implement TLS/SSL monitor
- done as of 2024-08-21
Implement some kind of service up/down monitor tool - allowing 10 second checks on specific ports/protocols
Up next
Rework the emailing of notifications - should to work on a per-monitor level, instead of a
global level
Up next
Work on company/team options, allowing for multiple users to work together on the same set of monitors (instead of
shareing login credentials).
Code and database cleanup (much need after several iterations)
Handle monitor execution in case of failover events
- done as of 2024-11-24
Login in case of failover events and/or login from non-default servers (ensuring access to
updated data, allowing update if settings while still keeping data consistency and the like)
- done as of 2024-11-24
Tweaks / errors / issues / feedback
Backlog of issues to be fixed, and minor improvements:
Monitor list on the frontpage need better sorting
- done as of 2024-06-13
System e-mails / notifications needs a brush up
- done as of 2024-06-18
Background worker needs better handeling of notifications sendout
- done as of 2024-06-12
Keep track of worker performance on multiple simultanious checks in progress
- done as of 2024-07-27
New users should be greeted in a way better way (unlike the empty page as of today)
- done as of 2024-06-15
Intros on the monitor edit pages
- done as of 2024-06-15
On settings of PortScan, it should a) validate the hostname, b) ask the user if multiple IP's is present on a given hostname
- done as of 2024-07-04
Monitor details - the list of log items: Should contain way more items, and
details of each option should be availible in a popup. Should a graph of some kind be added?
Make the api keys page responsive
Make the settings page responsive
Timestamp for calculation of api usage needs to be showen at the 'api keys' and 'settings' pages
- done as of 2024-06-12
Each user needs to be assigned to a specific production server, in order to ensure data consistency.
Furthermore:
*) Each monitor execution must be run from this assigned server
*) Calculation of the api usage needs to be be done by each server, but limited to users assigned to this server
*) Notification sendout needs to be done by each server as well - but limted to users assigned to this server
- done as of 2024-06-13
Monitor details should link to website with live run of tests
- done as of 2024-08-03
Optimize what data is saved on each check - removed unused parts of the JSON before saveing it to the DB
- done as of 2024-06-16
Keep track of any delays in monitor check executions
- done as of 2024-06-16
Backend page for monitoring users and monitors
- done as of 2024-06-16
When creating a monitor, the monitor-details page is more or less empty - it needs to show some usefull
and informative info, while we wait for initial run of the monitor.
- done as of 2024-06-17
Alerting the user, X days before monitor expiration (only if it's a monitor running for several days). Alert
on expiery as well.
Introduce some level of discrete logging / finding - no need to tell the user about then 'several A/AAAA
records' over and over.
- done as of 2024-07-29
Rework of the notification levels? Useing labels like 'warning' is not really describeing the issue.
Consider the introduction of two new levels: Info and Warning
- done as of 2024-08-03
Rework of mails - could look better
- done as of 2024-08-03
WHOIS event info keep changeing - thus raising issues. Use a date only.
- done as of 2024-07-29
Portscan: Ensure any temporary fluxuations between open and closed, does not trigger any notifications. Only
state changes between open and closed (or opposit) should trigger an alert/notification.
- done as of 2024-07-29
Remove 'last check state' label from the list of monitors - use the timetamp of last check, as an
indication of last state as well.
- done as of 2024-07-29
Add fields for optional name and remarks on each monitor - it would make it easier to
use and distinguish them. Having four monitors running on four IPs can easily turn
out to be a problem, as you forget what each IP actually is. Thanks to David for the feedback.
- done as of 2024-08-03
TLS/SSL monitor: If running on a domain, covering several IP's with individual certificates, this
will cause an endless strem of notifications, as the certificate will keep changeing. Similar problem
on the DNS propagation monitor, if the DNS is doing geolocation work. How to handle these issues?
TLS/SSL monitor: Tryout different approaches in order to achive more consistent results (less ports - higher timeout)
TLS/SSL monitor: Change wording from 'CLOSED' to 'CLOSED/UNREACHABLE' (includeing all the implications of this)
Rework the monitor edit-options - can be done, in a way more userfirendly manner
DNS propagation: Propagation confirmation need to work in another way - in the final phase, there is a lot of
uncertainties we need to adress - somehow.
- done as of 2024-08-19
DNS propagation: Is the final 'propagation complete' notification actually working as intended?
- done as of 2024-08-19
DNS propagation: Have the notifications tell, on auth changes, 1) what records were added, 2) what records were removed,
and 3) what are the current set of records awaiting propagation
- done as of 2024-08-19
DNS propagation: For the final verification, use a timeframe that matches original ttl of the records / 2.
DNS propagation: Include the record types in the alerts
WHOIS monitor: Maybe ignore changes to eventinfo and/or persons, of they keep changeing for an extended
period of time?
Be more discrete about the first couple of monitor timeouts (no notifications)
- done as of 2024-08-19
Make it possible to add monitors in bulk (like 10 whois monitors) in one single go
Check ratelimits upon monitor creation + other helper things
Monitors details page could display current status better. Consider how to improve this.
Retention strategy needs to be implemented
- done as of 2024-07-27
Housekeeping of disabled and expired monitors
- done as of 2024-07-27
Rework the monitor checks and comparison
The comparison needs to be way simpler and transparent
The check itself could be simplified as well
The principles/concepts of the different status'es and notifications needs to be simplified
Some level of confirmation of issues, queying from different servers, needs to be implementet
- done as of 2024-07-27
List of monitors (status) could display current status better.
- done as of 2024-07-27
Monitors details page could display current status better. Consider how to improve this.
Remember the 'goto' url thrughout the process of creating a new user account
- done as of 2024-09-12
Gamify the post-signup process (for consideration)
Changelog
2024-11-24:
🏆 I've finally reached a point where monitor execution failover is actually working. It's been
quite a project, with several iterations, and along the way, the need for secondary
systems suddenly became apparent.
In case of server failure or performance degradation, monitor execution is automatically
failed over within minutes. Once the server is back, monitor execution is restored to
its original state.
It works as intended—I've done several tests and will continue to do so to ensure flawless
execution, even when bad things happen.
2024-10-29:
Over the last couple of weeks, I’ve been addressing the aftermath of the infamous server
migration crash in early October - hence the missing progress on the changelog.
While server downtime is expected, minimizing its impact is critical. As a result, I’ve
been implementing failover handling at all levels, though this remains an ongoing
process.
Website and email access are covered, but there’s still work to do on the user and
monitoring system, specifically to (1) ensure monitors execute smoothly even if a
server goes offline and (2) handle login functionality during failover events.
2024-09-12:
Remember the 'goto' url thrughout the process of creating a new user account
2024-09-01:
TLS/SSL monitor would faild hard, if checking non SSL/TLS enabled website - has been fixed.
2024-08-30:
DNS lookup issues on setup of the TLS/SSL monitor and portscan monitor has been solved.
2024-08-22:
Improved the login page - better overview and readability.
2024-08-21:
🏆 Two new monitors are now available for testing:
TLS/SSL Certificate Monitor: This will keep track of changes, upcoming certificate
expirations, and renewals. Never miss a TLS certificate expiration again.
DNS Propagation Monitor: This monitor will track DNS records of the
primary/authoritative nameserver and alert you in case of changes. It will
also monitor the subsequent propagation of the records. Let the monitor
handle the tracking instead of doing endless and repetitive DNS lookups
during the propagation period - as a first-ever, this monitor offers
a 10-second check frequency.
2024-08-19:
Several improvements on the DNS propagation monitor, includeing *) details of what
changed at the SOA DNS server, *) better wrap up of the propagation process (waiting for
confirm of full propagation), and *) better notifications
The initial three errors - regardless of why - is way more discrete than previous
2024-08-18:
This entry will cover work from the last couple of weeks
Been working on the new TLS/SSL monitor and the new DNS propagation monitor. Both
monitors are now in final testing before beeing made availible for public beta
test within the next week. Among other things, the DNS propagation will offer
10 second check interval.
Several minor tweaks has been made for the API - includeing a bugfixes, for the
rate limit calculations
An API endpoint has been made available for the DNS propagation tool
2024-08-04:
Improveing the backend admin
Initial work of a TLS/SSL monitor
2024-08-03:
'Last event' portion of details page, has been optimized for better overview - and more details.
The notification levels has been reworked, now matching the levels of each monitor check. A couple of new
intermediate levels has been introduced as well.
Mail layout of each notification has been improved.
An optional name has been implementet for all monitors. Host (or whatever the monitor is looking at) will
be used per default - but if a name is present, it will be used to identify the monitor. Create or edit
the monitor to input the name. Thanks to David for the feedback.
Link for a live website run of the monitor, has been added to the details page of each monitor
2024-08-01:
Minor issues about updateing each monitor has been solved (basic concurrency issue)
2024-07-31:
Further work on the portscan and the detection/confirmation af changes
Further work on the whois check of events (turned out to be a timezone issue causeing the issues - same date was parsed as one date in the US, and as antoher in Europe - UTC has been forced upon these checks).
Invite to beta / call for feedback, among all newsletter subscribers
2024-07-29:
Eventinfo of the WHOIS checks kept changeing - solved by using date without specific hours/minut/second info
Reporting of Portscan changes has been made more stable, by tracking current state and last confirmed state - and
only triggre notifications from one confirmed state to another. This means, that any temporary changes (for instance from 1: confirmed open, to
2: unformed closed, 3: unconfirmed open and then 4: confirmed open) do not trigger either alerts or notifications.
Timestamp of last check on the list of monitors, is made to contain last status as well (color + hover title).
A more discrete log level has been introduced, in order to keep track of important info - but wich doesn't
make sense to put on display over and over again (for instance - the 'several A/AAAA records' is important,
but does only make sense first time).
2024-07-27:
🏆 Remake of entire monitor system has been release. This includes a ton of both new and improved
features. Been a bit of a struggle, but did manage to grind my way thrugh it :) The revised engine includes:
The list of monitors now include a status of each monitor, provideing an instant overview
The details of each monitor now include more data and a more userfiedly overview of status - both in general,
and when looking into the specific details.
Check and comparision of the different monitors are simplified signigificantly.
Changes now need to be discovered by at least two different servers, before beeing considered as confirmed.
Retention strategy and housekeeping are implementet - disabled and expired monitors will be deleted in 45 days,
and log items has a cutoff of 45 days.
2024-07-04:
Been struggling quite a bit the last couple of weeks to make the monitoring work better and report
in a more operational and usable manner. The current monitoring works fine, but I would like it
to work even better. To achieve this, a complete remake of the monitoring system is needed. This
may take several weeks of work (beside my day job) before I'm able to release this new and improved
monitoring. Just a remark to explain why there may be less frequent updates in the upcoming weeks.
Settings of the PortScan-monitor has been changed a bit, in order to handle any DNS-situations that could
cause issues (like no records or multiple records).
2024-06-18:
Performance optimizations on the underlying database
Notification emails (and validation emails) has been revisited: *) ensuring proper formatting in darkmode
*) proper linking and *) more operational structure of the informations within the e-mail.
2024-06-17:
Some bugfixing on the monitor comparison. Removeing unused JSON parts (done yesterday), caused
some issues when looking for closed ports.
When disableing a user, all his/hers monitors are now disabled as well.
When re-enabeling a user, the api key for the monitors, is re-enabled as well.
If a user has selected grouping of notifications (for instance once every hour), a minor delay
of 5 minutes has been implemented, if only a single noification is to be send - this allows for
any additional changes after the initial change, to be a part of the mail as well (if a server goes
offline for 2 minutes for instance - then the mail will include both DOWN message, and the following
UP message).
Once a monitor has been created, the intial status page of the monitor was very empty - now includes
a 'first scan is imminent' message + auto refresh.
2024-06-16:
Backend page for monitoring the healt of the user system has been added
Monitor check delays are now tracked (difference between scheduled runtime vs actual runtime)
Unused parts of the JSON is removed before saveing to the database - reducing the average byte size from
about +50k to 1.5k.
2024-06-15:
Better greeting for new users
Meta on each type of monitor has been implemented - allowing better descriptions of monitor types and so forth
The monitor worker, has been put into production on all servers
Login-link added to menu
🏆 First release (yay!)
2024-06-13:
User server assignment is introduced (and server assignment per monitor is removed)
Monitor worker process, notification sendout, and housekeeping, now works on users assigned to current server only
Better sorting of monitor frontpage has been implemented
2024-06-12:
Performance improvements made on worker process for the monitors
Better sendout of notifications implemented
Another iteration on PortScan open/close confirmation is put in production
Page for roadmap / changelog added
Timestamps of api usage calculations has been added to the 'settings' and 'api keys' pages
Got milk?
Because we got cookies :)
We use cookies for statistical and useability purposes - and we interact with third party
companies like Google. Read more at the privacy policy.
Within a couple of weeks, I'll launch a couple of new awesome features. Signup for the newsletter
to stay updated, and get early access as a beta tester.