I am looking to monitor self hosted services that can send notifications to Telegram. Are there any web service monitoring solutions that can be installed on Windows and not installed using Docker?
I checked through awesome-selfhosted and awesome-sysadmin repos and couldn’t find one. All the ones I saw were either for Linux or container based.
EDIT: For anyone that comes across this, here is how I resolved this. Thanks to u/dotmatrix for suggesting healthchecks.io
SOLUTION
On the host
- Script to check the status of the webpage. Save the file with
ps1
extension
$hc= "https://hc-ping.com/<blahblahblah>"
$url = "https://website.com/"
$response = curl $url
if ($response.StatusCode -eq 200) {
curl $hc
} else {
curl $hc/fail
}
- Set up the above script in Task Scheduler to run every 5 mins
On HealthChecks
- Create a check
- Create a Telegram integration if you want the notification in a group/direct message/channel: https://healthchecks.io/integrations/add_telegram/
- If you want to customize the message or send the message to a topic in a group, you can create a Webhook. Instructions are here: https://github.com/healthchecks/healthchecks/issues/689#issuecomment-1409847685
I have prowlarr set up to handle indexers, and I see under settings -> notifications you can add a telegram bot. I don’t know for sure but I suspect that if you did that and mark notify on health problems, it would probably watch for downstream *Arrs?
I’m basing that guess on the discord bot I have set up on sonarr and radarr, which watches my download clients and alerts me when they’re down
It looks like Prowlarr health checks doesn’t cover downstream apps: https://wiki.servarr.com/prowlarr/system#health
I have all the *Arrs currently notifying Telegram with their own notification systems. The problem I am trying to solve is, what if the application itself goes down. I am also looking for something that monitors more than *Arr apps.
For ex: Prowlarr application(exe) somehow gets killed. Then Prowlarr itself cant send notifications with its built in system, right? So, something external needs to monitor either the exe(process) or the webpage(HTTP request) or the port that can then send the notification that Prowlarr is down or not responding.
I hope this explains the issue better.
I don’t think this is exactly what you’re looking for, but Overseer/Jellyseerr offers notifications through Telegram for requests when they’re made, approved and available.
Right, I am looking for a solution that can alert me, if/when any of the self hosted web services goes down. Pretty much check if either the port or webpage is up and send alerts.
I saw Prometheus supports Windows. But, I think its kind of overkill for my use case. I have everything running on an old laptop. So, I am looking for a lightweight application/solution
You’ll have to write some kind of script that does the checking (I’d use curl to check the HTTP response code), healthchecks.io then handles the notifications.
Edit: Just an example of how such a script might look (haven’t tested it, but I do something similar in linux). You can let the task scheduler run it every few minutes: https://pastebin.com/rY0FPpgk
Thank you for the script. I will look in to this.
I have posted the solution above. Thank you for suggesting the above service
You’ll have to write some kind of script that does the checking (I’d use curl to check the HTTP response code), healthchecks.io then handles the notifications.