Documentation

Welcome to the UptimeEye documentation. Here you'll find comprehensive guides and documentation to help you start working with UptimeEye as quickly as possible.

Monitors

What are Monitors?

Monitors are the core component of UptimeEye that allow you to check the health and performance of your websites, APIs, and services. Each monitor consists of one or more steps that define what to check and how to validate the results.

Monitor Types

UptimeEye supports the following monitor types:

  • HTTP - Monitor HTTP/HTTPS endpoints with customizable requests and response validation
  • DNS - Check DNS records and validate their values
  • ICMP - Ping servers to check their availability and response time

Creating a Monitor

To create a new monitor:

  1. Navigate to the Monitors page in your project
  2. Click the "New Monitor" button
  3. Enter a name for your monitor
  4. Select a notification channel to receive alerts
  5. Configure the monitor options (check interval, timeout, etc.)
  6. Add one or more monitor steps (see Monitor Steps section)
  7. Click "reate Monitor" to save your configuration

Monitor Options

When creating or editing a monitor, you can configure the following options:

  • Check Interval - How often the monitor should run (from 30 seconds to 24 hours)
  • Timeout - How long to wait for a response before considering the check failed (5-60 seconds)
  • Follow Redirects - Whether to follow HTTP redirects automatically
  • Locations - From which geographic locations the monitor should run

Monitor Steps

What are Monitor Steps?

Monitor steps define the individual checks that a monitor performs. Each step can have its own configuration, assertions, and variable extractions. Steps are executed in sequence, and variables extracted in one step can be used in subsequent steps.

Step Configuration

When creating a monitor step, you'll go through a 4-step wizard:

  1. Basics - Define the step name and type (HTTP, DNS, ICMP)
  2. Details - Configure the request details (URL, method, headers, body)
  3. Assertions - Add assertions to validate the response
  4. Variables - Extract variables from the response for use in subsequent steps

Assertions

Assertions allow you to validate the response from your monitored endpoint. Different assertion types are available depending on the monitor type:

HTTP Assertions

  • Status Code - Check if the status code is or is not a specific value
  • Response Time - Check if the response time is less than a specific value
  • Body - Check if the response body contains, does not contain, is, or is not a specific value
  • Body JSON Path - Check if a specific JSON path in the response body meets certain criteria
  • Header - Check if a specific header contains, does not contain, is, or is not a specific value
  • SSL Certificate - Check various properties of the SSL certificate (expiration, issuer, etc.)

DNS Assertions

  • DNS Record - Check if a specific DNS record (A, AAAA, MX, etc.) contains, does not contain, is, or is not a specific value

ICMP Assertions

  • Response Time - Check if the ping response time is less than a specific value

Variable Extraction

Variables allow you to extract values from the response of one step and use them in subsequent steps. This is useful for scenarios like extracting an authentication token from a login response and using it in subsequent API calls.

You can extract variables from:

  • Response Body - Extract the entire response body or a specific JSON path
  • Headers - Extract the value of a specific header
  • Status Code - Extract the status code as a variable

To use a variable in a subsequent step, use the syntax {{variableName}} in the URL, headers, or body of the step.

Scheduled Tasks

What are Scheduled Tasks?

Scheduled Tasks allow you to monitor processes that should run at specific intervals, such as cron jobs, backups, or data processing tasks. Unlike monitors that actively check endpoints, scheduled tasks expect your system to send a heartbeat signal to UptimeEye at the scheduled time.

Task Types

UptimeEye supports two types of scheduled tasks:

  • Simple Interval - Tasks that should run at regular intervals (every X minutes, hours, or days)
  • Cron Expression - Tasks that follow a cron schedule for more complex timing patterns

Creating a Scheduled Task

To create a new scheduled task:

  1. Navigate to the Scheduled Tasks page in your project
  2. Click the "New Scheduled Task" button
  3. Enter a name for your task
  4. Select a notification channel to receive alerts
  5. Choose the task type (Simple Interval or Cron Expression)
  6. Configure the timing settings
  7. Set the grace period (how long to wait before considering the task missed)
  8. Click "Create Scheduled Task" to save your configuration

Sending Heartbeats

Once you've created a scheduled task, your system needs to send heartbeat signals to UptimeEye at the scheduled times. You can do this by making an HTTP request to the task's heartbeat URL, which you can find in the task details page.

The heartbeat signal can include status information (success or failure) and optional details about the task execution.

Notification Channels

What are Notification Channels?

Notification Channels define how and where UptimeEye sends alerts when monitors or scheduled tasks detect issues. You can create multiple notification channels and assign them to different monitors or tasks.

Available Integrations

UptimeEye supports the following notification integrations:

  • Email - Send notifications to one or more email addresses
  • Slack - Send notifications to a Slack channel
  • Microsoft Teams - Send notifications to a Microsoft Teams channel
  • Discord - Send notifications to a Discord channel
  • Telegram - Send notifications to a Telegram chat
  • Webhook - Send notifications to a custom HTTP endpoint

Creating a Notification Channel

To create a new notification channel:

  1. Navigate to the Notification Channels page in your project
  2. Click the "New Notification Channel" button
  3. Enter a name for your channel
  4. Click "Create Notification Channel" to save the basic configuration
  5. On the channel settings page, add one or more integrations
  6. Configure each integration with the required settings (e.g., email addresses, webhook URLs)

Notification Events

UptimeEye sends notifications for various events, including:

  • Monitor status changes (up to down, down to up)
  • Scheduled task missed executions
  • Scheduled task failure reports

Status Pages

What are Status Pages?

Status Pages allow you to share the status of your services with your users or team members. You can create public status pages for your customers or private status pages for internal use.

Status Page Features

  • Organize monitors and scheduled tasks into sections
  • Display uptime, response time, and incident history
  • Customize which statistics to show for each monitor or task
  • Public or private visibility options
  • Custom URL slug for easy access

Creating a Status Page

To create a new status page:

  1. Navigate to the Status Pages page in your project
  2. Click the "New Status Page" button
  3. Enter a name and URL slug for your status page
  4. Choose whether the page should be public or private
  5. Add one or more sections to organize your monitors and tasks
  6. For each section, add the relevant monitors and scheduled tasks
  7. Configure which statistics to display for each item
  8. Click "Create Status Page" to save your configuration

Accessing Status Pages

Once created, your status page will be available at a URL based on the slug you provided. For public status pages, anyone with the URL can access it. For private status pages, authentication is required.

Secure Variables

What are Secure Variables?

Secure Variables allow you to store sensitive information, such as API keys, passwords, or tokens, securely in UptimeEye. These variables can then be used in your monitors without exposing the actual values in the UI or logs.

Creating Secure Variables

To create a new secure variable:

  1. Navigate to the Variables page in your project
  2. Click the "New Variable" button
  3. Enter a key (name) for your variable
  4. Enter the value you want to store
  5. Check the "Secure" checkbox to mark the variable as secure
  6. Click "Create Variable" to save your configuration

Note: Once a secure variable is created, its value cannot be viewed again, even by administrators. You can update the value if needed, but you cannot retrieve the original value.

Using Secure Variables in Monitors

To use a secure variable in a monitor step, use the syntax {{variableName}} in the URL, headers, or body of the step. UptimeEye will automatically replace this placeholder with the actual value when executing the monitor.

This allows you to use sensitive information in your monitors without exposing it in the UI or logs. For example, you can use secure variables for:

  • API keys in request headers
  • Passwords in authentication requests
  • Tokens in request parameters
  • Sensitive data in request bodies

Ready to get started?

© 2024 UptimeEye. All rights reserved.

from 🇩🇪 with ❤️