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
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
https://healthchecks.io/
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
I have posted the solution above. Thank you for suggesting the above service
Thank you for the script. I will look in to this.
https://healthchecks.io/
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.