1. Packages
  2. SignalFx
  3. API Docs
  4. Detector
SignalFx v7.1.1 published on Tuesday, Feb 27, 2024 by Pulumi

signalfx.Detector

Explore with Pulumi AI

signalfx logo
SignalFx v7.1.1 published on Tuesday, Feb 27, 2024 by Pulumi

    Provides a Splunk Observability Cloud detector resource. This can be used to create and manage detectors.

    If you’re interested in using Splunk Observability Cloud detector features such as Historical Anomaly, Resource Running Out, or others, consider building them in the UI first and then use the “Show SignalFlow” feature to extract the value for program_text. You can also see the documentation for detector functions in signalflow-library.

    NOTE When you want to change or remove write permissions for a user other than yourself regarding detectors, use a session token of an administrator to authenticate the Splunk Observability Cloud provider. See Operations that require a session token for an administrator.

    Example

    import * as pulumi from "@pulumi/pulumi";
    import * as signalfx from "@pulumi/signalfx";
    
    const config = new pulumi.Config();
    const clusters = config.getObject("clusters") || [
        "clusterA",
        "clusterB",
    ];
    const applicationDelay: signalfx.Detector[] = [];
    for (const range = {value: 0}; range.value < clusters.length; range.value++) {
        applicationDelay.push(new signalfx.Detector(`applicationDelay-${range.value}`, {
            description: `your application is slow - ${clusters[range.value]}`,
            maxDelay: 30,
            tags: [
                "app-backend",
                "staging",
            ],
            authorizedWriterTeams: [signalfx_team.mycoolteam.id],
            authorizedWriterUsers: ["abc123"],
            programText: `signal = data('app.delay', filter('cluster','${clusters[range.value]}'), extrapolation='last_value', maxExtrapolations=5).max()
    detect(when(signal > 60, '5m')).publish('Processing old messages 5m')
    detect(when(signal > 60, '30m')).publish('Processing old messages 30m')
    `,
            rules: [
                {
                    description: "maximum > 60 for 5m",
                    severity: "Warning",
                    detectLabel: "Processing old messages 5m",
                    notifications: ["Email,foo-alerts@bar.com"],
                },
                {
                    description: "maximum > 60 for 30m",
                    severity: "Critical",
                    detectLabel: "Processing old messages 30m",
                    notifications: ["Email,foo-alerts@bar.com"],
                },
            ],
        }));
    }
    
    import pulumi
    import pulumi_signalfx as signalfx
    
    config = pulumi.Config()
    clusters = config.get_object("clusters")
    if clusters is None:
        clusters = [
            "clusterA",
            "clusterB",
        ]
    application_delay = []
    for range in [{"value": i} for i in range(0, len(clusters))]:
        application_delay.append(signalfx.Detector(f"applicationDelay-{range['value']}",
            description=f"your application is slow - {clusters[range['value']]}",
            max_delay=30,
            tags=[
                "app-backend",
                "staging",
            ],
            authorized_writer_teams=[signalfx_team["mycoolteam"]["id"]],
            authorized_writer_users=["abc123"],
            program_text=f"""signal = data('app.delay', filter('cluster','{clusters[range["value"]]}'), extrapolation='last_value', maxExtrapolations=5).max()
    detect(when(signal > 60, '5m')).publish('Processing old messages 5m')
    detect(when(signal > 60, '30m')).publish('Processing old messages 30m')
    """,
            rules=[
                signalfx.DetectorRuleArgs(
                    description="maximum > 60 for 5m",
                    severity="Warning",
                    detect_label="Processing old messages 5m",
                    notifications=["Email,foo-alerts@bar.com"],
                ),
                signalfx.DetectorRuleArgs(
                    description="maximum > 60 for 30m",
                    severity="Critical",
                    detect_label="Processing old messages 30m",
                    notifications=["Email,foo-alerts@bar.com"],
                ),
            ]))
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using SignalFx = Pulumi.SignalFx;
    
    return await Deployment.RunAsync(() => 
    {
        var config = new Config();
        var clusters = config.GetObject<dynamic>("clusters") ?? new[]
        {
            "clusterA",
            "clusterB",
        };
        var applicationDelay = new List<SignalFx.Detector>();
        for (var rangeIndex = 0; rangeIndex < clusters.Length; rangeIndex++)
        {
            var range = new { Value = rangeIndex };
            applicationDelay.Add(new SignalFx.Detector($"applicationDelay-{range.Value}", new()
            {
                Description = $"your application is slow - {clusters[range.Value]}",
                MaxDelay = 30,
                Tags = new[]
                {
                    "app-backend",
                    "staging",
                },
                AuthorizedWriterTeams = new[]
                {
                    signalfx_team.Mycoolteam.Id,
                },
                AuthorizedWriterUsers = new[]
                {
                    "abc123",
                },
                ProgramText = @$"signal = data('app.delay', filter('cluster','{clusters[range.Value]}'), extrapolation='last_value', maxExtrapolations=5).max()
    detect(when(signal > 60, '5m')).publish('Processing old messages 5m')
    detect(when(signal > 60, '30m')).publish('Processing old messages 30m')
    ",
                Rules = new[]
                {
                    new SignalFx.Inputs.DetectorRuleArgs
                    {
                        Description = "maximum > 60 for 5m",
                        Severity = "Warning",
                        DetectLabel = "Processing old messages 5m",
                        Notifications = new[]
                        {
                            "Email,foo-alerts@bar.com",
                        },
                    },
                    new SignalFx.Inputs.DetectorRuleArgs
                    {
                        Description = "maximum > 60 for 30m",
                        Severity = "Critical",
                        DetectLabel = "Processing old messages 30m",
                        Notifications = new[]
                        {
                            "Email,foo-alerts@bar.com",
                        },
                    },
                },
            }));
        }
    });
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-signalfx/sdk/v7/go/signalfx"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		cfg := config.New(ctx, "")
    		clusters := []string{
    			"clusterA",
    			"clusterB",
    		}
    		if param := cfg.GetObject("clusters"); param != nil {
    			clusters = param
    		}
    		var applicationDelay []*signalfx.Detector
    		for index := 0; index < len(clusters); index++ {
    			key0 := index
    			val0 := index
    			__res, err := signalfx.NewDetector(ctx, fmt.Sprintf("applicationDelay-%v", key0), &signalfx.DetectorArgs{
    				Description: pulumi.String(fmt.Sprintf("your application is slow - %v", clusters[val0])),
    				MaxDelay:    pulumi.Int(30),
    				Tags: pulumi.StringArray{
    					pulumi.String("app-backend"),
    					pulumi.String("staging"),
    				},
    				AuthorizedWriterTeams: pulumi.StringArray{
    					signalfx_team.Mycoolteam.Id,
    				},
    				AuthorizedWriterUsers: pulumi.StringArray{
    					pulumi.String("abc123"),
    				},
    				ProgramText: pulumi.String(fmt.Sprintf("signal = data('app.delay', filter('cluster','%v'), extrapolation='last_value', maxExtrapolations=5).max()\ndetect(when(signal > 60, '5m')).publish('Processing old messages 5m')\ndetect(when(signal > 60, '30m')).publish('Processing old messages 30m')\n", clusters[val0])),
    				Rules: signalfx.DetectorRuleArray{
    					&signalfx.DetectorRuleArgs{
    						Description: pulumi.String("maximum > 60 for 5m"),
    						Severity:    pulumi.String("Warning"),
    						DetectLabel: pulumi.String("Processing old messages 5m"),
    						Notifications: pulumi.StringArray{
    							pulumi.String("Email,foo-alerts@bar.com"),
    						},
    					},
    					&signalfx.DetectorRuleArgs{
    						Description: pulumi.String("maximum > 60 for 30m"),
    						Severity:    pulumi.String("Critical"),
    						DetectLabel: pulumi.String("Processing old messages 30m"),
    						Notifications: pulumi.StringArray{
    							pulumi.String("Email,foo-alerts@bar.com"),
    						},
    					},
    				},
    			})
    			if err != nil {
    				return err
    			}
    			applicationDelay = append(applicationDelay, __res)
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.signalfx.Detector;
    import com.pulumi.signalfx.DetectorArgs;
    import com.pulumi.signalfx.inputs.DetectorRuleArgs;
    import com.pulumi.codegen.internal.KeyedValue;
    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) {
            final var config = ctx.config();
            final var clusters = config.get("clusters").orElse(        
                "clusterA",
                "clusterB");
            for (var i = 0; i < clusters.length(); i++) {
                new Detector("applicationDelay-" + i, DetectorArgs.builder()            
                    .description(String.format("your application is slow - %s", clusters[range.value()]))
                    .maxDelay(30)
                    .tags(                
                        "app-backend",
                        "staging")
                    .authorizedWriterTeams(signalfx_team.mycoolteam().id())
                    .authorizedWriterUsers("abc123")
                    .programText("""
    signal = data('app.delay', filter('cluster','%s'), extrapolation='last_value', maxExtrapolations=5).max()
    detect(when(signal > 60, '5m')).publish('Processing old messages 5m')
    detect(when(signal > 60, '30m')).publish('Processing old messages 30m')
    ", clusters[range.value()]))
                    .rules(                
                        DetectorRuleArgs.builder()
                            .description("maximum > 60 for 5m")
                            .severity("Warning")
                            .detectLabel("Processing old messages 5m")
                            .notifications("Email,foo-alerts@bar.com")
                            .build(),
                        DetectorRuleArgs.builder()
                            .description("maximum > 60 for 30m")
                            .severity("Critical")
                            .detectLabel("Processing old messages 30m")
                            .notifications("Email,foo-alerts@bar.com")
                            .build())
                    .build());
    
            
    }
        }
    }
    

    Notification format

    As Splunk Observability Cloud supports different notification mechanisms, use a comma-delimited string to provide inputs. If you want to specify multiple notifications, each must be a member in the list, like so:

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    

    See Splunk Observability Cloud Docs for more information.

    Here are some example of how to configure each notification type:

    Email

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    

    Jira

    Note that the credentialId is the Splunk-provided ID shown after setting up your Jira integration. See also signalfx.jira.Integration.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    

    OpsGenie

    Note that the credentialId is the Splunk-provided ID shown after setting up your Opsgenie integration. Team here is hardcoded as the responderType as that is the only acceptable type as per the API docs.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    

    PagerDuty

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    

    Slack

    Exclude the # on the channel name:

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    

    Team

    Sends notifications to a team.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    

    TeamEmail

    Sends an email to every member of a team.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    

    Splunk On-Call (formerly VictorOps)

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    

    Webhooks

    You need to include all the commas even if you only use a credential id.

    You can either configure a Webhook to use an existing integration’s credential id:

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    

    Or configure one inline:

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    

    Arguments

    • name - (Required) Name of the detector.
    • program_text - (Required) Signalflow program text for the detector. More info in the Splunk Observability Cloud docs.
    • description - (Optional) Description of the detector.
    • authorized_writer_teams - (Optional) Team IDs that have write access to this detector. Remember to use an admin’s token if using this feature and to include that admin’s team id (or user id in authorized_writer_users).
    • authorized_writer_users - (Optional) User IDs that have write access to this detector. Remember to use an admin’s token if using this feature and to include that admin’s user id (or team id in authorized_writer_teams).
    • max_delay - (Optional) How long (in seconds) to wait for late datapoints. See Delayed Datapoints for more info. Max value is 900 seconds (15 minutes). Auto (as little as possible) by default.
    • min_delay - (Optional) How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
    • show_data_markers - (Optional) When true, markers will be drawn for each datapoint within the visualization. true by default.
    • show_event_lines - (Optional) When true, the visualization will display a vertical line for each event trigger. false by default.
    • disable_sampling - (Optional) When false, the visualization may sample the output timeseries rather than displaying them all. false by default.
    • time_range - (Optional) Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 corresponds to -1h in web UI. 3600 by default.
    • start_time - (Optional) Seconds since epoch. Used for visualization. Conflicts with time_range.
    • end_time - (Optional) Seconds since epoch. Used for visualization. Conflicts with time_range.
    • tags - (Optional) Tags associated with the detector.
    • teams - (Optional) Team IDs to associate the detector to.
    • rule - (Required) Set of rules used for alerting.
      • detect_label - (Required) A detect label which matches a detect label within program_text.
      • severity - (Required) The severity of the rule, must be one of: "Critical", "Major", "Minor", "Warning", "Info".
      • description - (Optional) Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
      • disabled - (Optional) When true, notifications and events will not be generated for the detect label. false by default.
      • notifications - (Optional) List of strings specifying where notifications will be sent when an incident occurs. See Create A Single Detector for more info.
      • parameterized_body - (Optional) Custom notification message body when an alert is triggered. See Set Up Detectors to Trigger Alerts for more info.
      • parameterized_subject - (Optional) Custom notification message subject when an alert is triggered. See Set Up Detectors to Trigger Alerts for more info.
      • runbook_url - (Optional) URL of page to consult when an alert is triggered. This can be used with custom notification messages.
      • tip - (Optional) Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
    • viz_options - (Optional) Plot-level customization options, associated with a publish statement.
      • label - (Required) Label used in the publish statement that displays the plot (metric time series data) you want to customize.
      • display_name - (Optional) Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
      • color - (Optional) Color to use : gray, blue, azure, navy, brown, orange, yellow, iris, magenta, pink, purple, violet, lilac, emerald, green, aquamarine.
      • value_unit - (Optional) A unit to attach to this plot. Units support automatic scaling (eg thousands of bytes will be displayed as kilobytes). Values values are Bit, Kilobit, Megabit, Gigabit, Terabit, Petabit, Exabit, Zettabit, Yottabit, Byte, Kibibyte, Mebibyte, Gibibyte (note: this was previously typoed as Gigibyte), Tebibyte, Pebibyte, Exbibyte, Zebibyte, Yobibyte, Nanosecond, Microsecond, Millisecond, Second, Minute, Hour, Day, Week.
      • value_prefix, value_suffix - (Optional) Arbitrary prefix/suffix to display with the value of this plot.

    Notes

    Use both max_delay in your detector configuration and an extrapolation policy in your program text to reduce false positives and false negatives.

    • max_delay allows Splunk Observability Cloud to continue with computation if there is a lag in receiving data points.
    • extrapolation allows you to specify how to handle missing data. An extrapolation policy can be added to individual signals by updating the data block in your program_text.

    See Delayed Datapoints for more info.

    Attributes

    In a addition to all arguments above, the following attributes are exported:

    • id - The ID of the detector.
    • label_resolutions - The resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered.
    • url - The URL of the detector.

    Create Detector Resource

    new Detector(name: string, args: DetectorArgs, opts?: CustomResourceOptions);
    @overload
    def Detector(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 authorized_writer_teams: Optional[Sequence[str]] = None,
                 authorized_writer_users: Optional[Sequence[str]] = None,
                 description: Optional[str] = None,
                 disable_sampling: Optional[bool] = None,
                 end_time: Optional[int] = None,
                 max_delay: Optional[int] = None,
                 min_delay: Optional[int] = None,
                 name: Optional[str] = None,
                 program_text: Optional[str] = None,
                 rules: Optional[Sequence[DetectorRuleArgs]] = None,
                 show_data_markers: Optional[bool] = None,
                 show_event_lines: Optional[bool] = None,
                 start_time: Optional[int] = None,
                 tags: Optional[Sequence[str]] = None,
                 teams: Optional[Sequence[str]] = None,
                 time_range: Optional[int] = None,
                 timezone: Optional[str] = None,
                 viz_options: Optional[Sequence[DetectorVizOptionArgs]] = None)
    @overload
    def Detector(resource_name: str,
                 args: DetectorArgs,
                 opts: Optional[ResourceOptions] = None)
    func NewDetector(ctx *Context, name string, args DetectorArgs, opts ...ResourceOption) (*Detector, error)
    public Detector(string name, DetectorArgs args, CustomResourceOptions? opts = null)
    public Detector(String name, DetectorArgs args)
    public Detector(String name, DetectorArgs args, CustomResourceOptions options)
    
    type: signalfx:Detector
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args DetectorArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args DetectorArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args DetectorArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DetectorArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DetectorArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Detector Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Detector resource accepts the following input properties:

    ProgramText string
    Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
    Rules List<Pulumi.SignalFx.Inputs.DetectorRule>
    Set of rules used for alerting
    AuthorizedWriterTeams List<string>
    Team IDs that have write access to this dashboard
    AuthorizedWriterUsers List<string>
    User IDs that have write access to this dashboard
    Description string
    Description of the detector
    DisableSampling bool
    (false by default) When false, samples a subset of the output MTS in the visualization.
    EndTime int
    Seconds since epoch. Used for visualization
    MaxDelay int
    Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
    MinDelay int
    Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m)
    Name string
    Name of the detector
    ShowDataMarkers bool
    (true by default) When true, markers will be drawn for each datapoint within the visualization.
    ShowEventLines bool
    (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
    StartTime int
    Seconds since epoch. Used for visualization
    Tags List<string>
    Tags associated with the detector
    Teams List<string>
    Team IDs to associate the detector to
    TimeRange int
    Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = -1h. Defaults to 3600
    Timezone string
    The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
    VizOptions List<Pulumi.SignalFx.Inputs.DetectorVizOption>
    Plot-level customization options, associated with a publish statement
    ProgramText string
    Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
    Rules []DetectorRuleArgs
    Set of rules used for alerting
    AuthorizedWriterTeams []string
    Team IDs that have write access to this dashboard
    AuthorizedWriterUsers []string
    User IDs that have write access to this dashboard
    Description string
    Description of the detector
    DisableSampling bool
    (false by default) When false, samples a subset of the output MTS in the visualization.
    EndTime int
    Seconds since epoch. Used for visualization
    MaxDelay int
    Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
    MinDelay int
    Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m)
    Name string
    Name of the detector
    ShowDataMarkers bool
    (true by default) When true, markers will be drawn for each datapoint within the visualization.
    ShowEventLines bool
    (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
    StartTime int
    Seconds since epoch. Used for visualization
    Tags []string
    Tags associated with the detector
    Teams []string
    Team IDs to associate the detector to
    TimeRange int
    Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = -1h. Defaults to 3600
    Timezone string
    The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
    VizOptions []DetectorVizOptionArgs
    Plot-level customization options, associated with a publish statement
    programText String
    Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
    rules List<DetectorRule>
    Set of rules used for alerting
    authorizedWriterTeams List<String>
    Team IDs that have write access to this dashboard
    authorizedWriterUsers List<String>
    User IDs that have write access to this dashboard
    description String
    Description of the detector
    disableSampling Boolean
    (false by default) When false, samples a subset of the output MTS in the visualization.
    endTime Integer
    Seconds since epoch. Used for visualization
    maxDelay Integer
    Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
    minDelay Integer
    Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m)
    name String
    Name of the detector
    showDataMarkers Boolean
    (true by default) When true, markers will be drawn for each datapoint within the visualization.
    showEventLines Boolean
    (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
    startTime Integer
    Seconds since epoch. Used for visualization
    tags List<String>
    Tags associated with the detector
    teams List<String>
    Team IDs to associate the detector to
    timeRange Integer
    Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = -1h. Defaults to 3600
    timezone String
    The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
    vizOptions List<DetectorVizOption>
    Plot-level customization options, associated with a publish statement
    programText string
    Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
    rules DetectorRule[]
    Set of rules used for alerting
    authorizedWriterTeams string[]
    Team IDs that have write access to this dashboard
    authorizedWriterUsers string[]
    User IDs that have write access to this dashboard
    description string
    Description of the detector
    disableSampling boolean
    (false by default) When false, samples a subset of the output MTS in the visualization.
    endTime number
    Seconds since epoch. Used for visualization
    maxDelay number
    Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
    minDelay number
    Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m)
    name string
    Name of the detector
    showDataMarkers boolean
    (true by default) When true, markers will be drawn for each datapoint within the visualization.
    showEventLines boolean
    (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
    startTime number
    Seconds since epoch. Used for visualization
    tags string[]
    Tags associated with the detector
    teams string[]
    Team IDs to associate the detector to
    timeRange number
    Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = -1h. Defaults to 3600
    timezone string
    The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
    vizOptions DetectorVizOption[]
    Plot-level customization options, associated with a publish statement
    program_text str
    Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
    rules Sequence[DetectorRuleArgs]
    Set of rules used for alerting
    authorized_writer_teams Sequence[str]
    Team IDs that have write access to this dashboard
    authorized_writer_users Sequence[str]
    User IDs that have write access to this dashboard
    description str
    Description of the detector
    disable_sampling bool
    (false by default) When false, samples a subset of the output MTS in the visualization.
    end_time int
    Seconds since epoch. Used for visualization
    max_delay int
    Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
    min_delay int
    Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m)
    name str
    Name of the detector
    show_data_markers bool
    (true by default) When true, markers will be drawn for each datapoint within the visualization.
    show_event_lines bool
    (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
    start_time int
    Seconds since epoch. Used for visualization
    tags Sequence[str]
    Tags associated with the detector
    teams Sequence[str]
    Team IDs to associate the detector to
    time_range int
    Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = -1h. Defaults to 3600
    timezone str
    The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
    viz_options Sequence[DetectorVizOptionArgs]
    Plot-level customization options, associated with a publish statement
    programText String
    Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
    rules List<Property Map>
    Set of rules used for alerting
    authorizedWriterTeams List<String>
    Team IDs that have write access to this dashboard
    authorizedWriterUsers List<String>
    User IDs that have write access to this dashboard
    description String
    Description of the detector
    disableSampling Boolean
    (false by default) When false, samples a subset of the output MTS in the visualization.
    endTime Number
    Seconds since epoch. Used for visualization
    maxDelay Number
    Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
    minDelay Number
    Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m)
    name String
    Name of the detector
    showDataMarkers Boolean
    (true by default) When true, markers will be drawn for each datapoint within the visualization.
    showEventLines Boolean
    (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
    startTime Number
    Seconds since epoch. Used for visualization
    tags List<String>
    Tags associated with the detector
    teams List<String>
    Team IDs to associate the detector to
    timeRange Number
    Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = -1h. Defaults to 3600
    timezone String
    The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
    vizOptions List<Property Map>
    Plot-level customization options, associated with a publish statement

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Detector resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    LabelResolutions Dictionary<string, int>
    Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered
    Url string
    URL of the detector
    Id string
    The provider-assigned unique ID for this managed resource.
    LabelResolutions map[string]int
    Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered
    Url string
    URL of the detector
    id String
    The provider-assigned unique ID for this managed resource.
    labelResolutions Map<String,Integer>
    Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered
    url String
    URL of the detector
    id string
    The provider-assigned unique ID for this managed resource.
    labelResolutions {[key: string]: number}
    Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered
    url string
    URL of the detector
    id str
    The provider-assigned unique ID for this managed resource.
    label_resolutions Mapping[str, int]
    Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered
    url str
    URL of the detector
    id String
    The provider-assigned unique ID for this managed resource.
    labelResolutions Map<Number>
    Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered
    url String
    URL of the detector

    Look up Existing Detector Resource

    Get an existing Detector resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: DetectorState, opts?: CustomResourceOptions): Detector
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            authorized_writer_teams: Optional[Sequence[str]] = None,
            authorized_writer_users: Optional[Sequence[str]] = None,
            description: Optional[str] = None,
            disable_sampling: Optional[bool] = None,
            end_time: Optional[int] = None,
            label_resolutions: Optional[Mapping[str, int]] = None,
            max_delay: Optional[int] = None,
            min_delay: Optional[int] = None,
            name: Optional[str] = None,
            program_text: Optional[str] = None,
            rules: Optional[Sequence[DetectorRuleArgs]] = None,
            show_data_markers: Optional[bool] = None,
            show_event_lines: Optional[bool] = None,
            start_time: Optional[int] = None,
            tags: Optional[Sequence[str]] = None,
            teams: Optional[Sequence[str]] = None,
            time_range: Optional[int] = None,
            timezone: Optional[str] = None,
            url: Optional[str] = None,
            viz_options: Optional[Sequence[DetectorVizOptionArgs]] = None) -> Detector
    func GetDetector(ctx *Context, name string, id IDInput, state *DetectorState, opts ...ResourceOption) (*Detector, error)
    public static Detector Get(string name, Input<string> id, DetectorState? state, CustomResourceOptions? opts = null)
    public static Detector get(String name, Output<String> id, DetectorState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AuthorizedWriterTeams List<string>
    Team IDs that have write access to this dashboard
    AuthorizedWriterUsers List<string>
    User IDs that have write access to this dashboard
    Description string
    Description of the detector
    DisableSampling bool
    (false by default) When false, samples a subset of the output MTS in the visualization.
    EndTime int
    Seconds since epoch. Used for visualization
    LabelResolutions Dictionary<string, int>
    Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered
    MaxDelay int
    Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
    MinDelay int
    Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m)
    Name string
    Name of the detector
    ProgramText string
    Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
    Rules List<Pulumi.SignalFx.Inputs.DetectorRule>
    Set of rules used for alerting
    ShowDataMarkers bool
    (true by default) When true, markers will be drawn for each datapoint within the visualization.
    ShowEventLines bool
    (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
    StartTime int
    Seconds since epoch. Used for visualization
    Tags List<string>
    Tags associated with the detector
    Teams List<string>
    Team IDs to associate the detector to
    TimeRange int
    Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = -1h. Defaults to 3600
    Timezone string
    The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
    Url string
    URL of the detector
    VizOptions List<Pulumi.SignalFx.Inputs.DetectorVizOption>
    Plot-level customization options, associated with a publish statement
    AuthorizedWriterTeams []string
    Team IDs that have write access to this dashboard
    AuthorizedWriterUsers []string
    User IDs that have write access to this dashboard
    Description string
    Description of the detector
    DisableSampling bool
    (false by default) When false, samples a subset of the output MTS in the visualization.
    EndTime int
    Seconds since epoch. Used for visualization
    LabelResolutions map[string]int
    Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered
    MaxDelay int
    Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
    MinDelay int
    Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m)
    Name string
    Name of the detector
    ProgramText string
    Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
    Rules []DetectorRuleArgs
    Set of rules used for alerting
    ShowDataMarkers bool
    (true by default) When true, markers will be drawn for each datapoint within the visualization.
    ShowEventLines bool
    (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
    StartTime int
    Seconds since epoch. Used for visualization
    Tags []string
    Tags associated with the detector
    Teams []string
    Team IDs to associate the detector to
    TimeRange int
    Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = -1h. Defaults to 3600
    Timezone string
    The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
    Url string
    URL of the detector
    VizOptions []DetectorVizOptionArgs
    Plot-level customization options, associated with a publish statement
    authorizedWriterTeams List<String>
    Team IDs that have write access to this dashboard
    authorizedWriterUsers List<String>
    User IDs that have write access to this dashboard
    description String
    Description of the detector
    disableSampling Boolean
    (false by default) When false, samples a subset of the output MTS in the visualization.
    endTime Integer
    Seconds since epoch. Used for visualization
    labelResolutions Map<String,Integer>
    Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered
    maxDelay Integer
    Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
    minDelay Integer
    Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m)
    name String
    Name of the detector
    programText String
    Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
    rules List<DetectorRule>
    Set of rules used for alerting
    showDataMarkers Boolean
    (true by default) When true, markers will be drawn for each datapoint within the visualization.
    showEventLines Boolean
    (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
    startTime Integer
    Seconds since epoch. Used for visualization
    tags List<String>
    Tags associated with the detector
    teams List<String>
    Team IDs to associate the detector to
    timeRange Integer
    Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = -1h. Defaults to 3600
    timezone String
    The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
    url String
    URL of the detector
    vizOptions List<DetectorVizOption>
    Plot-level customization options, associated with a publish statement
    authorizedWriterTeams string[]
    Team IDs that have write access to this dashboard
    authorizedWriterUsers string[]
    User IDs that have write access to this dashboard
    description string
    Description of the detector
    disableSampling boolean
    (false by default) When false, samples a subset of the output MTS in the visualization.
    endTime number
    Seconds since epoch. Used for visualization
    labelResolutions {[key: string]: number}
    Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered
    maxDelay number
    Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
    minDelay number
    Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m)
    name string
    Name of the detector
    programText string
    Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
    rules DetectorRule[]
    Set of rules used for alerting
    showDataMarkers boolean
    (true by default) When true, markers will be drawn for each datapoint within the visualization.
    showEventLines boolean
    (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
    startTime number
    Seconds since epoch. Used for visualization
    tags string[]
    Tags associated with the detector
    teams string[]
    Team IDs to associate the detector to
    timeRange number
    Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = -1h. Defaults to 3600
    timezone string
    The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
    url string
    URL of the detector
    vizOptions DetectorVizOption[]
    Plot-level customization options, associated with a publish statement
    authorized_writer_teams Sequence[str]
    Team IDs that have write access to this dashboard
    authorized_writer_users Sequence[str]
    User IDs that have write access to this dashboard
    description str
    Description of the detector
    disable_sampling bool
    (false by default) When false, samples a subset of the output MTS in the visualization.
    end_time int
    Seconds since epoch. Used for visualization
    label_resolutions Mapping[str, int]
    Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered
    max_delay int
    Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
    min_delay int
    Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m)
    name str
    Name of the detector
    program_text str
    Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
    rules Sequence[DetectorRuleArgs]
    Set of rules used for alerting
    show_data_markers bool
    (true by default) When true, markers will be drawn for each datapoint within the visualization.
    show_event_lines bool
    (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
    start_time int
    Seconds since epoch. Used for visualization
    tags Sequence[str]
    Tags associated with the detector
    teams Sequence[str]
    Team IDs to associate the detector to
    time_range int
    Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = -1h. Defaults to 3600
    timezone str
    The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
    url str
    URL of the detector
    viz_options Sequence[DetectorVizOptionArgs]
    Plot-level customization options, associated with a publish statement
    authorizedWriterTeams List<String>
    Team IDs that have write access to this dashboard
    authorizedWriterUsers List<String>
    User IDs that have write access to this dashboard
    description String
    Description of the detector
    disableSampling Boolean
    (false by default) When false, samples a subset of the output MTS in the visualization.
    endTime Number
    Seconds since epoch. Used for visualization
    labelResolutions Map<Number>
    Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered
    maxDelay Number
    Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
    minDelay Number
    Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m)
    name String
    Name of the detector
    programText String
    Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
    rules List<Property Map>
    Set of rules used for alerting
    showDataMarkers Boolean
    (true by default) When true, markers will be drawn for each datapoint within the visualization.
    showEventLines Boolean
    (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
    startTime Number
    Seconds since epoch. Used for visualization
    tags List<String>
    Tags associated with the detector
    teams List<String>
    Team IDs to associate the detector to
    timeRange Number
    Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = -1h. Defaults to 3600
    timezone String
    The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
    url String
    URL of the detector
    vizOptions List<Property Map>
    Plot-level customization options, associated with a publish statement

    Supporting Types

    DetectorRule, DetectorRuleArgs

    DetectLabel string
    A detect label which matches a detect label within the program text
    Severity string
    The severity of the rule, must be one of: Critical, Warning, Major, Minor, Info
    Description string
    Description of the rule
    Disabled bool
    (default: false) When true, notifications and events will not be generated for the detect label
    Notifications List<string>
    List of strings specifying where notifications will be sent when an incident occurs. See https://developers.signalfx.com/v2/docs/detector-model#notifications-models for more info
    ParameterizedBody string
    Custom notification message body when an alert is triggered. See https://developers.signalfx.com/v2/reference#detector-model for more info
    ParameterizedSubject string
    Custom notification message subject when an alert is triggered. See https://developers.signalfx.com/v2/reference#detector-model for more info
    RunbookUrl string
    URL of page to consult when an alert is triggered
    Tip string
    Plain text suggested first course of action, such as a command to execute.
    DetectLabel string
    A detect label which matches a detect label within the program text
    Severity string
    The severity of the rule, must be one of: Critical, Warning, Major, Minor, Info
    Description string
    Description of the rule
    Disabled bool
    (default: false) When true, notifications and events will not be generated for the detect label
    Notifications []string
    List of strings specifying where notifications will be sent when an incident occurs. See https://developers.signalfx.com/v2/docs/detector-model#notifications-models for more info
    ParameterizedBody string
    Custom notification message body when an alert is triggered. See https://developers.signalfx.com/v2/reference#detector-model for more info
    ParameterizedSubject string
    Custom notification message subject when an alert is triggered. See https://developers.signalfx.com/v2/reference#detector-model for more info
    RunbookUrl string
    URL of page to consult when an alert is triggered
    Tip string
    Plain text suggested first course of action, such as a command to execute.
    detectLabel String
    A detect label which matches a detect label within the program text
    severity String
    The severity of the rule, must be one of: Critical, Warning, Major, Minor, Info
    description String
    Description of the rule
    disabled Boolean
    (default: false) When true, notifications and events will not be generated for the detect label
    notifications List<String>
    List of strings specifying where notifications will be sent when an incident occurs. See https://developers.signalfx.com/v2/docs/detector-model#notifications-models for more info
    parameterizedBody String
    Custom notification message body when an alert is triggered. See https://developers.signalfx.com/v2/reference#detector-model for more info
    parameterizedSubject String
    Custom notification message subject when an alert is triggered. See https://developers.signalfx.com/v2/reference#detector-model for more info
    runbookUrl String
    URL of page to consult when an alert is triggered
    tip String
    Plain text suggested first course of action, such as a command to execute.
    detectLabel string
    A detect label which matches a detect label within the program text
    severity string
    The severity of the rule, must be one of: Critical, Warning, Major, Minor, Info
    description string
    Description of the rule
    disabled boolean
    (default: false) When true, notifications and events will not be generated for the detect label
    notifications string[]
    List of strings specifying where notifications will be sent when an incident occurs. See https://developers.signalfx.com/v2/docs/detector-model#notifications-models for more info
    parameterizedBody string
    Custom notification message body when an alert is triggered. See https://developers.signalfx.com/v2/reference#detector-model for more info
    parameterizedSubject string
    Custom notification message subject when an alert is triggered. See https://developers.signalfx.com/v2/reference#detector-model for more info
    runbookUrl string
    URL of page to consult when an alert is triggered
    tip string
    Plain text suggested first course of action, such as a command to execute.
    detect_label str
    A detect label which matches a detect label within the program text
    severity str
    The severity of the rule, must be one of: Critical, Warning, Major, Minor, Info
    description str
    Description of the rule
    disabled bool
    (default: false) When true, notifications and events will not be generated for the detect label
    notifications Sequence[str]
    List of strings specifying where notifications will be sent when an incident occurs. See https://developers.signalfx.com/v2/docs/detector-model#notifications-models for more info
    parameterized_body str
    Custom notification message body when an alert is triggered. See https://developers.signalfx.com/v2/reference#detector-model for more info
    parameterized_subject str
    Custom notification message subject when an alert is triggered. See https://developers.signalfx.com/v2/reference#detector-model for more info
    runbook_url str
    URL of page to consult when an alert is triggered
    tip str
    Plain text suggested first course of action, such as a command to execute.
    detectLabel String
    A detect label which matches a detect label within the program text
    severity String
    The severity of the rule, must be one of: Critical, Warning, Major, Minor, Info
    description String
    Description of the rule
    disabled Boolean
    (default: false) When true, notifications and events will not be generated for the detect label
    notifications List<String>
    List of strings specifying where notifications will be sent when an incident occurs. See https://developers.signalfx.com/v2/docs/detector-model#notifications-models for more info
    parameterizedBody String
    Custom notification message body when an alert is triggered. See https://developers.signalfx.com/v2/reference#detector-model for more info
    parameterizedSubject String
    Custom notification message subject when an alert is triggered. See https://developers.signalfx.com/v2/reference#detector-model for more info
    runbookUrl String
    URL of page to consult when an alert is triggered
    tip String
    Plain text suggested first course of action, such as a command to execute.

    DetectorVizOption, DetectorVizOptionArgs

    Label string
    The label used in the publish statement that displays the plot (metric time series data) you want to customize
    Color string
    Color to use
    DisplayName string
    Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
    ValuePrefix string
    An arbitrary prefix to display with the value of this plot
    ValueSuffix string
    An arbitrary suffix to display with the value of this plot
    ValueUnit string
    A unit to attach to this plot. Units support automatic scaling (eg thousands of bytes will be displayed as kilobytes)
    Label string
    The label used in the publish statement that displays the plot (metric time series data) you want to customize
    Color string
    Color to use
    DisplayName string
    Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
    ValuePrefix string
    An arbitrary prefix to display with the value of this plot
    ValueSuffix string
    An arbitrary suffix to display with the value of this plot
    ValueUnit string
    A unit to attach to this plot. Units support automatic scaling (eg thousands of bytes will be displayed as kilobytes)
    label String
    The label used in the publish statement that displays the plot (metric time series data) you want to customize
    color String
    Color to use
    displayName String
    Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
    valuePrefix String
    An arbitrary prefix to display with the value of this plot
    valueSuffix String
    An arbitrary suffix to display with the value of this plot
    valueUnit String
    A unit to attach to this plot. Units support automatic scaling (eg thousands of bytes will be displayed as kilobytes)
    label string
    The label used in the publish statement that displays the plot (metric time series data) you want to customize
    color string
    Color to use
    displayName string
    Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
    valuePrefix string
    An arbitrary prefix to display with the value of this plot
    valueSuffix string
    An arbitrary suffix to display with the value of this plot
    valueUnit string
    A unit to attach to this plot. Units support automatic scaling (eg thousands of bytes will be displayed as kilobytes)
    label str
    The label used in the publish statement that displays the plot (metric time series data) you want to customize
    color str
    Color to use
    display_name str
    Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
    value_prefix str
    An arbitrary prefix to display with the value of this plot
    value_suffix str
    An arbitrary suffix to display with the value of this plot
    value_unit str
    A unit to attach to this plot. Units support automatic scaling (eg thousands of bytes will be displayed as kilobytes)
    label String
    The label used in the publish statement that displays the plot (metric time series data) you want to customize
    color String
    Color to use
    displayName String
    Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
    valuePrefix String
    An arbitrary prefix to display with the value of this plot
    valueSuffix String
    An arbitrary suffix to display with the value of this plot
    valueUnit String
    A unit to attach to this plot. Units support automatic scaling (eg thousands of bytes will be displayed as kilobytes)

    Import

    Detectors can be imported using their string ID (recoverable from URL: /#/detector/v2/abc123/edit, e.g.

     $ pulumi import signalfx:index/detector:Detector application_delay abc123
    

    Package Details

    Repository
    SignalFx pulumi/pulumi-signalfx
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the signalfx Terraform Provider.
    signalfx logo
    SignalFx v7.1.1 published on Tuesday, Feb 27, 2024 by Pulumi