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, typefrom uptimerobot_monitor;
select id, friendly_name, url, typefrom 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, urlfrom uptimerobot_monitorwhere status = 0;
select id, friendly_name, urlfrom uptimerobot_monitorwhere 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, urlfrom uptimerobot_monitorwhere type = 5;
select id, type, urlfrom uptimerobot_monitorwhere 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_contactsfrom uptimerobot_monitorwhere id = '793508639';
select id, friendly_name, alert_contactsfrom uptimerobot_monitorwhere 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 logsfrom uptimerobot_monitorwhere id = '793508639';
select id, friendly_name, logsfrom uptimerobot_monitorwhere id = '793508639';
Schema for uptimerobot_monitor
Name | Type | Operators | Description |
---|---|---|---|
_ctx | jsonb | Steampipe context in JSON form, e.g. connection_name. | |
alert_contacts | jsonb | The alert contacts of the monitor. | |
create_date_time | timestamp with time zone | The create time for the monitor. | |
friendly_name | text | The friendly name of the monitor. | |
http_password | text | Used for password-protected web pages. Available for HTTP and keyword monitoring. | |
http_username | text | Used for password-protected web pages. Available for HTTP and keyword monitoring. | |
id | text | = | The ID of the monitor (can be used for monitor-specific requests). |
interval | bigint | The interval for the monitoring check (300 seconds by default). | |
is_group_main | boolean | Specify if the monitor group is main. | |
keyword_case_type | bigint | Used 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_type | text | Used 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_value | text | The value of the keyword. | |
logs | jsonb | The logs of the monitor. | |
monitor_group | bigint | Number of the monitor group. | |
ssl | jsonb | The SSL configuration of the monitor. | |
status | bigint | = | The status of the monitor. Possible values are 0 (paused), 1 (not checked yet), 2 (up), 8 (seems down), 9 (down). |
sub_type | text | Used 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). | |
timeout | bigint | The timeout for the monitoring check. | |
type | bigint | = | the type of the monitor. Possible values are 1 (HTTP(s)), 2 (Keyword), 3 (Ping), 4 (Port), 5 (Heartbeat). |
url | text | the 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