SiteMonitor

class SiteMonitor : KotlinCustomResource

This resource provides a site monitor resource and it can be used to monitor public endpoints and websites. Details at https://www.alibabacloud.com/help/doc-detail/67907.htm

NOTE: Available since v1.72.0.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const basic = new alicloud.cms.SiteMonitor("basic", {
address: "http://www.alibabacloud.com",
taskName: "tf-example",
taskType: "HTTP",
interval: 5,
ispCities: [{
city: "546",
isp: "465",
}],
optionsJson: `{
"http_method": "get",
"waitTime_after_completion": null,
"ipv6_task": false,
"diagnosis_ping": false,
"diagnosis_mtr": false,
"assertions": [
{
"operator": "lessThan",
"type": "response_time",
"target": 1000
}
],
"time_out": 30000
}
`,
});
import pulumi
import pulumi_alicloud as alicloud
basic = alicloud.cms.SiteMonitor("basic",
address="http://www.alibabacloud.com",
task_name="tf-example",
task_type="HTTP",
interval=5,
isp_cities=[{
"city": "546",
"isp": "465",
}],
options_json="""{
"http_method": "get",
"waitTime_after_completion": null,
"ipv6_task": false,
"diagnosis_ping": false,
"diagnosis_mtr": false,
"assertions": [
{
"operator": "lessThan",
"type": "response_time",
"target": 1000
}
],
"time_out": 30000
}
""")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var basic = new AliCloud.Cms.SiteMonitor("basic", new()
{
Address = "http://www.alibabacloud.com",
TaskName = "tf-example",
TaskType = "HTTP",
Interval = 5,
IspCities = new[]
{
new AliCloud.Cms.Inputs.SiteMonitorIspCityArgs
{
City = "546",
Isp = "465",
},
},
OptionsJson = @"{
""http_method"": ""get"",
""waitTime_after_completion"": null,
""ipv6_task"": false,
""diagnosis_ping"": false,
""diagnosis_mtr"": false,
""assertions"": [
{
""operator"": ""lessThan"",
""type"": ""response_time"",
""target"": 1000
}
],
""time_out"": 30000
}
",
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := cms.NewSiteMonitor(ctx, "basic", &cms.SiteMonitorArgs{
Address: pulumi.String("http://www.alibabacloud.com"),
TaskName: pulumi.String("tf-example"),
TaskType: pulumi.String("HTTP"),
Interval: pulumi.Int(5),
IspCities: cms.SiteMonitorIspCityArray{
&cms.SiteMonitorIspCityArgs{
City: pulumi.String("546"),
Isp: pulumi.String("465"),
},
},
OptionsJson: pulumi.String(`{
"http_method": "get",
"waitTime_after_completion": null,
"ipv6_task": false,
"diagnosis_ping": false,
"diagnosis_mtr": false,
"assertions": [
{
"operator": "lessThan",
"type": "response_time",
"target": 1000
}
],
"time_out": 30000
}
`),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.cms.SiteMonitor;
import com.pulumi.alicloud.cms.SiteMonitorArgs;
import com.pulumi.alicloud.cms.inputs.SiteMonitorIspCityArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var basic = new SiteMonitor("basic", SiteMonitorArgs.builder()
.address("http://www.alibabacloud.com")
.taskName("tf-example")
.taskType("HTTP")
.interval(5)
.ispCities(SiteMonitorIspCityArgs.builder()
.city("546")
.isp("465")
.build())
.optionsJson("""
{
"http_method": "get",
"waitTime_after_completion": null,
"ipv6_task": false,
"diagnosis_ping": false,
"diagnosis_mtr": false,
"assertions": [
{
"operator": "lessThan",
"type": "response_time",
"target": 1000
}
],
"time_out": 30000
}
""")
.build());
}
}
resources:
basic:
type: alicloud:cms:SiteMonitor
properties:
address: http://www.alibabacloud.com
taskName: tf-example
taskType: HTTP
interval: 5
ispCities:
- city: '546'
isp: '465'
optionsJson: |
{
"http_method": "get",
"waitTime_after_completion": null,
"ipv6_task": false,
"diagnosis_ping": false,
"diagnosis_mtr": false,
"assertions": [
{
"operator": "lessThan",
"type": "response_time",
"target": 1000
}
],
"time_out": 30000
}

Import

Cloud Monitor Service Site Monitor can be imported using the id, e.g.

$ pulumi import alicloud:cms/siteMonitor:SiteMonitor example <id>

Properties

Link copied to clipboard
val address: Output<String>

The URL or IP address monitored by the site monitoring task.

Link copied to clipboard
val alertIds: Output<List<String>>?

The IDs of existing alert rules to be associated with the site monitoring task.

Link copied to clipboard
val createTime: Output<String>

The time when the site monitoring task was created.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val interval: Output<Int>?

The monitoring interval of the site monitoring task. Unit: minutes. Valid values: 1, 5, 15, 30 and 60. Default value: 1. NOTE: From version 1.207.0, interval can be set to 30, 60.

Link copied to clipboard

The detection points in a JSON array. For example, [{"city":"546","isp":"465"},{"city":"572","isp":"465"},{"city":"738","isp":"465"}] indicates the detection points in Beijing, Hangzhou, and Qingdao respectively. You can call the DescribeSiteMonitorISPCityList operation to query detection point information. If this parameter is not specified, three detection points will be chosen randomly for monitoring. See isp_cities below.

Link copied to clipboard
val optionsJson: Output<String>?

The extended options of the protocol of the site monitoring task. The options vary according to the protocol. See extended options.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val taskName: Output<String>

The name of the site monitoring task. The name must be 4 to 100 characters in length. The name can contain the following types of characters: letters, digits, and underscores.

Link copied to clipboard
val taskState: Output<String>

The status of the site monitoring task.

Link copied to clipboard
val taskType: Output<String>

The protocol of the site monitoring task. Currently, site monitoring supports the following protocols: HTTP, PING, TCP, UDP, DNS, SMTP, POP3, and FTP.

Link copied to clipboard
val updateTime: Output<String>

The time when the site monitoring task was updated.

Link copied to clipboard
val urn: Output<String>