Skip to main content

Monitor

Resource Monitor in pulumi-better-uptime.
13 min read

Resource Monitor in pulumi-better-uptime.

Pulumi type: better-uptime:index/monitor:Monitor.

name is the Pulumi resource name. Nested object fields are documented under that object. They are not arguments of this resource.

Example#

Only required arguments are set. A string in angle brackets stands in for that argument. Any other value is an option or example written in the SDK description.

Arguments#

PropertyTypeRequiredDescription
authPasswordstringnoBasic HTTP authentication password to include with the request.
authUsernamestringnoBasic HTTP authentication username to include with the request.
callbooleannoWhether to call when a new incident is created.
checkFrequencynumbernoHow often should we check your website? In seconds.
confirmationPeriodnumbernoHow long should we wait after observing a failure before we start a new incident? In seconds.
criticalAlertbooleannoWhether to send a critical push notification that ignores the mute switch and Do not Disturb mode when a new incident is created.
domainExpirationnumbernoHow many days before the domain expires do you want to be alerted? Valid values are 1, 2, 3, 7, 14, 30, and 60. Set to -1 to disable domain expiration check.
emailbooleannoWhether to send an email when a new incident is created.
environmentVariables{ [key: string]: string }noFor Playwright monitors, the environment variables that can be used in the scenario. Example: { "PASSWORD" = "passw0rd" }.
expectedStatusCodesnumber[]noRequired if monitorType is set to expected_status_code. We will create a new incident if the status code returned from the server is not in the list of expected status codes.
expirationPolicyIdnumbernoSet the expiration escalation policy for the monitor. It is used for SSL certificate and domain expiration checks. When set to null, an e-mail is sent to the entire team.
followRedirectsbooleannoSet to true for the monitor to follow redirects.
httpMethodstringnoHTTP Method used to make a request. Valid options: GET, HEAD, POST, PUT, PATCH
ipVersionstringnoValid values: ipv4 Use IPv4 only, ipv6 Use IPv6 only.
maintenanceDaysstring[]noAn array of maintenance days to set. If a maintenance window is overnight both affected days should be set. Allowed values are ["mon", "tue", "wed", "thu", "fri", "sat", "sun"] or any subset of these days.
maintenanceFromstringnoStart of the maintenance window each day. We won't check your website during this window. Example: "01:00:00"
maintenanceTimezonestringnoThe timezone to use for the maintenance window each day. Defaults to UTC. The accepted values can be found in the Rails TimeZone documentation. https://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html
maintenanceTostringnoEnd of the maintenance window each day. Example: "03:00:00"
monitorGroupIdnumbernoSet this attribute if you want to add this monitor to a monitor group.
monitorTypestringyesValid values: status We will check your website for 2XX HTTP status code. expectedStatusCode We will check if your website returned one of the values in expected_status_codes. keyword We will check if your website contains the required_keyword. keywordAbsence We will check if your website doesn't contain the required_keyword. ping We will ping your host specified in the url parameter. tcp We will test a TCP port at your host specified in the url parameter (port is required). udp We will test a UDP port at your host specified in the url parameter (port and requiredKeyword are required). smtp We will check for a SMTP server at the host specified in the url parameter (port is required, and can be one of 25, 465, 587, or a combination of those ports separated by comma). pop We will check for a POP3 server at the host specified in the url parameter (port is required, and can be 110, 995, or both). imap We will check for an IMAP server at the host specified in the url parameter (port is required, and can be 143, 993, or both). dns We will check for a DNS server at the host specified in the url parameter (request_body is required, and should contain the domain to query the DNS server with). playwright We will run the scenario defined by playwright_script, identified in the UI by scenario_name
pausedbooleannoSet to true to pause monitoring - we won't notify you about downtime. Set to false to resume monitoring.
playwrightScriptstringnoFor Playwright monitors, the JavaScript source code of the scenario.
policyIdstringnoSet the escalation policy for the monitor.
portstringnoRequired if monitorType is set to tcp, udp, smtp, pop, or imap. tcp and udp monitors accept any ports, while smtp, pop, and imap accept only the specified ports corresponding with their servers (e.g. "25,465,587" for smtp).
pronounceableNamestringnoPronounceable name of the monitor. We will use this when we call you. Try to make it tongue-friendly, please?
proxyHoststringnoA proxy to be used for routing HTTP checks. Use user:pass@hostname format for proxy authentication.
proxyPortnumbernoThe port to be used with proxyHost.
pushbooleannoWhether to send a push notification when a new incident is created.
recoveryPeriodnumbernoHow long the monitor must be up to automatically mark an incident as resolved after being down. In seconds.
regionsstring[]noAn array of regions to set. Allowed values are ["us", "eu", "as", "au"] or any subset of these regions.
rememberCookiesbooleannoSet to true to keep cookies when redirecting.
requestBodystringnoRequest body for POST, PUT, PATCH requests. Required if monitorType is set to dns (domain to query the DNS server with).
requestHeaders{ [key: string]: string }[]noAn array of request headers, consisting of name and value pairs
requestTimeoutnumbernoHow long to wait before timing out the request? - For Server and Port monitors (types ping, tcp, udp, smtp, pop, imap and dns) the timeout is specified in milliseconds. Valid options: 500, 1000, 2000, 3000, 5000. - For Playwright monitors (type playwright), this determines the Playwright scenario timeout instead in seconds. Valid options: 15, 30, 45, 60, 120, 180, 240, 300, 360, 480, 600, 900. - For all other monitors, the timeout is specified in seconds. Valid options: 2, 3, 5, 10, 15, 30, 45, 60.
requiredKeywordstringnoRequired if monitorType is set to keyword or udp. We will create a new incident if this keyword is missing on your page.
scenarioNamestringnoFor Playwright monitors, the scenario name identifying the monitor in the UI. For Playwright monitors, either url or scenarioName must be provided.
smsbooleannoWhether to send an SMS when a new incident is created.
sslExpirationnumbernoHow many days before the SSL certificate expires do you want to be alerted? Valid values are 1, 2, 3, 7, 14, 30, and 60. Set to -1 to disable SSL expiration check.
teamNamestringnoUsed to specify the team the resource should be created in when using global tokens. You can't update this value later.
teamWaitnumbernoHow long to wait before escalating the incident alert to the team. Leave blank to disable escalating to the entire team. In seconds.
urlstringnoURL of your website or the host you want to ping (see monitorType below). Required for all monitor types except Playwright. For Playwright monitors, either url or scenarioName must be provided.
verifySslbooleannoShould we verify SSL certificate validity?

Outputs#

Computed outputs are produced by the provider. They are not constructor arguments.

PropertyTypeComputedDescription
authPasswordstringnoBasic HTTP authentication password to include with the request.
authUsernamestringnoBasic HTTP authentication username to include with the request.
callbooleannoWhether to call when a new incident is created.
checkFrequencynumbernoHow often should we check your website? In seconds.
confirmationPeriodnumbernoHow long should we wait after observing a failure before we start a new incident? In seconds.
createdAtstringyesThe time when this monitor was created.
criticalAlertbooleannoWhether to send a critical push notification that ignores the mute switch and Do not Disturb mode when a new incident is created.
domainExpirationnumbernoHow many days before the domain expires do you want to be alerted? Valid values are 1, 2, 3, 7, 14, 30, and 60. Set to -1 to disable domain expiration check.
emailbooleannoWhether to send an email when a new incident is created.
environmentVariables{ [key: string]: string }noFor Playwright monitors, the environment variables that can be used in the scenario. Example: { "PASSWORD" = "passw0rd" }.
expectedStatusCodesnumber[]noRequired if monitorType is set to expected_status_code. We will create a new incident if the status code returned from the server is not in the list of expected status codes.
expirationPolicyIdnumbernoSet the expiration escalation policy for the monitor. It is used for SSL certificate and domain expiration checks. When set to null, an e-mail is sent to the entire team.
followRedirectsbooleannoSet to true for the monitor to follow redirects.
httpMethodstringnoHTTP Method used to make a request. Valid options: GET, HEAD, POST, PUT, PATCH
ipVersionstringnoValid values: ipv4 Use IPv4 only, ipv6 Use IPv6 only.
lastCheckedAtstringyesWhen the website was last checked.
maintenanceDaysstring[]noAn array of maintenance days to set. If a maintenance window is overnight both affected days should be set. Allowed values are ["mon", "tue", "wed", "thu", "fri", "sat", "sun"] or any subset of these days.
maintenanceFromstringnoStart of the maintenance window each day. We won't check your website during this window. Example: "01:00:00"
maintenanceTimezonestringnoThe timezone to use for the maintenance window each day. Defaults to UTC. The accepted values can be found in the Rails TimeZone documentation. https://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html
maintenanceTostringnoEnd of the maintenance window each day. Example: "03:00:00"
monitorGroupIdnumbernoSet this attribute if you want to add this monitor to a monitor group.
monitorTypestringnoValid values: status We will check your website for 2XX HTTP status code. expectedStatusCode We will check if your website returned one of the values in expected_status_codes. keyword We will check if your website contains the required_keyword. keywordAbsence We will check if your website doesn't contain the required_keyword. ping We will ping your host specified in the url parameter. tcp We will test a TCP port at your host specified in the url parameter (port is required). udp We will test a UDP port at your host specified in the url parameter (port and requiredKeyword are required). smtp We will check for a SMTP server at the host specified in the url parameter (port is required, and can be one of 25, 465, 587, or a combination of those ports separated by comma). pop We will check for a POP3 server at the host specified in the url parameter (port is required, and can be 110, 995, or both). imap We will check for an IMAP server at the host specified in the url parameter (port is required, and can be 143, 993, or both). dns We will check for a DNS server at the host specified in the url parameter (request_body is required, and should contain the domain to query the DNS server with). playwright We will run the scenario defined by playwright_script, identified in the UI by scenario_name
pausedbooleannoSet to true to pause monitoring - we won't notify you about downtime. Set to false to resume monitoring.
pausedAtstringyesThe time when this monitor was paused.
playwrightScriptstringnoFor Playwright monitors, the JavaScript source code of the scenario.
policyIdstringnoSet the escalation policy for the monitor.
portstringnoRequired if monitorType is set to tcp, udp, smtp, pop, or imap. tcp and udp monitors accept any ports, while smtp, pop, and imap accept only the specified ports corresponding with their servers (e.g. "25,465,587" for smtp).
pronounceableNamestringnoPronounceable name of the monitor. We will use this when we call you. Try to make it tongue-friendly, please?
proxyHoststringnoA proxy to be used for routing HTTP checks. Use user:pass@hostname format for proxy authentication.
proxyPortnumbernoThe port to be used with proxyHost.
pushbooleannoWhether to send a push notification when a new incident is created.
recoveryPeriodnumbernoHow long the monitor must be up to automatically mark an incident as resolved after being down. In seconds.
regionsstring[]noAn array of regions to set. Allowed values are ["us", "eu", "as", "au"] or any subset of these regions.
rememberCookiesbooleannoSet to true to keep cookies when redirecting.
requestBodystringnoRequest body for POST, PUT, PATCH requests. Required if monitorType is set to dns (domain to query the DNS server with).
requestHeaders{ [key: string]: string }[]noAn array of request headers, consisting of name and value pairs
requestTimeoutnumbernoHow long to wait before timing out the request? - For Server and Port monitors (types ping, tcp, udp, smtp, pop, imap and dns) the timeout is specified in milliseconds. Valid options: 500, 1000, 2000, 3000, 5000. - For Playwright monitors (type playwright), this determines the Playwright scenario timeout instead in seconds. Valid options: 15, 30, 45, 60, 120, 180, 240, 300, 360, 480, 600, 900. - For all other monitors, the timeout is specified in seconds. Valid options: 2, 3, 5, 10, 15, 30, 45, 60.
requiredKeywordstringnoRequired if monitorType is set to keyword or udp. We will create a new incident if this keyword is missing on your page.
scenarioNamestringnoFor Playwright monitors, the scenario name identifying the monitor in the UI. For Playwright monitors, either url or scenarioName must be provided.
smsbooleannoWhether to send an SMS when a new incident is created.
sslExpirationnumbernoHow many days before the SSL certificate expires do you want to be alerted? Valid values are 1, 2, 3, 7, 14, 30, and 60. Set to -1 to disable SSL expiration check.
statusstringyesThe status of this website check.
teamNamestringnoUsed to specify the team the resource should be created in when using global tokens. You can't update this value later.
teamWaitnumbernoHow long to wait before escalating the incident alert to the team. Leave blank to disable escalating to the entire team. In seconds.
updatedAtstringyesThe time when this monitor was updated.
urlstringnoURL of your website or the host you want to ping (see monitorType below). Required for all monitor types except Playwright. For Playwright monitors, either url or scenarioName must be provided.
verifySslbooleannoShould we verify SSL certificate validity?