MoniTao Documentation

Everything you need to know to monitor your services effectively

Introduction

Welcome to the MoniTao documentation! MoniTao is a simple and effective monitoring solution that allows you to monitor your websites, APIs, scheduled tasks and SSL certificates.

This documentation will guide you through all the features of the platform, from getting started to advanced configuration.

First Steps

1. Create an Account

To get started, create a free account at monitao.com/register. No credit card required for the free plan.

2. Access the Dashboard

Once logged in, you access your dashboard where you can:

  • View the status of all your monitors at a glance
  • Check recent incidents
  • Access availability statistics
  • Manage your alerts

Tip: Start by adding a simple monitor to familiarize yourself with the platform.

Create an HTTP/HTTPS Monitor

Creation Steps

To create a new monitor:

  1. Click on "Monitors" in the main menu
  2. Click the "New Monitor" button
  3. Fill in the required information
  4. Configure the check options
  5. Save

Required Fields

  • Name: A descriptive name to identify your monitor
  • URL: The complete address to monitor (e.g., https://mysite.com)
  • Interval: Check frequency (5 min on Free, 1-2 min on Pro, 30s on Business)

Important: Localhost URLs and private IP addresses cannot be monitored for security reasons (SSRF protection).

Check Types

Availability (Uptime)

Checks that your site responds and returns a valid HTTP code (200-299 by default).

Content Validation

Checks that specific text is present on the page. Useful for:

  • Verifying a payment is properly displayed
  • Checking that a specific version is deployed
  • Ensuring no error message appears

Example: Search for "Payment successful" or "v2.3.1"

Visual Verification

Detect unexpected visual changes on your critical pages. This feature allows you to:

  • Identify CSS or layout regressions
  • Detect missing or modified content
  • Monitor payment pages and forms
  • Verify display across different breakpoints

SSL Monitoring

MoniTao automatically monitors your SSL certificates and alerts you:

  • 30 days before expiration: First alert
  • 7 days before expiration: Second alert
  • At expiration: Critical alert

Configure Alerts

Available Alert Channels

Email (all plans)

Alerts are sent by email to your account address. You receive a notification:

  • When a service goes down (DOWN)
  • When a service recovers (UP)
  • Before SSL/domain expiration

SMS (Business only)

Receive SMS alerts for critical incidents. Included in the Business plan.

Best practice: Enable SMS alerts for critical services in addition to emails.

Alert Trigger Conditions

MoniTao sends an alert in the following cases:

  • HTTP Error (4xx and 5xx codes) - Codes 400, 401, 403, 404, 500, 502, 503, etc. These codes indicate a problem with your service.
  • Connection Error - Timeout, DNS not resolved, connection refused, invalid SSL certificate.
  • HTTP Code Change - For example, changing from 200 to 403 or from 200 to 500 (if the option is enabled).
  • Content Change - Expected text not found on the page (if content validation is enabled).
  • SSL Expiration - Certificate expiring in less than 30, 7 or 0 days.

Codes considered as success: 2xx (200, 201, 204...) and 3xx (301, 302, 304...)

Codes triggering an alert: 4xx (400, 401, 403, 404, 429...) and 5xx (500, 502, 503, 504...)

What is a Heartbeat?

Heartbeats allow you to monitor the execution of your scheduled tasks (crons, backups, scripts).

How it Works

Instead of checking a URL, MoniTao waits for your script to send a "ping":

  • Your script starts: It sends a "start" ping
  • Your script completes successfully: It sends a "success" ping
  • Your script fails: It sends a "fail" ping
  • No ping received: MoniTao alerts you

Important: If your script doesn't ping within the defined interval, you'll be alerted about a "silent cron".

Setting up a Heartbeat

1. Create a Heartbeat Job

  1. Go to "Heartbeat" β†’ "New Heartbeat"
  2. Give it a descriptive name (e.g., "Daily Backup")
  3. Set the expected interval (e.g., "24 hours")
  4. Set the max timeout (e.g., "1 hour")
  5. MoniTao generates a unique ping URL

2. Integrate into Your Script

Add the API calls to your script:

Bash

#!/bin/bash

# Signal the start
curl -X POST https://monitao.com/api/heartbeat/start/YOUR_TOKEN

# Your script
./backup.sh

# Signal success
if [ $? -eq 0 ]; then
    curl -X POST https://monitao.com/api/heartbeat/success/YOUR_TOKEN
else
    curl -X POST https://monitao.com/api/heartbeat/fail/YOUR_TOKEN
fi

Python

import requests

# Signal the start
requests.post('https://monitao.com/api/heartbeat/start/YOUR_TOKEN')

try:
    # Your code
    do_backup()

    # Signal success
    requests.post('https://monitao.com/api/heartbeat/success/YOUR_TOKEN')
except Exception as e:
    # Signal failure
    requests.post('https://monitao.com/api/heartbeat/fail/YOUR_TOKEN')

PHP

<?php

// # Signal the start
file_get_contents('https://monitao.com/api/heartbeat/start/YOUR_TOKEN');

try {
    // # Your code
    doBackup();

    // # Signal success
    file_get_contents('https://monitao.com/api/heartbeat/success/YOUR_TOKEN');
} catch (Exception $e) {
    // # Signal failure
    file_get_contents('https://monitao.com/api/heartbeat/fail/YOUR_TOKEN');
}

Heartbeat API

Available Endpoints

POST /api/heartbeat/start/{token}

Signals the start of job execution.

POST /api/heartbeat/ping/{token}

Signals the job is still running (alias for success).

POST /api/heartbeat/success/{token}

Signals successful job completion.

POST /api/heartbeat/fail/{token}

Signals job failure with optional error message.

Tip: You can send JSON data in the body to add metadata (logs, duration, etc.).

FAQ

What's the difference between a monitor and a heartbeat?

Monitor: MoniTao checks your service (pull). Ideal for monitoring websites, APIs, public endpoints.

Heartbeat: Your script reports its execution to MoniTao (push). Ideal for monitoring crons, backups, internal scripts.

How long before being alerted in case of downtime?

It depends on your plan and configured interval:

  • Free: 5 minutes (1 failed check)
  • Pro: 1-2 minutes (1 failed check)
  • Business: 30 seconds to 1 minute (1 failed check)

Can I monitor internal services (localhost, private network)?

No, for security reasons (SSRF protection), MoniTao can only monitor public URLs. Localhost addresses, 192.168.x.x, 10.x.x.x, etc. are blocked.

How can I avoid false alerts?

MoniTao waits for 1 failure before sending an alert. You can also:

  • Use "Silence Periods" to ignore alerts during maintenance
  • Increase the timeout if your service takes time to respond
  • Check that your firewall allows MoniTao's IPs

How long does MoniTao keep history?

  • Free: 24 hours
  • Pro: 30 days
  • Business: 90 days

Can I change plans at any time?

Yes! You can upgrade or downgrade at any time. The change is effective immediately.

How do I cancel my subscription?

From "Settings" β†’ "Subscription" β†’ "Cancel". You keep access until the end of your paid period.

Need Help?

If you can't find an answer to your question in this documentation, don't hesitate to contact us:

We respond within 24 business hours (Pro) or priority (Business).

Have a suggestion? We're always listening to your feedback to improve MoniTao!