turbot/uptimerobot
steampipe plugin install uptimerobot

Table: uptimerobot_monitor - Query UptimeRobot Monitors using SQL

UptimeRobot is a service that provides website monitoring, alerting, and status pages. It allows users to monitor HTTP(s), ping, port and check keywords. This service helps to minimize the downtime by providing timely alerts.

Table Usage Guide

The uptimerobot_monitor table provides insights into the monitors within UptimeRobot. As a Site Reliability Engineer, you can explore monitor-specific details through this table, including status, type, response times, and associated alert contacts. Utilize it to uncover information about monitors, such as their uptime percentage, the type of monitor (HTTP, keyword, ping, port), and the alert contacts associated with each monitor.

Examples

Basic Info

Discover the segments that are being monitored by UptimeRobot by identifying their unique identifiers, friendly names, URLs, and types. This is beneficial for gaining insights into the variety and scope of your monitoring efforts.

select
id,
friendly_name,
url,
type
from
uptimerobot_monitor;
select
id,
friendly_name,
url,
type
from
uptimerobot_monitor;

List paused monitors

Explore which monitors are currently paused, allowing you to identify potential issues or areas for review in your uptime monitoring system. This could be useful in maintaining optimal performance and minimizing downtime.

select
id,
friendly_name,
url
from
uptimerobot_monitor
where
status = 0;
select
id,
friendly_name,
url
from
uptimerobot_monitor
where
status = 0;

List heartbeat monitors

Discover the segments that are being monitored by the heartbeat monitoring system, which is crucial for ensuring the smooth functioning of your network by identifying any irregularities or disruptions in the network's heartbeat signals.

select
id,
type,
url
from
uptimerobot_monitor
where
type = 5;
select
id,
type,
url
from
uptimerobot_monitor
where
type = 5;

Get alert contact details of a particular monitor

Identify the contact details linked to a specific monitor alert to understand who will be notified in case of any issues or disruptions. This can be useful in ensuring the right individuals or teams are kept informed and can respond promptly to any potential problems.

select
id,
friendly_name,
jsonb_pretty(alert_contacts) as alert_contacts
from
uptimerobot_monitor
where
id = '793508639';
select
id,
friendly_name,
alert_contacts
from
uptimerobot_monitor
where
id = '793508639';

Get log details of a particular monitor

Explore the log details of a specific monitor to understand its performance history and identify potential issues. This query is beneficial for troubleshooting and maintaining optimal system performance.

select
id,
friendly_name,
jsonb_pretty(logs) as logs
from
uptimerobot_monitor
where
id = '793508639';
select
id,
friendly_name,
logs
from
uptimerobot_monitor
where
id = '793508639';

Schema for uptimerobot_monitor

NameTypeOperatorsDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
alert_contactsjsonbThe alert contacts of the monitor.
create_date_timetimestamp with time zoneThe create time for the monitor.
friendly_nametextThe friendly name of the monitor.
http_passwordtextUsed for password-protected web pages. Available for HTTP and keyword monitoring.
http_usernametextUsed for password-protected web pages. Available for HTTP and keyword monitoring.
idtext=The ID of the monitor (can be used for monitor-specific requests).
intervalbigintThe interval for the monitoring check (300 seconds by default).
is_group_mainbooleanSpecify if the monitor group is main.
keyword_case_typebigintUsed only for Keyword monitoring (monitor>type = 2) if set the keyword value will be checked as case sensitive or case insensitive according the selection (case sensitive by default). Possible values are 0 (case sensitive) and 1 (case insensitive).
keyword_typetextUsed only for Keyword monitoring (monitor>type = 2) and shows if the monitor will be flagged as down when the keyword exists or not exists. Possible values are 1 (exists) and 2 (not exists).
keyword_valuetextThe value of the keyword.
logsjsonbThe logs of the monitor.
monitor_groupbigintNumber of the monitor group.
ssljsonbThe SSL configuration of the monitor.
statusbigint=The status of the monitor. Possible values are 0 (paused), 1 (not checked yet), 2 (up), 8 (seems down), 9 (down).
sub_typetextUsed only for Port monitoring (monitor>type = 4) and shows which pre-defined port/service is monitored or if a custom port is monitored. Possible values are 1 (HTTP 80), 2 (HTTPS 443), 3 (FTP 21), 4 (SMPT 25), 5 (POP3 110), 6 (IMAP 143), 99 (Custom Port).
timeoutbigintThe timeout for the monitoring check.
typebigint=the type of the monitor. Possible values are 1 (HTTP(s)), 2 (Keyword), 3 (Ping), 4 (Port), 5 (Heartbeat).
urltextthe URL/IP of the monitor.

Export

This table is available as a standalone Exporter CLI. Steampipe exporters are stand-alone binaries that allow you to extract data using Steampipe plugins without a database.

You can download the tarball for your platform from the Releases page, but it is simplest to install them with the steampipe_export_installer.sh script:

/bin/sh -c "$(curl -fsSL https://steampipe.io/install/export.sh)" -- uptimerobot

You can pass the configuration to the command with the --config argument:

steampipe_export_uptimerobot --config '<your_config>' uptimerobot_monitor