{
"Name": "Team1",
"AlarmNameSuffix": "Team1",
"Targets": [
{ "Url": "https://events.pagerduty.com/integration/123456789asdfaxbkj/enqueue" }
],
"ReportTargets" : [
{ "Email": "[email protected]" }
],
"DynamoDb": {
"Tables": [
{ "Name": "table1" },
{ "Name": "table2" }
]
},
"Sqs": {
"Queues": [
{ "Name": "queue1" },
{ "Name": "queue2" }
]
}
}
{
"Name": "COG2",
"AlarmNameSuffix": "cog2",
"Threshold": 0.50,
"Targets": [
{ "Url": "https://events.pagerduty.com/integration/123456789asdfaxbkj/enqueue" },
{ "Email": "[email protected]" }
],
"DynamoDb": {
"Tables": [
{ "Name": "table3"},
{ "Name": "table5", "Threshold": 0.75 },
{ "Pattern": "^je-some-prefix-", "MonitorWrites" : false, "Threshold": 0.50 }
]
}
}
{
"Name": "SysOps",
"AlarmNameSuffix": "SysOps",
"Targets": [
{ "Email": "[email protected]" }
],
"IsCatchAll": true,
"DynamoDb": {
"Threshold": 0.75,
"Tables": [
{ "Pattern": ".*" }
],
"ExcludeTablesPrefixedWith": [
"je-search"
]
}
}
{
"Name": "SqsOnlyDemo",
"Targets": [
{ "Email": "[email protected]" },
{ "Url": "http://farley.com" }
],
"AlarmNameSuffix": "SqsOnlyTest",
"Sqs": {
"Queues": [
{
"Pattern": "anyqueue",
"LengthThreshold": 100,
"OldestMessageThreshold": 600,
"Errors": {
"LengthThreshold": 10,
"Monitored": true
}
}
]
}
}
Patterns are regular expressions, so we can use Regular Expression syntax to exclude certain resources from one general rule and catch them with a second specific rule, in order to, for example, apply a different "OldestMessageThreshold" to a delay queue.
{
"Name": "QueueFilters",
"AlarmNameSuffix": "qf",
"Targets": [
{ "Url": "http://farley.com" }
],
"Sqs": {
"LengthThreshold": 5,
"Errors": {
"LengthThreshold": 1
},
"Queues": [
{
"Pattern": "-myapp-(?!(delayqueue|ignoredqueue))",
"OldestMessageThreshold": 60
},
{
"Pattern": "-myapp-delayqueue-",
"OldestMessageThreshold": 360
}
]
}
}