| status | draft |
| last updated | 2025-12-25 |
| site | https://pico.sh |
The primary use case for this service is to enable developers to easily monitor service uptime and cron services leveraging pipe. It will also enable developers to monitor their pipes' health when using it as their pubsub system. This will be an enhancement built on top of https://pipe.pico.sh. The pipe service requires authorization using an SSH key just like any other pico service.
To be clear, we do not run any of these commands, the end user is responsible for having a compute system to run these commands for uptime monitoring. We merely track the status of your pipe topics.
create the monitor #
First, create the topic with the monitor duration:
1ssh pipe.pico.sh monitor pico-uptime 1d
The duration parameter uses Go's time.ParseDuration and as long as we receive a single ping within the duration then the service is considered healthy.
an uptime monitor #
An uptime monitor tracks the status of your website by sending a ping to our pipe service on an interval.
If you have a system that runs cron, you could create an entry that runs everyday that checks your website can be fetched successfully using curl.
10 0 * * * curl -fsS https://pico.sh && ssh pipe.pico.sh pub pico-uptime
a cron monitor #
Similarly, the same system -- with a slightly different configuration -- could be used to track the status of your cron jobs.
1ssh pipe.pico.sh monitor my_script 1d
10 0 * * * my_script.sh 2&>1 | ssh pipe.pico.sh pub my_script
Again, this would run your cron daily and send a ping to us to make sure it succeeded. We also conveniently receive your logs so you can view them within our system.
notify #
You can view the status of your pipe topics using an SSH command
1ssh pipe.pico.sh status
This will print a list of your monitored pipe topics and if they are in a healthy state.
We also generate an RSS feed for this service that will send alerts when a topic has gone stale outside the time period provided.
1ssh pipe.pico.sh rss
logs #
You'll be able to see the logs piped into this service using an SSH command
1ssh pipe.pico.sh logs my_script
2ssh pipe.pico.sh logs my_script -f # follow
update monitor #
Just run the same monitor command used to create (it's an upsert):
1ssh pipe.pico.sh monitor pico-uptime 6h
Or you can delete it completely:
1ssh pipe.pico.sh monitor pico-uptime -d