Quickstart
Alright, let’s get you set up. This should take about 5 minutes, and if it takes longer, we fucked up somewhere or your dog shat on your keyboard.
1. Sign Up
Section titled “1. Sign Up”First things first, you need an account. Revolutionary, I know.
- Sign up for a free account. No credit card required, no “enterprise trial” nonsense.
- Create an Organization when prompted. This is just a fancy word for “your stuff goes here.” Name it whatever - your company, your team, or “Bob’s Monitoring Empire.”
- You’ll get a default Project thrown in. Projects are just folders for your monitors. You can rename it later.
2. Create Your First Monitor
Section titled “2. Create Your First Monitor”Let’s make a Heartbeat Monitor because they’re dead simple and perfect for that cron job you forgot about last month.
-
Click Heartbeats in the sidebar.
-
Click New Heartbeat.
-
Fill out the form (don’t overthink it):
- Name: Something that makes sense, like “Daily Backup Script” or “That Thing That Runs at 3 AM”
- Schedule: How often should this thing ping us?
every 1 dayworks. You can get fancy with cron expressions if you’re into that. - Grace Period: How long we wait before yelling at you. 10 minutes is fine unless your script takes forever.
-
Click Create Heartbeat and boom, you’re done.
3. Make Your Script Actually Useful
Section titled “3. Make Your Script Actually Useful”Now your monitor exists, it’s time to connect it to your script.
You’ll see a Pulse URLs on the monitor integration tab. Copy it and stick it in your script like this:
#!/bin/bash
# Your actual work hereecho "Running backup..."sleep 5echo "Backup complete!"
# Tell 9n9s we're alivecurl -fsS --retry 3 https://pulse.9n9s.com/your-unique-heartbeat-uuid > /dev/nullReplace that URL with your actual one (obviously). Now when your script runs and doesn’t explode, it pings us. If it doesn’t ping us when it’s supposed to, we’ll let you know something’s broken.
4. When Shit Hits the Fan
Section titled “4. When Shit Hits the Fan”Sometimes your script will fail. It happens. You can wait for the timer to run out, or you can tell us immediately with the /fail endpoint:
#!/bin/bash
# Tell 9n9s we're starting with the /start endpointcurl -fsS --retry 3 https://pulse.9n9s.com/your-unique-heartbeat-uuid/start > /dev/null
# Handle errors like a responsible adultfunction handle_error() { ERROR_MESSAGE="Backup failed at line $1 because reasons." echo $ERROR_MESSAGE
# Tell 9n9s we failed (with details) with the /fail endpoint curl -fsS -X POST --retry 3 -d "$ERROR_MESSAGE" https://pulse.9n9s.com/your-unique-heartbeat-uuid/fail > /dev/null exit 1}
# Catch errors automaticallytrap 'handle_error $LINENO' ERR
# Your backup logic hereecho "Running backup..."# This will fail and trigger our error handlercommand_that_definitely_doesnt_existecho "Backup complete!"
# Success ping (won't get here if shit breaks)curl -fsS --retry 3 https://pulse.9n9s.com/your-unique-heartbeat-uuid > /dev/nullWhat’s Next?
Section titled “What’s Next?”Congrats, you just set up monitoring that actually works. Here’s what you can do now:
- Set up Uptime Monitoring to make sure your website isn’t returning 500s
- Configure notifications so you know when shit breaks (Email, Slack, whatever doesn’t suck)
- Check out the CLI if you’re the type who lives in a terminal
That’s it. No enterprise onboarding calls, no “let’s schedule a demo to show you our comprehensive monitoring solution.” Just monitoring that works.