signalfx.Detector
Explore with Pulumi AI
Provides a SignalFx detector resource. This can be used to create and manage detectors.
NOTE If you’re interested in using SignalFx detector features such as Historical Anomaly, Resource Running Out, or others then consider building them in the UI first then using the “Show SignalFlow” feature to extract the value for
program_text
. You may also consult the documentation for detector functions in signalflow-library.
Notification Format
As SignalFx supports different notification mechanisms a comma-delimited string is used to provide inputs. If you’d like to specify multiple notifications, then each should 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) {
}
}
{}
This will likely be changed in a future iteration of the provider. See SignalFx Docs for more information. For now, here are some example of how to configure each notification type:
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 SignalFx-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 SignalFx-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) {
}
}
{}
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) {
}
}
{}
Webhook
NOTE You need to include all the commas even if you only use a credential id below.
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) {
}
}
{}
Example Usage
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",
},
},
},
}));
}
});
Coming soon!
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());
}
}
}
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"],
),
]))
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"],
},
],
}));
}
Coming soon!
As SignalFx supports different notification mechanisms a comma-delimited string is used to provide inputs. If you'd like to specify multiple notifications, then each should be a member in the list, like so
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) {
}
}
import pulumi
import * as pulumi from "@pulumi/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) {
}
}
import pulumi
import * as pulumi from "@pulumi/pulumi";
{}
Jira
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) {
}
}
import pulumi
import * as pulumi from "@pulumi/pulumi";
{}
Opsgenie
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) {
}
}
import pulumi
import * as pulumi from "@pulumi/pulumi";
{}
PagerDuty
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) {
}
}
import pulumi
import * as pulumi from "@pulumi/pulumi";
{}
Slack
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) {
}
}
import pulumi
import * as pulumi from "@pulumi/pulumi";
{}
Team
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) {
}
}
import pulumi
import * as pulumi from "@pulumi/pulumi";
{}
TeamEmail
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) {
}
}
import pulumi
import * as pulumi from "@pulumi/pulumi";
{}
VictorOps
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) {
}
}
import pulumi
import * as pulumi from "@pulumi/pulumi";
{}
Webhook
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) {
}
}
import pulumi
import * as pulumi from "@pulumi/pulumi";
{}
or configure one inline
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) {
}
}
import pulumi
import * as pulumi from "@pulumi/pulumi";
{}
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:
- Program
Text string Signalflow program text for the detector. More info in the SignalFx docs.
- Rules
List<Pulumi.
Signal Fx. Inputs. Detector Rule Args> Set of rules used for alerting.
- List<string>
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
).- List<string>
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
).- Description string
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- Disable
Sampling bool When
false
, the visualization may sample the output timeseries rather than displaying them all.false
by default.- End
Time int Seconds since epoch. Used for visualization. Conflicts with
time_range
.- Max
Delay int 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 int How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
- Name string
Name of the detector.
- Show
Data boolMarkers When
true
, markers will be drawn for each datapoint within the visualization.true
by default.- Show
Event boolLines When
true
, the visualization will display a vertical line for each event trigger.false
by default.- Start
Time int Seconds since epoch. Used for visualization. Conflicts with
time_range
.- List<string>
Tags associated with the detector.
- Teams List<string>
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
corresponds to-1h
in web UI.3600
by default.- Timezone string
The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
- Viz
Options List<Pulumi.Signal Fx. Inputs. Detector Viz Option Args> Plot-level customization options, associated with a publish statement.
- Program
Text string Signalflow program text for the detector. More info in the SignalFx docs.
- Rules
[]Detector
Rule Args Set of rules used for alerting.
- []string
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
).- []string
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
).- Description string
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- Disable
Sampling bool When
false
, the visualization may sample the output timeseries rather than displaying them all.false
by default.- End
Time int Seconds since epoch. Used for visualization. Conflicts with
time_range
.- Max
Delay int 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 int How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
- Name string
Name of the detector.
- Show
Data boolMarkers When
true
, markers will be drawn for each datapoint within the visualization.true
by default.- Show
Event boolLines When
true
, the visualization will display a vertical line for each event trigger.false
by default.- Start
Time int Seconds since epoch. Used for visualization. Conflicts with
time_range
.- []string
Tags associated with the detector.
- Teams []string
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
corresponds to-1h
in web UI.3600
by default.- Timezone string
The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
- Viz
Options []DetectorViz Option Args Plot-level customization options, associated with a publish statement.
- program
Text String Signalflow program text for the detector. More info in the SignalFx docs.
- rules
List<Detector
Rule Args> Set of rules used for alerting.
- List<String>
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
).- List<String>
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
).- description String
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- disable
Sampling Boolean When
false
, the visualization may sample the output timeseries rather than displaying them all.false
by default.- end
Time Integer Seconds since epoch. Used for visualization. Conflicts with
time_range
.- max
Delay Integer 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 Integer How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
- name String
Name of the detector.
- show
Data BooleanMarkers When
true
, markers will be drawn for each datapoint within the visualization.true
by default.- show
Event BooleanLines When
true
, the visualization will display a vertical line for each event trigger.false
by default.- start
Time Integer Seconds since epoch. Used for visualization. Conflicts with
time_range
.- List<String>
Tags associated with the detector.
- teams List<String>
Team IDs to associate the detector to.
- time
Range Integer 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.- timezone String
The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
- viz
Options List<DetectorViz Option Args> Plot-level customization options, associated with a publish statement.
- program
Text string Signalflow program text for the detector. More info in the SignalFx docs.
- rules
Detector
Rule Args[] Set of rules used for alerting.
- string[]
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
).- string[]
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
).- description string
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- disable
Sampling boolean When
false
, the visualization may sample the output timeseries rather than displaying them all.false
by default.- end
Time number Seconds since epoch. Used for visualization. Conflicts with
time_range
.- max
Delay number 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 number How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
- name string
Name of the detector.
- show
Data booleanMarkers When
true
, markers will be drawn for each datapoint within the visualization.true
by default.- show
Event booleanLines When
true
, the visualization will display a vertical line for each event trigger.false
by default.- start
Time number Seconds since epoch. Used for visualization. Conflicts with
time_range
.- string[]
Tags associated with the detector.
- teams string[]
Team IDs to associate the detector to.
- time
Range number 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.- timezone string
The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
- viz
Options DetectorViz Option Args[] Plot-level customization options, associated with a publish statement.
- program_
text str Signalflow program text for the detector. More info in the SignalFx docs.
- rules
Sequence[Detector
Rule Args] Set of rules used for alerting.
- Sequence[str]
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
).- Sequence[str]
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
).- description str
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- disable_
sampling bool When
false
, the visualization may sample the output timeseries rather than displaying them all.false
by default.- end_
time int Seconds since epoch. Used for visualization. Conflicts with
time_range
.- max_
delay int 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 int How long (in seconds) 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_ boolmarkers When
true
, markers will be drawn for each datapoint within the visualization.true
by default.- show_
event_ boollines When
true
, the visualization will display a vertical line for each event trigger.false
by default.- start_
time int Seconds since epoch. Used for visualization. Conflicts with
time_range
.- 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
corresponds to-1h
in web UI.3600
by default.- 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[DetectorViz Option Args] Plot-level customization options, associated with a publish statement.
- program
Text String Signalflow program text for the detector. More info in the SignalFx docs.
- rules List<Property Map>
Set of rules used for alerting.
- List<String>
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
).- List<String>
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
).- description String
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- disable
Sampling Boolean When
false
, the visualization may sample the output timeseries rather than displaying them all.false
by default.- end
Time Number Seconds since epoch. Used for visualization. Conflicts with
time_range
.- max
Delay Number 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 Number How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
- name String
Name of the detector.
- show
Data BooleanMarkers When
true
, markers will be drawn for each datapoint within the visualization.true
by default.- show
Event BooleanLines When
true
, the visualization will display a vertical line for each event trigger.false
by default.- start
Time Number Seconds since epoch. Used for visualization. Conflicts with
time_range
.- List<String>
Tags associated with the detector.
- teams List<String>
Team IDs to associate the detector to.
- time
Range Number 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.- timezone String
The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
- viz
Options 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.
- Label
Resolutions Dictionary<string, int> The resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered.
- Url string
The URL of the detector.
- Id string
The provider-assigned unique ID for this managed resource.
- Label
Resolutions map[string]int The resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered.
- Url string
The URL of the detector.
- id String
The provider-assigned unique ID for this managed resource.
- label
Resolutions Map<String,Integer> The resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered.
- url String
The URL of the detector.
- id string
The provider-assigned unique ID for this managed resource.
- label
Resolutions {[key: string]: number} The resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered.
- url string
The URL of the detector.
- id str
The provider-assigned unique ID for this managed resource.
- label_
resolutions Mapping[str, int] The resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered.
- url str
The URL of the detector.
- id String
The provider-assigned unique ID for this managed resource.
- label
Resolutions Map<Number> The resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered.
- url String
The 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.
- List<string>
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
).- List<string>
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
).- Description string
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- Disable
Sampling bool When
false
, the visualization may sample the output timeseries rather than displaying them all.false
by default.- End
Time int Seconds since epoch. Used for visualization. Conflicts with
time_range
.- Label
Resolutions Dictionary<string, int> The 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 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 int How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
- Name string
Name of the detector.
- Program
Text string Signalflow program text for the detector. More info in the SignalFx docs.
- Rules
List<Pulumi.
Signal Fx. Inputs. Detector Rule Args> Set of rules used for alerting.
- Show
Data boolMarkers When
true
, markers will be drawn for each datapoint within the visualization.true
by default.- Show
Event boolLines When
true
, the visualization will display a vertical line for each event trigger.false
by default.- Start
Time int Seconds since epoch. Used for visualization. Conflicts with
time_range
.- List<string>
Tags associated with the detector.
- Teams List<string>
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
corresponds to-1h
in web UI.3600
by default.- Timezone string
The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
- Url string
The URL of the detector.
- Viz
Options List<Pulumi.Signal Fx. Inputs. Detector Viz Option Args> Plot-level customization options, associated with a publish statement.
- []string
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
).- []string
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
).- Description string
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- Disable
Sampling bool When
false
, the visualization may sample the output timeseries rather than displaying them all.false
by default.- End
Time int Seconds since epoch. Used for visualization. Conflicts with
time_range
.- Label
Resolutions map[string]int The 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 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 int How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
- Name string
Name of the detector.
- Program
Text string Signalflow program text for the detector. More info in the SignalFx docs.
- Rules
[]Detector
Rule Args Set of rules used for alerting.
- Show
Data boolMarkers When
true
, markers will be drawn for each datapoint within the visualization.true
by default.- Show
Event boolLines When
true
, the visualization will display a vertical line for each event trigger.false
by default.- Start
Time int Seconds since epoch. Used for visualization. Conflicts with
time_range
.- []string
Tags associated with the detector.
- Teams []string
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
corresponds to-1h
in web UI.3600
by default.- Timezone string
The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
- Url string
The URL of the detector.
- Viz
Options []DetectorViz Option Args Plot-level customization options, associated with a publish statement.
- List<String>
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
).- List<String>
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
).- description String
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- disable
Sampling Boolean When
false
, the visualization may sample the output timeseries rather than displaying them all.false
by default.- end
Time Integer Seconds since epoch. Used for visualization. Conflicts with
time_range
.- label
Resolutions Map<String,Integer> The resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered.
- max
Delay Integer 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 Integer How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
- name String
Name of the detector.
- program
Text String Signalflow program text for the detector. More info in the SignalFx docs.
- rules
List<Detector
Rule Args> Set of rules used for alerting.
- show
Data BooleanMarkers When
true
, markers will be drawn for each datapoint within the visualization.true
by default.- show
Event BooleanLines When
true
, the visualization will display a vertical line for each event trigger.false
by default.- start
Time Integer Seconds since epoch. Used for visualization. Conflicts with
time_range
.- List<String>
Tags associated with the detector.
- teams List<String>
Team IDs to associate the detector to.
- time
Range Integer 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.- timezone String
The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
- url String
The URL of the detector.
- viz
Options List<DetectorViz Option Args> Plot-level customization options, associated with a publish statement.
- string[]
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
).- string[]
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
).- description string
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- disable
Sampling boolean When
false
, the visualization may sample the output timeseries rather than displaying them all.false
by default.- end
Time number Seconds since epoch. Used for visualization. Conflicts with
time_range
.- label
Resolutions {[key: string]: number} The resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered.
- max
Delay number 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 number How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
- name string
Name of the detector.
- program
Text string Signalflow program text for the detector. More info in the SignalFx docs.
- rules
Detector
Rule Args[] Set of rules used for alerting.
- show
Data booleanMarkers When
true
, markers will be drawn for each datapoint within the visualization.true
by default.- show
Event booleanLines When
true
, the visualization will display a vertical line for each event trigger.false
by default.- start
Time number Seconds since epoch. Used for visualization. Conflicts with
time_range
.- string[]
Tags associated with the detector.
- teams string[]
Team IDs to associate the detector to.
- time
Range number 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.- timezone string
The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
- url string
The URL of the detector.
- viz
Options DetectorViz Option Args[] Plot-level customization options, associated with a publish statement.
- Sequence[str]
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
).- Sequence[str]
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
).- description str
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- disable_
sampling bool When
false
, the visualization may sample the output timeseries rather than displaying them all.false
by default.- end_
time int Seconds since epoch. Used for visualization. Conflicts with
time_range
.- label_
resolutions Mapping[str, int] The 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 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 int How long (in seconds) 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 in the SignalFx docs.
- rules
Sequence[Detector
Rule Args] Set of rules used for alerting.
- show_
data_ boolmarkers When
true
, markers will be drawn for each datapoint within the visualization.true
by default.- show_
event_ boollines When
true
, the visualization will display a vertical line for each event trigger.false
by default.- start_
time int Seconds since epoch. Used for visualization. Conflicts with
time_range
.- 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
corresponds to-1h
in web UI.3600
by default.- timezone str
The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
- url str
The URL of the detector.
- viz_
options Sequence[DetectorViz Option Args] Plot-level customization options, associated with a publish statement.
- List<String>
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
).- List<String>
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
).- description String
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- disable
Sampling Boolean When
false
, the visualization may sample the output timeseries rather than displaying them all.false
by default.- end
Time Number Seconds since epoch. Used for visualization. Conflicts with
time_range
.- label
Resolutions Map<Number> The resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered.
- max
Delay Number 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 Number How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
- name String
Name of the detector.
- program
Text String Signalflow program text for the detector. More info in the SignalFx docs.
- rules List<Property Map>
Set of rules used for alerting.
- show
Data BooleanMarkers When
true
, markers will be drawn for each datapoint within the visualization.true
by default.- show
Event BooleanLines When
true
, the visualization will display a vertical line for each event trigger.false
by default.- start
Time Number Seconds since epoch. Used for visualization. Conflicts with
time_range
.- List<String>
Tags associated with the detector.
- teams List<String>
Team IDs to associate the detector to.
- time
Range Number 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.- timezone String
The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
- url String
The URL of the detector.
- viz
Options List<Property Map> Plot-level customization options, associated with a publish statement.
Supporting Types
DetectorRule
- Detect
Label string A detect label which matches a detect label within
program_text
.- Severity string
The severity of the rule, must be one of:
"Critical"
,"Major"
,"Minor"
,"Warning"
,"Info"
.- Description string
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- Disabled bool
When true, notifications and events will not be generated for the detect label.
false
by default.- Notifications List<string>
List of strings specifying where notifications will be sent when an incident occurs. See Create A Single Detector for more info.
- Parameterized
Body string Custom notification message body when an alert is triggered. See Set Up Detectors to Trigger Alerts for more info.
- Parameterized
Subject string Custom notification message subject when an alert is triggered. See Set Up Detectors to Trigger Alerts for more info.
- Runbook
Url string URL of page to consult when an alert is triggered. This can be used with custom notification messages.
- Tip string
Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
- Detect
Label string A detect label which matches a detect label within
program_text
.- Severity string
The severity of the rule, must be one of:
"Critical"
,"Major"
,"Minor"
,"Warning"
,"Info"
.- Description string
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- Disabled bool
When true, notifications and events will not be generated for the detect label.
false
by default.- Notifications []string
List of strings specifying where notifications will be sent when an incident occurs. See Create A Single Detector for more info.
- Parameterized
Body string Custom notification message body when an alert is triggered. See Set Up Detectors to Trigger Alerts for more info.
- Parameterized
Subject string Custom notification message subject when an alert is triggered. See Set Up Detectors to Trigger Alerts for more info.
- Runbook
Url string URL of page to consult when an alert is triggered. This can be used with custom notification messages.
- Tip string
Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
- detect
Label String A detect label which matches a detect label within
program_text
.- severity String
The severity of the rule, must be one of:
"Critical"
,"Major"
,"Minor"
,"Warning"
,"Info"
.- description String
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- disabled Boolean
When true, notifications and events will not be generated for the detect label.
false
by default.- notifications List<String>
List of strings specifying where notifications will be sent when an incident occurs. See Create A Single Detector for more info.
- parameterized
Body String Custom notification message body when an alert is triggered. See Set Up Detectors to Trigger Alerts for more info.
- parameterized
Subject String Custom notification message subject when an alert is triggered. See Set Up Detectors to Trigger Alerts for more info.
- runbook
Url String URL of page to consult when an alert is triggered. This can be used with custom notification messages.
- tip String
Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
- detect
Label string A detect label which matches a detect label within
program_text
.- severity string
The severity of the rule, must be one of:
"Critical"
,"Major"
,"Minor"
,"Warning"
,"Info"
.- description string
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- disabled boolean
When true, notifications and events will not be generated for the detect label.
false
by default.- notifications string[]
List of strings specifying where notifications will be sent when an incident occurs. See Create A Single Detector for more info.
- parameterized
Body string Custom notification message body when an alert is triggered. See Set Up Detectors to Trigger Alerts for more info.
- parameterized
Subject string Custom notification message subject when an alert is triggered. See Set Up Detectors to Trigger Alerts for more info.
- runbook
Url string URL of page to consult when an alert is triggered. This can be used with custom notification messages.
- tip string
Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
- detect_
label str A detect label which matches a detect label within
program_text
.- severity str
The severity of the rule, must be one of:
"Critical"
,"Major"
,"Minor"
,"Warning"
,"Info"
.- description str
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- disabled bool
When true, notifications and events will not be generated for the detect label.
false
by default.- notifications Sequence[str]
List of strings specifying where notifications will be sent when an incident occurs. See Create A Single Detector for more info.
- parameterized_
body str Custom notification message body when an alert is triggered. See Set Up Detectors to Trigger Alerts for more info.
- parameterized_
subject str Custom notification message subject when an alert is triggered. See Set Up Detectors to Trigger Alerts for more info.
- runbook_
url str URL of page to consult when an alert is triggered. This can be used with custom notification messages.
- tip str
Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
- detect
Label String A detect label which matches a detect label within
program_text
.- severity String
The severity of the rule, must be one of:
"Critical"
,"Major"
,"Minor"
,"Warning"
,"Info"
.- description String
Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
- disabled Boolean
When true, notifications and events will not be generated for the detect label.
false
by default.- notifications List<String>
List of strings specifying where notifications will be sent when an incident occurs. See Create A Single Detector for more info.
- parameterized
Body String Custom notification message body when an alert is triggered. See Set Up Detectors to Trigger Alerts for more info.
- parameterized
Subject String Custom notification message subject when an alert is triggered. See Set Up Detectors to Trigger Alerts for more info.
- runbook
Url String URL of page to consult when an alert is triggered. This can be used with custom notification messages.
- tip String
Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
DetectorVizOption
- Label string
Label used in the publish statement that displays the plot (metric time series data) you want to customize.
- Color string
Color to use : gray, blue, azure, navy, brown, orange, yellow, iris, magenta, pink, purple, violet, lilac, emerald, green, aquamarine.
- Display
Name string Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
- Value
Prefix string ,
value_suffix
- (Optional) Arbitrary prefix/suffix to display with the value of this plot.Notes
It is highly recommended that you use both
max_delay
in your detector configuration and anextrapolation
policy in your program text to reduce false positives/negatives.max_delay
allows SignalFx 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 yourprogram_text
.See Delayed Datapoints for more info.
- Value
Suffix string - Value
Unit string 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, Gigibyte, Tebibyte, Pebibyte, Exbibyte, Zebibyte, Yobibyte, Nanosecond, Microsecond, Millisecond, Second, Minute, Hour, Day, Week
.
- Label string
Label used in the publish statement that displays the plot (metric time series data) you want to customize.
- Color string
Color to use : gray, blue, azure, navy, brown, orange, yellow, iris, magenta, pink, purple, violet, lilac, emerald, green, aquamarine.
- Display
Name string Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
- Value
Prefix string ,
value_suffix
- (Optional) Arbitrary prefix/suffix to display with the value of this plot.Notes
It is highly recommended that you use both
max_delay
in your detector configuration and anextrapolation
policy in your program text to reduce false positives/negatives.max_delay
allows SignalFx 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 yourprogram_text
.See Delayed Datapoints for more info.
- Value
Suffix string - Value
Unit string 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, Gigibyte, Tebibyte, Pebibyte, Exbibyte, Zebibyte, Yobibyte, Nanosecond, Microsecond, Millisecond, Second, Minute, Hour, Day, Week
.
- label String
Label used in the publish statement that displays the plot (metric time series data) you want to customize.
- color String
Color to use : gray, blue, azure, navy, brown, orange, yellow, iris, magenta, pink, purple, violet, lilac, emerald, green, aquamarine.
- display
Name String Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
- value
Prefix String ,
value_suffix
- (Optional) Arbitrary prefix/suffix to display with the value of this plot.Notes
It is highly recommended that you use both
max_delay
in your detector configuration and anextrapolation
policy in your program text to reduce false positives/negatives.max_delay
allows SignalFx 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 yourprogram_text
.See Delayed Datapoints for more info.
- value
Suffix String - value
Unit String 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, Gigibyte, Tebibyte, Pebibyte, Exbibyte, Zebibyte, Yobibyte, Nanosecond, Microsecond, Millisecond, Second, Minute, Hour, Day, Week
.
- label string
Label used in the publish statement that displays the plot (metric time series data) you want to customize.
- color string
Color to use : gray, blue, azure, navy, brown, orange, yellow, iris, magenta, pink, purple, violet, lilac, emerald, green, aquamarine.
- display
Name string Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
- value
Prefix string ,
value_suffix
- (Optional) Arbitrary prefix/suffix to display with the value of this plot.Notes
It is highly recommended that you use both
max_delay
in your detector configuration and anextrapolation
policy in your program text to reduce false positives/negatives.max_delay
allows SignalFx 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 yourprogram_text
.See Delayed Datapoints for more info.
- value
Suffix string - value
Unit string 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, Gigibyte, Tebibyte, Pebibyte, Exbibyte, Zebibyte, Yobibyte, Nanosecond, Microsecond, Millisecond, Second, Minute, Hour, Day, Week
.
- label str
Label used in the publish statement that displays the plot (metric time series data) you want to customize.
- color str
Color to use : gray, blue, azure, navy, brown, orange, yellow, iris, magenta, pink, purple, violet, lilac, emerald, green, aquamarine.
- display_
name str Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
- value_
prefix str ,
value_suffix
- (Optional) Arbitrary prefix/suffix to display with the value of this plot.Notes
It is highly recommended that you use both
max_delay
in your detector configuration and anextrapolation
policy in your program text to reduce false positives/negatives.max_delay
allows SignalFx 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 yourprogram_text
.See Delayed Datapoints for more info.
- value_
suffix str - value_
unit str 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, Gigibyte, Tebibyte, Pebibyte, Exbibyte, Zebibyte, Yobibyte, Nanosecond, Microsecond, Millisecond, Second, Minute, Hour, Day, Week
.
- label String
Label used in the publish statement that displays the plot (metric time series data) you want to customize.
- color String
Color to use : gray, blue, azure, navy, brown, orange, yellow, iris, magenta, pink, purple, violet, lilac, emerald, green, aquamarine.
- display
Name String Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
- value
Prefix String ,
value_suffix
- (Optional) Arbitrary prefix/suffix to display with the value of this plot.Notes
It is highly recommended that you use both
max_delay
in your detector configuration and anextrapolation
policy in your program text to reduce false positives/negatives.max_delay
allows SignalFx 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 yourprogram_text
.See Delayed Datapoints for more info.
- value
Suffix String - value
Unit String 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, Gigibyte, Tebibyte, Pebibyte, Exbibyte, Zebibyte, Yobibyte, Nanosecond, Microsecond, Millisecond, Second, Minute, Hour, Day, Week
.
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.