Bulk replace alert definitions
curl --request PUT \
--url https://api.coralogix.com/mgmt/openapi/5/alerts/alerts/v3/all/replace \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"alertDefsToReplace": [
{
"alertDefProperties": {
"logsImmediate": {
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"notificationPayloadFilter": [
"obj.field"
]
},
"activeOn": {
"dayOfWeek": [
"DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED",
"DAY_OF_WEEK_TUESDAY"
],
"endTime": {
"hours": 14,
"minutes": 30
},
"startTime": {
"hours": 14,
"minutes": 30
}
},
"analyticsImmediate": {
"dataprimeQuery": {
"query": "source logs | filter severity == 'error' | count_agg_key by applicationName"
},
"evaluationDelayMs": 300000,
"noDataPolicy": {
"autoRetireSeconds": 3600
},
"timeframeMinutes": 60,
"useRowsAsPermutations": false
},
"analyticsThreshold": {
"dataprimeQuery": {
"query": "source logs | filter severity == 'error' | count_agg_key by applicationName"
},
"evaluationDelayMs": 300000,
"noDataPolicy": {
"autoRetireSeconds": 3600
},
"rules": [
{
"condition": {
"threshold": 100
},
"override": {}
}
],
"targetColumn": "error_count",
"timeframeMinutes": 60,
"useRowsAsPermutations": true
},
"dataSources": [
{
"dataSet": "<string>",
"dataSpace": "<string>"
}
],
"deleted": false,
"description": "Alert description",
"enabled": true,
"entityLabels": {},
"flow": {
"enforceSuppression": true,
"stages": [
{
"flowStagesGroups": {
"groups": [
{
"alertDefs": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"not": true
}
]
}
]
},
"timeframeMs": "<string>"
}
]
},
"groupByKeys": [
"key1",
"key2"
],
"incidentsSettings": {
"minutes": 30
},
"logsAnomaly": {
"anomalyAlertSettings": {
"percentageOfDeviation": 1
},
"evaluationDelayMs": 60000,
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"conditionType": "LOGS_ANOMALY_CONDITION_TYPE_MORE_THAN_USUAL_OR_UNSPECIFIED",
"minimumThreshold": 10,
"timeWindow": {}
}
}
]
},
"logsNewValue": {
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"keypathToTrack": "metadata.field",
"timeWindow": {}
}
}
]
},
"logsRatioThreshold": {
"denominator": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"denominatorAlias": "denominator_alias",
"evaluationDelayMs": 60000,
"ignoreInfinity": true,
"notificationPayloadFilter": [
"obj.field"
],
"numerator": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"numeratorAlias": "numerator_alias",
"rules": [
{
"condition": {
"threshold": 10,
"timeWindow": {}
},
"override": {}
}
],
"undetectedValuesManagement": {
"triggerUndetectedValues": true
}
},
"logsThreshold": {
"evaluationDelayMs": 60000,
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"noDataPolicy": {
"autoRetireSeconds": 3600
},
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"threshold": 100,
"timeWindow": {}
},
"override": {}
}
],
"undetectedValuesManagement": {
"triggerUndetectedValues": true
}
},
"logsTimeRelativeThreshold": {
"evaluationDelayMs": 60000,
"ignoreInfinity": true,
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"threshold": 1
},
"override": {}
}
],
"undetectedValuesManagement": {
"triggerUndetectedValues": true
}
},
"logsUniqueCount": {
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"maxUniqueCountPerGroupByKey": "100",
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"maxUniqueCount": "100",
"timeWindow": {}
}
}
],
"uniqueCountKeypath": "obj.field"
},
"metricAnomaly": {
"anomalyAlertSettings": {
"percentageOfDeviation": 1
},
"evaluationDelayMs": 60000,
"metricFilter": {
"promql": "avg_over_time(metric_name[5m]) > 10"
},
"rules": [
{
"condition": {
"forOverPct": 20,
"minNonNullValuesPct": 10,
"ofTheLast": {
"metricTimeWindowDynamicDuration": "1h30m"
},
"threshold": 10
}
}
]
},
"metricThreshold": {
"evaluationDelayMs": 60000,
"metricFilter": {
"promql": "avg_over_time(metric_name[5m]) > 10"
},
"missingValues": {
"replaceWithZero": true,
"minNonNullValuesPct": 80
},
"noDataPolicy": {
"autoRetireSeconds": 3600
},
"rules": [
{
"condition": {
"forOverPct": 80,
"ofTheLast": {
"metricTimeWindowDynamicDuration": "1h30m"
},
"threshold": 100
},
"override": {}
}
],
"undetectedValuesManagement": {
"triggerUndetectedValues": true
}
},
"name": "My Alert",
"notificationGroup": {
"destinations": [
{
"connectorId": "connector_id_example",
"presetId": "preset_id_example",
"resolvedRouteOverrides": {
"configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
}
},
"retriggeringPeriodMinutes": 600,
"triggeredRoutingOverrides": {
"configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
}
}
}
],
"groupByKeys": [
"key1",
"key2"
],
"router": {
"id": "123e4567-e89b-12d3-a456-426614174000"
},
"webhooks": [
{
"integration": {
"integrationId": 123,
"recipients": {
"emails": [
"mail@gmail.com"
]
}
},
"minutes": 15
}
]
},
"notificationGroupExcess": [
{
"destinations": [
{
"connectorId": "connector_id_example",
"presetId": "preset_id_example",
"resolvedRouteOverrides": {
"configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
}
},
"retriggeringPeriodMinutes": 600,
"triggeredRoutingOverrides": {
"configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
}
}
}
],
"groupByKeys": [
"key1",
"key2"
],
"router": {
"id": "123e4567-e89b-12d3-a456-426614174000"
},
"webhooks": [
{
"integration": {
"integrationId": 123,
"recipients": {
"emails": [
"mail@gmail.com"
]
}
},
"minutes": 15
}
]
}
],
"phantomMode": false,
"sloThreshold": {
"errorBudget": {
"rules": [
{
"condition": {
"threshold": 1
},
"override": {}
}
]
},
"burnRate": {
"dual": {
"timeDuration": {
"duration": "24"
}
},
"rules": [
{
"condition": {
"threshold": 1
},
"override": {}
}
],
"single": {
"timeDuration": {
"duration": "24"
}
}
},
"sloDefinition": {
"sloId": "123e4567-e89b-12d3-a456-426614174000"
}
},
"tracingImmediate": {
"notificationPayloadFilter": [
"obj.field"
],
"tracingFilter": {
"simpleFilter": {
"latencyThresholdMs": "1000",
"tracingLabelFilters": {
"applicationName": [
{
"values": [
"value1",
"value2"
]
}
],
"operationName": [
{
"values": [
"value1",
"value2"
]
}
],
"serviceName": [
{
"values": [
"value1",
"value2"
]
}
],
"spanFields": [
{
"filterType": {
"values": [
"value1",
"value2"
]
},
"key": "span.field.key"
}
],
"subsystemName": [
{
"values": [
"value1",
"value2"
]
}
]
}
}
}
},
"tracingThreshold": {
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"conditionType": "TRACING_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED",
"spanAmount": 100,
"timeWindow": {}
}
}
],
"tracingFilter": {
"simpleFilter": {
"latencyThresholdMs": "1000",
"tracingLabelFilters": {
"applicationName": [
{
"values": [
"value1",
"value2"
]
}
],
"operationName": [
{
"values": [
"value1",
"value2"
]
}
],
"serviceName": [
{
"values": [
"value1",
"value2"
]
}
],
"spanFields": [
{
"filterType": {
"values": [
"value1",
"value2"
]
},
"key": "span.field.key"
}
],
"subsystemName": [
{
"values": [
"value1",
"value2"
]
}
]
}
}
}
}
},
"id": "123e4567-e89b-12d3-a456-426614174000"
}
]
}
EOFimport requests
url = "https://api.coralogix.com/mgmt/openapi/5/alerts/alerts/v3/all/replace"
payload = { "alertDefsToReplace": [
{
"alertDefProperties": {
"logsImmediate": {
"logsFilter": { "simpleFilter": {
"labelFilters": {
"applicationName": [{ "value": "my-app" }],
"severities": [],
"subsystemName": [{ "value": "my-app" }]
},
"luceneQuery": "<string>"
} },
"notificationPayloadFilter": ["obj.field"]
},
"activeOn": {
"dayOfWeek": ["DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED", "DAY_OF_WEEK_TUESDAY"],
"endTime": {
"hours": 14,
"minutes": 30
},
"startTime": {
"hours": 14,
"minutes": 30
}
},
"analyticsImmediate": {
"dataprimeQuery": { "query": "source logs | filter severity == 'error' | count_agg_key by applicationName" },
"evaluationDelayMs": 300000,
"noDataPolicy": { "autoRetireSeconds": 3600 },
"timeframeMinutes": 60,
"useRowsAsPermutations": False
},
"analyticsThreshold": {
"dataprimeQuery": { "query": "source logs | filter severity == 'error' | count_agg_key by applicationName" },
"evaluationDelayMs": 300000,
"noDataPolicy": { "autoRetireSeconds": 3600 },
"rules": [
{
"condition": { "threshold": 100 },
"override": {}
}
],
"targetColumn": "error_count",
"timeframeMinutes": 60,
"useRowsAsPermutations": True
},
"dataSources": [
{
"dataSet": "<string>",
"dataSpace": "<string>"
}
],
"deleted": False,
"description": "Alert description",
"enabled": True,
"entityLabels": {},
"flow": {
"enforceSuppression": True,
"stages": [
{
"flowStagesGroups": { "groups": [{ "alertDefs": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"not": True
}
] }] },
"timeframeMs": "<string>"
}
]
},
"groupByKeys": ["key1", "key2"],
"incidentsSettings": { "minutes": 30 },
"logsAnomaly": {
"anomalyAlertSettings": { "percentageOfDeviation": 1 },
"evaluationDelayMs": 60000,
"logsFilter": { "simpleFilter": {
"labelFilters": {
"applicationName": [{ "value": "my-app" }],
"severities": [],
"subsystemName": [{ "value": "my-app" }]
},
"luceneQuery": "<string>"
} },
"notificationPayloadFilter": ["obj.field"],
"rules": [{ "condition": {
"conditionType": "LOGS_ANOMALY_CONDITION_TYPE_MORE_THAN_USUAL_OR_UNSPECIFIED",
"minimumThreshold": 10,
"timeWindow": {}
} }]
},
"logsNewValue": {
"logsFilter": { "simpleFilter": {
"labelFilters": {
"applicationName": [{ "value": "my-app" }],
"severities": [],
"subsystemName": [{ "value": "my-app" }]
},
"luceneQuery": "<string>"
} },
"notificationPayloadFilter": ["obj.field"],
"rules": [{ "condition": {
"keypathToTrack": "metadata.field",
"timeWindow": {}
} }]
},
"logsRatioThreshold": {
"denominator": { "simpleFilter": {
"labelFilters": {
"applicationName": [{ "value": "my-app" }],
"severities": [],
"subsystemName": [{ "value": "my-app" }]
},
"luceneQuery": "<string>"
} },
"denominatorAlias": "denominator_alias",
"evaluationDelayMs": 60000,
"ignoreInfinity": True,
"notificationPayloadFilter": ["obj.field"],
"numerator": { "simpleFilter": {
"labelFilters": {
"applicationName": [{ "value": "my-app" }],
"severities": [],
"subsystemName": [{ "value": "my-app" }]
},
"luceneQuery": "<string>"
} },
"numeratorAlias": "numerator_alias",
"rules": [
{
"condition": {
"threshold": 10,
"timeWindow": {}
},
"override": {}
}
],
"undetectedValuesManagement": { "triggerUndetectedValues": True }
},
"logsThreshold": {
"evaluationDelayMs": 60000,
"logsFilter": { "simpleFilter": {
"labelFilters": {
"applicationName": [{ "value": "my-app" }],
"severities": [],
"subsystemName": [{ "value": "my-app" }]
},
"luceneQuery": "<string>"
} },
"noDataPolicy": { "autoRetireSeconds": 3600 },
"notificationPayloadFilter": ["obj.field"],
"rules": [
{
"condition": {
"threshold": 100,
"timeWindow": {}
},
"override": {}
}
],
"undetectedValuesManagement": { "triggerUndetectedValues": True }
},
"logsTimeRelativeThreshold": {
"evaluationDelayMs": 60000,
"ignoreInfinity": True,
"logsFilter": { "simpleFilter": {
"labelFilters": {
"applicationName": [{ "value": "my-app" }],
"severities": [],
"subsystemName": [{ "value": "my-app" }]
},
"luceneQuery": "<string>"
} },
"notificationPayloadFilter": ["obj.field"],
"rules": [
{
"condition": { "threshold": 1 },
"override": {}
}
],
"undetectedValuesManagement": { "triggerUndetectedValues": True }
},
"logsUniqueCount": {
"logsFilter": { "simpleFilter": {
"labelFilters": {
"applicationName": [{ "value": "my-app" }],
"severities": [],
"subsystemName": [{ "value": "my-app" }]
},
"luceneQuery": "<string>"
} },
"maxUniqueCountPerGroupByKey": "100",
"notificationPayloadFilter": ["obj.field"],
"rules": [{ "condition": {
"maxUniqueCount": "100",
"timeWindow": {}
} }],
"uniqueCountKeypath": "obj.field"
},
"metricAnomaly": {
"anomalyAlertSettings": { "percentageOfDeviation": 1 },
"evaluationDelayMs": 60000,
"metricFilter": { "promql": "avg_over_time(metric_name[5m]) > 10" },
"rules": [{ "condition": {
"forOverPct": 20,
"minNonNullValuesPct": 10,
"ofTheLast": { "metricTimeWindowDynamicDuration": "1h30m" },
"threshold": 10
} }]
},
"metricThreshold": {
"evaluationDelayMs": 60000,
"metricFilter": { "promql": "avg_over_time(metric_name[5m]) > 10" },
"missingValues": {
"replaceWithZero": True,
"minNonNullValuesPct": 80
},
"noDataPolicy": { "autoRetireSeconds": 3600 },
"rules": [
{
"condition": {
"forOverPct": 80,
"ofTheLast": { "metricTimeWindowDynamicDuration": "1h30m" },
"threshold": 100
},
"override": {}
}
],
"undetectedValuesManagement": { "triggerUndetectedValues": True }
},
"name": "My Alert",
"notificationGroup": {
"destinations": [
{
"connectorId": "connector_id_example",
"presetId": "preset_id_example",
"resolvedRouteOverrides": { "configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
} },
"retriggeringPeriodMinutes": 600,
"triggeredRoutingOverrides": { "configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
} }
}
],
"groupByKeys": ["key1", "key2"],
"router": { "id": "123e4567-e89b-12d3-a456-426614174000" },
"webhooks": [
{
"integration": {
"integrationId": 123,
"recipients": { "emails": ["mail@gmail.com"] }
},
"minutes": 15
}
]
},
"notificationGroupExcess": [
{
"destinations": [
{
"connectorId": "connector_id_example",
"presetId": "preset_id_example",
"resolvedRouteOverrides": { "configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
} },
"retriggeringPeriodMinutes": 600,
"triggeredRoutingOverrides": { "configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
} }
}
],
"groupByKeys": ["key1", "key2"],
"router": { "id": "123e4567-e89b-12d3-a456-426614174000" },
"webhooks": [
{
"integration": {
"integrationId": 123,
"recipients": { "emails": ["mail@gmail.com"] }
},
"minutes": 15
}
]
}
],
"phantomMode": False,
"sloThreshold": {
"errorBudget": { "rules": [
{
"condition": { "threshold": 1 },
"override": {}
}
] },
"burnRate": {
"dual": { "timeDuration": { "duration": "24" } },
"rules": [
{
"condition": { "threshold": 1 },
"override": {}
}
],
"single": { "timeDuration": { "duration": "24" } }
},
"sloDefinition": { "sloId": "123e4567-e89b-12d3-a456-426614174000" }
},
"tracingImmediate": {
"notificationPayloadFilter": ["obj.field"],
"tracingFilter": { "simpleFilter": {
"latencyThresholdMs": "1000",
"tracingLabelFilters": {
"applicationName": [{ "values": ["value1", "value2"] }],
"operationName": [{ "values": ["value1", "value2"] }],
"serviceName": [{ "values": ["value1", "value2"] }],
"spanFields": [
{
"filterType": { "values": ["value1", "value2"] },
"key": "span.field.key"
}
],
"subsystemName": [{ "values": ["value1", "value2"] }]
}
} }
},
"tracingThreshold": {
"notificationPayloadFilter": ["obj.field"],
"rules": [{ "condition": {
"conditionType": "TRACING_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED",
"spanAmount": 100,
"timeWindow": {}
} }],
"tracingFilter": { "simpleFilter": {
"latencyThresholdMs": "1000",
"tracingLabelFilters": {
"applicationName": [{ "values": ["value1", "value2"] }],
"operationName": [{ "values": ["value1", "value2"] }],
"serviceName": [{ "values": ["value1", "value2"] }],
"spanFields": [
{
"filterType": { "values": ["value1", "value2"] },
"key": "span.field.key"
}
],
"subsystemName": [{ "values": ["value1", "value2"] }]
}
} }
}
},
"id": "123e4567-e89b-12d3-a456-426614174000"
}
] }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
alertDefsToReplace: [
{
alertDefProperties: {
logsImmediate: {
logsFilter: {
simpleFilter: {
labelFilters: {
applicationName: [{value: 'my-app'}],
severities: [],
subsystemName: [{value: 'my-app'}]
},
luceneQuery: '<string>'
}
},
notificationPayloadFilter: ['obj.field']
},
activeOn: {
dayOfWeek: ['DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED', 'DAY_OF_WEEK_TUESDAY'],
endTime: {hours: 14, minutes: 30},
startTime: {hours: 14, minutes: 30}
},
analyticsImmediate: {
dataprimeQuery: {
query: 'source logs | filter severity == \'error\' | count_agg_key by applicationName'
},
evaluationDelayMs: 300000,
noDataPolicy: {autoRetireSeconds: 3600},
timeframeMinutes: 60,
useRowsAsPermutations: false
},
analyticsThreshold: {
dataprimeQuery: {
query: 'source logs | filter severity == \'error\' | count_agg_key by applicationName'
},
evaluationDelayMs: 300000,
noDataPolicy: {autoRetireSeconds: 3600},
rules: [{condition: {threshold: 100}, override: {}}],
targetColumn: 'error_count',
timeframeMinutes: 60,
useRowsAsPermutations: true
},
dataSources: [{dataSet: '<string>', dataSpace: '<string>'}],
deleted: false,
description: 'Alert description',
enabled: true,
entityLabels: {},
flow: {
enforceSuppression: true,
stages: [
{
flowStagesGroups: {
groups: [{alertDefs: [{id: '123e4567-e89b-12d3-a456-426614174000', not: true}]}]
},
timeframeMs: '<string>'
}
]
},
groupByKeys: ['key1', 'key2'],
incidentsSettings: {minutes: 30},
logsAnomaly: {
anomalyAlertSettings: {percentageOfDeviation: 1},
evaluationDelayMs: 60000,
logsFilter: {
simpleFilter: {
labelFilters: {
applicationName: [{value: 'my-app'}],
severities: [],
subsystemName: [{value: 'my-app'}]
},
luceneQuery: '<string>'
}
},
notificationPayloadFilter: ['obj.field'],
rules: [
{
condition: {
conditionType: 'LOGS_ANOMALY_CONDITION_TYPE_MORE_THAN_USUAL_OR_UNSPECIFIED',
minimumThreshold: 10,
timeWindow: {}
}
}
]
},
logsNewValue: {
logsFilter: {
simpleFilter: {
labelFilters: {
applicationName: [{value: 'my-app'}],
severities: [],
subsystemName: [{value: 'my-app'}]
},
luceneQuery: '<string>'
}
},
notificationPayloadFilter: ['obj.field'],
rules: [{condition: {keypathToTrack: 'metadata.field', timeWindow: {}}}]
},
logsRatioThreshold: {
denominator: {
simpleFilter: {
labelFilters: {
applicationName: [{value: 'my-app'}],
severities: [],
subsystemName: [{value: 'my-app'}]
},
luceneQuery: '<string>'
}
},
denominatorAlias: 'denominator_alias',
evaluationDelayMs: 60000,
ignoreInfinity: true,
notificationPayloadFilter: ['obj.field'],
numerator: {
simpleFilter: {
labelFilters: {
applicationName: [{value: 'my-app'}],
severities: [],
subsystemName: [{value: 'my-app'}]
},
luceneQuery: '<string>'
}
},
numeratorAlias: 'numerator_alias',
rules: [{condition: {threshold: 10, timeWindow: {}}, override: {}}],
undetectedValuesManagement: {triggerUndetectedValues: true}
},
logsThreshold: {
evaluationDelayMs: 60000,
logsFilter: {
simpleFilter: {
labelFilters: {
applicationName: [{value: 'my-app'}],
severities: [],
subsystemName: [{value: 'my-app'}]
},
luceneQuery: '<string>'
}
},
noDataPolicy: {autoRetireSeconds: 3600},
notificationPayloadFilter: ['obj.field'],
rules: [{condition: {threshold: 100, timeWindow: {}}, override: {}}],
undetectedValuesManagement: {triggerUndetectedValues: true}
},
logsTimeRelativeThreshold: {
evaluationDelayMs: 60000,
ignoreInfinity: true,
logsFilter: {
simpleFilter: {
labelFilters: {
applicationName: [{value: 'my-app'}],
severities: [],
subsystemName: [{value: 'my-app'}]
},
luceneQuery: '<string>'
}
},
notificationPayloadFilter: ['obj.field'],
rules: [{condition: {threshold: 1}, override: {}}],
undetectedValuesManagement: {triggerUndetectedValues: true}
},
logsUniqueCount: {
logsFilter: {
simpleFilter: {
labelFilters: {
applicationName: [{value: 'my-app'}],
severities: [],
subsystemName: [{value: 'my-app'}]
},
luceneQuery: '<string>'
}
},
maxUniqueCountPerGroupByKey: '100',
notificationPayloadFilter: ['obj.field'],
rules: [{condition: {maxUniqueCount: '100', timeWindow: {}}}],
uniqueCountKeypath: 'obj.field'
},
metricAnomaly: {
anomalyAlertSettings: {percentageOfDeviation: 1},
evaluationDelayMs: 60000,
metricFilter: {promql: 'avg_over_time(metric_name[5m]) > 10'},
rules: [
{
condition: {
forOverPct: 20,
minNonNullValuesPct: 10,
ofTheLast: {metricTimeWindowDynamicDuration: '1h30m'},
threshold: 10
}
}
]
},
metricThreshold: {
evaluationDelayMs: 60000,
metricFilter: {promql: 'avg_over_time(metric_name[5m]) > 10'},
missingValues: {replaceWithZero: true, minNonNullValuesPct: 80},
noDataPolicy: {autoRetireSeconds: 3600},
rules: [
{
condition: {
forOverPct: 80,
ofTheLast: {metricTimeWindowDynamicDuration: '1h30m'},
threshold: 100
},
override: {}
}
],
undetectedValuesManagement: {triggerUndetectedValues: true}
},
name: 'My Alert',
notificationGroup: {
destinations: [
{
connectorId: 'connector_id_example',
presetId: 'preset_id_example',
resolvedRouteOverrides: {
configOverrides: {
connectorConfigFields: [{fieldName: 'description', template: 'template_example'}],
messageConfigFields: [{fieldName: 'description', template: 'template_example'}],
payloadType: 'slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default'
}
},
retriggeringPeriodMinutes: 600,
triggeredRoutingOverrides: {
configOverrides: {
connectorConfigFields: [{fieldName: 'description', template: 'template_example'}],
messageConfigFields: [{fieldName: 'description', template: 'template_example'}],
payloadType: 'slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default'
}
}
}
],
groupByKeys: ['key1', 'key2'],
router: {id: '123e4567-e89b-12d3-a456-426614174000'},
webhooks: [
{
integration: {integrationId: 123, recipients: {emails: ['mail@gmail.com']}},
minutes: 15
}
]
},
notificationGroupExcess: [
{
destinations: [
{
connectorId: 'connector_id_example',
presetId: 'preset_id_example',
resolvedRouteOverrides: {
configOverrides: {
connectorConfigFields: [{fieldName: 'description', template: 'template_example'}],
messageConfigFields: [{fieldName: 'description', template: 'template_example'}],
payloadType: 'slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default'
}
},
retriggeringPeriodMinutes: 600,
triggeredRoutingOverrides: {
configOverrides: {
connectorConfigFields: [{fieldName: 'description', template: 'template_example'}],
messageConfigFields: [{fieldName: 'description', template: 'template_example'}],
payloadType: 'slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default'
}
}
}
],
groupByKeys: ['key1', 'key2'],
router: {id: '123e4567-e89b-12d3-a456-426614174000'},
webhooks: [
{
integration: {integrationId: 123, recipients: {emails: ['mail@gmail.com']}},
minutes: 15
}
]
}
],
phantomMode: false,
sloThreshold: {
errorBudget: {rules: [{condition: {threshold: 1}, override: {}}]},
burnRate: {
dual: {timeDuration: {duration: '24'}},
rules: [{condition: {threshold: 1}, override: {}}],
single: {timeDuration: {duration: '24'}}
},
sloDefinition: {sloId: '123e4567-e89b-12d3-a456-426614174000'}
},
tracingImmediate: {
notificationPayloadFilter: ['obj.field'],
tracingFilter: {
simpleFilter: {
latencyThresholdMs: '1000',
tracingLabelFilters: {
applicationName: [{values: ['value1', 'value2']}],
operationName: [{values: ['value1', 'value2']}],
serviceName: [{values: ['value1', 'value2']}],
spanFields: [{filterType: {values: ['value1', 'value2']}, key: 'span.field.key'}],
subsystemName: [{values: ['value1', 'value2']}]
}
}
}
},
tracingThreshold: {
notificationPayloadFilter: ['obj.field'],
rules: [
{
condition: {
conditionType: 'TRACING_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED',
spanAmount: 100,
timeWindow: {}
}
}
],
tracingFilter: {
simpleFilter: {
latencyThresholdMs: '1000',
tracingLabelFilters: {
applicationName: [{values: ['value1', 'value2']}],
operationName: [{values: ['value1', 'value2']}],
serviceName: [{values: ['value1', 'value2']}],
spanFields: [{filterType: {values: ['value1', 'value2']}, key: 'span.field.key'}],
subsystemName: [{values: ['value1', 'value2']}]
}
}
}
}
},
id: '123e4567-e89b-12d3-a456-426614174000'
}
]
})
};
fetch('https://api.coralogix.com/mgmt/openapi/5/alerts/alerts/v3/all/replace', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.coralogix.com/mgmt/openapi/5/alerts/alerts/v3/all/replace",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'alertDefsToReplace' => [
[
'alertDefProperties' => [
'logsImmediate' => [
'logsFilter' => [
'simpleFilter' => [
'labelFilters' => [
'applicationName' => [
[
'value' => 'my-app'
]
],
'severities' => [
],
'subsystemName' => [
[
'value' => 'my-app'
]
]
],
'luceneQuery' => '<string>'
]
],
'notificationPayloadFilter' => [
'obj.field'
]
],
'activeOn' => [
'dayOfWeek' => [
'DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED',
'DAY_OF_WEEK_TUESDAY'
],
'endTime' => [
'hours' => 14,
'minutes' => 30
],
'startTime' => [
'hours' => 14,
'minutes' => 30
]
],
'analyticsImmediate' => [
'dataprimeQuery' => [
'query' => 'source logs | filter severity == \'error\' | count_agg_key by applicationName'
],
'evaluationDelayMs' => 300000,
'noDataPolicy' => [
'autoRetireSeconds' => 3600
],
'timeframeMinutes' => 60,
'useRowsAsPermutations' => false
],
'analyticsThreshold' => [
'dataprimeQuery' => [
'query' => 'source logs | filter severity == \'error\' | count_agg_key by applicationName'
],
'evaluationDelayMs' => 300000,
'noDataPolicy' => [
'autoRetireSeconds' => 3600
],
'rules' => [
[
'condition' => [
'threshold' => 100
],
'override' => [
]
]
],
'targetColumn' => 'error_count',
'timeframeMinutes' => 60,
'useRowsAsPermutations' => true
],
'dataSources' => [
[
'dataSet' => '<string>',
'dataSpace' => '<string>'
]
],
'deleted' => false,
'description' => 'Alert description',
'enabled' => true,
'entityLabels' => [
],
'flow' => [
'enforceSuppression' => true,
'stages' => [
[
'flowStagesGroups' => [
'groups' => [
[
'alertDefs' => [
[
'id' => '123e4567-e89b-12d3-a456-426614174000',
'not' => true
]
]
]
]
],
'timeframeMs' => '<string>'
]
]
],
'groupByKeys' => [
'key1',
'key2'
],
'incidentsSettings' => [
'minutes' => 30
],
'logsAnomaly' => [
'anomalyAlertSettings' => [
'percentageOfDeviation' => 1
],
'evaluationDelayMs' => 60000,
'logsFilter' => [
'simpleFilter' => [
'labelFilters' => [
'applicationName' => [
[
'value' => 'my-app'
]
],
'severities' => [
],
'subsystemName' => [
[
'value' => 'my-app'
]
]
],
'luceneQuery' => '<string>'
]
],
'notificationPayloadFilter' => [
'obj.field'
],
'rules' => [
[
'condition' => [
'conditionType' => 'LOGS_ANOMALY_CONDITION_TYPE_MORE_THAN_USUAL_OR_UNSPECIFIED',
'minimumThreshold' => 10,
'timeWindow' => [
]
]
]
]
],
'logsNewValue' => [
'logsFilter' => [
'simpleFilter' => [
'labelFilters' => [
'applicationName' => [
[
'value' => 'my-app'
]
],
'severities' => [
],
'subsystemName' => [
[
'value' => 'my-app'
]
]
],
'luceneQuery' => '<string>'
]
],
'notificationPayloadFilter' => [
'obj.field'
],
'rules' => [
[
'condition' => [
'keypathToTrack' => 'metadata.field',
'timeWindow' => [
]
]
]
]
],
'logsRatioThreshold' => [
'denominator' => [
'simpleFilter' => [
'labelFilters' => [
'applicationName' => [
[
'value' => 'my-app'
]
],
'severities' => [
],
'subsystemName' => [
[
'value' => 'my-app'
]
]
],
'luceneQuery' => '<string>'
]
],
'denominatorAlias' => 'denominator_alias',
'evaluationDelayMs' => 60000,
'ignoreInfinity' => true,
'notificationPayloadFilter' => [
'obj.field'
],
'numerator' => [
'simpleFilter' => [
'labelFilters' => [
'applicationName' => [
[
'value' => 'my-app'
]
],
'severities' => [
],
'subsystemName' => [
[
'value' => 'my-app'
]
]
],
'luceneQuery' => '<string>'
]
],
'numeratorAlias' => 'numerator_alias',
'rules' => [
[
'condition' => [
'threshold' => 10,
'timeWindow' => [
]
],
'override' => [
]
]
],
'undetectedValuesManagement' => [
'triggerUndetectedValues' => true
]
],
'logsThreshold' => [
'evaluationDelayMs' => 60000,
'logsFilter' => [
'simpleFilter' => [
'labelFilters' => [
'applicationName' => [
[
'value' => 'my-app'
]
],
'severities' => [
],
'subsystemName' => [
[
'value' => 'my-app'
]
]
],
'luceneQuery' => '<string>'
]
],
'noDataPolicy' => [
'autoRetireSeconds' => 3600
],
'notificationPayloadFilter' => [
'obj.field'
],
'rules' => [
[
'condition' => [
'threshold' => 100,
'timeWindow' => [
]
],
'override' => [
]
]
],
'undetectedValuesManagement' => [
'triggerUndetectedValues' => true
]
],
'logsTimeRelativeThreshold' => [
'evaluationDelayMs' => 60000,
'ignoreInfinity' => true,
'logsFilter' => [
'simpleFilter' => [
'labelFilters' => [
'applicationName' => [
[
'value' => 'my-app'
]
],
'severities' => [
],
'subsystemName' => [
[
'value' => 'my-app'
]
]
],
'luceneQuery' => '<string>'
]
],
'notificationPayloadFilter' => [
'obj.field'
],
'rules' => [
[
'condition' => [
'threshold' => 1
],
'override' => [
]
]
],
'undetectedValuesManagement' => [
'triggerUndetectedValues' => true
]
],
'logsUniqueCount' => [
'logsFilter' => [
'simpleFilter' => [
'labelFilters' => [
'applicationName' => [
[
'value' => 'my-app'
]
],
'severities' => [
],
'subsystemName' => [
[
'value' => 'my-app'
]
]
],
'luceneQuery' => '<string>'
]
],
'maxUniqueCountPerGroupByKey' => '100',
'notificationPayloadFilter' => [
'obj.field'
],
'rules' => [
[
'condition' => [
'maxUniqueCount' => '100',
'timeWindow' => [
]
]
]
],
'uniqueCountKeypath' => 'obj.field'
],
'metricAnomaly' => [
'anomalyAlertSettings' => [
'percentageOfDeviation' => 1
],
'evaluationDelayMs' => 60000,
'metricFilter' => [
'promql' => 'avg_over_time(metric_name[5m]) > 10'
],
'rules' => [
[
'condition' => [
'forOverPct' => 20,
'minNonNullValuesPct' => 10,
'ofTheLast' => [
'metricTimeWindowDynamicDuration' => '1h30m'
],
'threshold' => 10
]
]
]
],
'metricThreshold' => [
'evaluationDelayMs' => 60000,
'metricFilter' => [
'promql' => 'avg_over_time(metric_name[5m]) > 10'
],
'missingValues' => [
'replaceWithZero' => true,
'minNonNullValuesPct' => 80
],
'noDataPolicy' => [
'autoRetireSeconds' => 3600
],
'rules' => [
[
'condition' => [
'forOverPct' => 80,
'ofTheLast' => [
'metricTimeWindowDynamicDuration' => '1h30m'
],
'threshold' => 100
],
'override' => [
]
]
],
'undetectedValuesManagement' => [
'triggerUndetectedValues' => true
]
],
'name' => 'My Alert',
'notificationGroup' => [
'destinations' => [
[
'connectorId' => 'connector_id_example',
'presetId' => 'preset_id_example',
'resolvedRouteOverrides' => [
'configOverrides' => [
'connectorConfigFields' => [
[
'fieldName' => 'description',
'template' => 'template_example'
]
],
'messageConfigFields' => [
[
'fieldName' => 'description',
'template' => 'template_example'
]
],
'payloadType' => 'slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default'
]
],
'retriggeringPeriodMinutes' => 600,
'triggeredRoutingOverrides' => [
'configOverrides' => [
'connectorConfigFields' => [
[
'fieldName' => 'description',
'template' => 'template_example'
]
],
'messageConfigFields' => [
[
'fieldName' => 'description',
'template' => 'template_example'
]
],
'payloadType' => 'slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default'
]
]
]
],
'groupByKeys' => [
'key1',
'key2'
],
'router' => [
'id' => '123e4567-e89b-12d3-a456-426614174000'
],
'webhooks' => [
[
'integration' => [
'integrationId' => 123,
'recipients' => [
'emails' => [
'mail@gmail.com'
]
]
],
'minutes' => 15
]
]
],
'notificationGroupExcess' => [
[
'destinations' => [
[
'connectorId' => 'connector_id_example',
'presetId' => 'preset_id_example',
'resolvedRouteOverrides' => [
'configOverrides' => [
'connectorConfigFields' => [
[
'fieldName' => 'description',
'template' => 'template_example'
]
],
'messageConfigFields' => [
[
'fieldName' => 'description',
'template' => 'template_example'
]
],
'payloadType' => 'slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default'
]
],
'retriggeringPeriodMinutes' => 600,
'triggeredRoutingOverrides' => [
'configOverrides' => [
'connectorConfigFields' => [
[
'fieldName' => 'description',
'template' => 'template_example'
]
],
'messageConfigFields' => [
[
'fieldName' => 'description',
'template' => 'template_example'
]
],
'payloadType' => 'slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default'
]
]
]
],
'groupByKeys' => [
'key1',
'key2'
],
'router' => [
'id' => '123e4567-e89b-12d3-a456-426614174000'
],
'webhooks' => [
[
'integration' => [
'integrationId' => 123,
'recipients' => [
'emails' => [
'mail@gmail.com'
]
]
],
'minutes' => 15
]
]
]
],
'phantomMode' => false,
'sloThreshold' => [
'errorBudget' => [
'rules' => [
[
'condition' => [
'threshold' => 1
],
'override' => [
]
]
]
],
'burnRate' => [
'dual' => [
'timeDuration' => [
'duration' => '24'
]
],
'rules' => [
[
'condition' => [
'threshold' => 1
],
'override' => [
]
]
],
'single' => [
'timeDuration' => [
'duration' => '24'
]
]
],
'sloDefinition' => [
'sloId' => '123e4567-e89b-12d3-a456-426614174000'
]
],
'tracingImmediate' => [
'notificationPayloadFilter' => [
'obj.field'
],
'tracingFilter' => [
'simpleFilter' => [
'latencyThresholdMs' => '1000',
'tracingLabelFilters' => [
'applicationName' => [
[
'values' => [
'value1',
'value2'
]
]
],
'operationName' => [
[
'values' => [
'value1',
'value2'
]
]
],
'serviceName' => [
[
'values' => [
'value1',
'value2'
]
]
],
'spanFields' => [
[
'filterType' => [
'values' => [
'value1',
'value2'
]
],
'key' => 'span.field.key'
]
],
'subsystemName' => [
[
'values' => [
'value1',
'value2'
]
]
]
]
]
]
],
'tracingThreshold' => [
'notificationPayloadFilter' => [
'obj.field'
],
'rules' => [
[
'condition' => [
'conditionType' => 'TRACING_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED',
'spanAmount' => 100,
'timeWindow' => [
]
]
]
],
'tracingFilter' => [
'simpleFilter' => [
'latencyThresholdMs' => '1000',
'tracingLabelFilters' => [
'applicationName' => [
[
'values' => [
'value1',
'value2'
]
]
],
'operationName' => [
[
'values' => [
'value1',
'value2'
]
]
],
'serviceName' => [
[
'values' => [
'value1',
'value2'
]
]
],
'spanFields' => [
[
'filterType' => [
'values' => [
'value1',
'value2'
]
],
'key' => 'span.field.key'
]
],
'subsystemName' => [
[
'values' => [
'value1',
'value2'
]
]
]
]
]
]
]
],
'id' => '123e4567-e89b-12d3-a456-426614174000'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.coralogix.com/mgmt/openapi/5/alerts/alerts/v3/all/replace"
payload := strings.NewReader("{\n \"alertDefsToReplace\": [\n {\n \"alertDefProperties\": {\n \"logsImmediate\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ]\n },\n \"activeOn\": {\n \"dayOfWeek\": [\n \"DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED\",\n \"DAY_OF_WEEK_TUESDAY\"\n ],\n \"endTime\": {\n \"hours\": 14,\n \"minutes\": 30\n },\n \"startTime\": {\n \"hours\": 14,\n \"minutes\": 30\n }\n },\n \"analyticsImmediate\": {\n \"dataprimeQuery\": {\n \"query\": \"source logs | filter severity == 'error' | count_agg_key by applicationName\"\n },\n \"evaluationDelayMs\": 300000,\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"timeframeMinutes\": 60,\n \"useRowsAsPermutations\": false\n },\n \"analyticsThreshold\": {\n \"dataprimeQuery\": {\n \"query\": \"source logs | filter severity == 'error' | count_agg_key by applicationName\"\n },\n \"evaluationDelayMs\": 300000,\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 100\n },\n \"override\": {}\n }\n ],\n \"targetColumn\": \"error_count\",\n \"timeframeMinutes\": 60,\n \"useRowsAsPermutations\": true\n },\n \"dataSources\": [\n {\n \"dataSet\": \"<string>\",\n \"dataSpace\": \"<string>\"\n }\n ],\n \"deleted\": false,\n \"description\": \"Alert description\",\n \"enabled\": true,\n \"entityLabels\": {},\n \"flow\": {\n \"enforceSuppression\": true,\n \"stages\": [\n {\n \"flowStagesGroups\": {\n \"groups\": [\n {\n \"alertDefs\": [\n {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"not\": true\n }\n ]\n }\n ]\n },\n \"timeframeMs\": \"<string>\"\n }\n ]\n },\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"incidentsSettings\": {\n \"minutes\": 30\n },\n \"logsAnomaly\": {\n \"anomalyAlertSettings\": {\n \"percentageOfDeviation\": 1\n },\n \"evaluationDelayMs\": 60000,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"conditionType\": \"LOGS_ANOMALY_CONDITION_TYPE_MORE_THAN_USUAL_OR_UNSPECIFIED\",\n \"minimumThreshold\": 10,\n \"timeWindow\": {}\n }\n }\n ]\n },\n \"logsNewValue\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"keypathToTrack\": \"metadata.field\",\n \"timeWindow\": {}\n }\n }\n ]\n },\n \"logsRatioThreshold\": {\n \"denominator\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"denominatorAlias\": \"denominator_alias\",\n \"evaluationDelayMs\": 60000,\n \"ignoreInfinity\": true,\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"numerator\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"numeratorAlias\": \"numerator_alias\",\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 10,\n \"timeWindow\": {}\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 100,\n \"timeWindow\": {}\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsTimeRelativeThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"ignoreInfinity\": true,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsUniqueCount\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"maxUniqueCountPerGroupByKey\": \"100\",\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"maxUniqueCount\": \"100\",\n \"timeWindow\": {}\n }\n }\n ],\n \"uniqueCountKeypath\": \"obj.field\"\n },\n \"metricAnomaly\": {\n \"anomalyAlertSettings\": {\n \"percentageOfDeviation\": 1\n },\n \"evaluationDelayMs\": 60000,\n \"metricFilter\": {\n \"promql\": \"avg_over_time(metric_name[5m]) > 10\"\n },\n \"rules\": [\n {\n \"condition\": {\n \"forOverPct\": 20,\n \"minNonNullValuesPct\": 10,\n \"ofTheLast\": {\n \"metricTimeWindowDynamicDuration\": \"1h30m\"\n },\n \"threshold\": 10\n }\n }\n ]\n },\n \"metricThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"metricFilter\": {\n \"promql\": \"avg_over_time(metric_name[5m]) > 10\"\n },\n \"missingValues\": {\n \"replaceWithZero\": true,\n \"minNonNullValuesPct\": 80\n },\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"rules\": [\n {\n \"condition\": {\n \"forOverPct\": 80,\n \"ofTheLast\": {\n \"metricTimeWindowDynamicDuration\": \"1h30m\"\n },\n \"threshold\": 100\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"name\": \"My Alert\",\n \"notificationGroup\": {\n \"destinations\": [\n {\n \"connectorId\": \"connector_id_example\",\n \"presetId\": \"preset_id_example\",\n \"resolvedRouteOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n },\n \"retriggeringPeriodMinutes\": 600,\n \"triggeredRoutingOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n }\n }\n ],\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"router\": {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n },\n \"webhooks\": [\n {\n \"integration\": {\n \"integrationId\": 123,\n \"recipients\": {\n \"emails\": [\n \"mail@gmail.com\"\n ]\n }\n },\n \"minutes\": 15\n }\n ]\n },\n \"notificationGroupExcess\": [\n {\n \"destinations\": [\n {\n \"connectorId\": \"connector_id_example\",\n \"presetId\": \"preset_id_example\",\n \"resolvedRouteOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n },\n \"retriggeringPeriodMinutes\": 600,\n \"triggeredRoutingOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n }\n }\n ],\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"router\": {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n },\n \"webhooks\": [\n {\n \"integration\": {\n \"integrationId\": 123,\n \"recipients\": {\n \"emails\": [\n \"mail@gmail.com\"\n ]\n }\n },\n \"minutes\": 15\n }\n ]\n }\n ],\n \"phantomMode\": false,\n \"sloThreshold\": {\n \"errorBudget\": {\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ]\n },\n \"burnRate\": {\n \"dual\": {\n \"timeDuration\": {\n \"duration\": \"24\"\n }\n },\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ],\n \"single\": {\n \"timeDuration\": {\n \"duration\": \"24\"\n }\n }\n },\n \"sloDefinition\": {\n \"sloId\": \"123e4567-e89b-12d3-a456-426614174000\"\n }\n },\n \"tracingImmediate\": {\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"tracingFilter\": {\n \"simpleFilter\": {\n \"latencyThresholdMs\": \"1000\",\n \"tracingLabelFilters\": {\n \"applicationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"operationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"serviceName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"spanFields\": [\n {\n \"filterType\": {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n },\n \"key\": \"span.field.key\"\n }\n ],\n \"subsystemName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ]\n }\n }\n }\n },\n \"tracingThreshold\": {\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"conditionType\": \"TRACING_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED\",\n \"spanAmount\": 100,\n \"timeWindow\": {}\n }\n }\n ],\n \"tracingFilter\": {\n \"simpleFilter\": {\n \"latencyThresholdMs\": \"1000\",\n \"tracingLabelFilters\": {\n \"applicationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"operationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"serviceName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"spanFields\": [\n {\n \"filterType\": {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n },\n \"key\": \"span.field.key\"\n }\n ],\n \"subsystemName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ]\n }\n }\n }\n }\n },\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.coralogix.com/mgmt/openapi/5/alerts/alerts/v3/all/replace")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"alertDefsToReplace\": [\n {\n \"alertDefProperties\": {\n \"logsImmediate\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ]\n },\n \"activeOn\": {\n \"dayOfWeek\": [\n \"DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED\",\n \"DAY_OF_WEEK_TUESDAY\"\n ],\n \"endTime\": {\n \"hours\": 14,\n \"minutes\": 30\n },\n \"startTime\": {\n \"hours\": 14,\n \"minutes\": 30\n }\n },\n \"analyticsImmediate\": {\n \"dataprimeQuery\": {\n \"query\": \"source logs | filter severity == 'error' | count_agg_key by applicationName\"\n },\n \"evaluationDelayMs\": 300000,\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"timeframeMinutes\": 60,\n \"useRowsAsPermutations\": false\n },\n \"analyticsThreshold\": {\n \"dataprimeQuery\": {\n \"query\": \"source logs | filter severity == 'error' | count_agg_key by applicationName\"\n },\n \"evaluationDelayMs\": 300000,\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 100\n },\n \"override\": {}\n }\n ],\n \"targetColumn\": \"error_count\",\n \"timeframeMinutes\": 60,\n \"useRowsAsPermutations\": true\n },\n \"dataSources\": [\n {\n \"dataSet\": \"<string>\",\n \"dataSpace\": \"<string>\"\n }\n ],\n \"deleted\": false,\n \"description\": \"Alert description\",\n \"enabled\": true,\n \"entityLabels\": {},\n \"flow\": {\n \"enforceSuppression\": true,\n \"stages\": [\n {\n \"flowStagesGroups\": {\n \"groups\": [\n {\n \"alertDefs\": [\n {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"not\": true\n }\n ]\n }\n ]\n },\n \"timeframeMs\": \"<string>\"\n }\n ]\n },\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"incidentsSettings\": {\n \"minutes\": 30\n },\n \"logsAnomaly\": {\n \"anomalyAlertSettings\": {\n \"percentageOfDeviation\": 1\n },\n \"evaluationDelayMs\": 60000,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"conditionType\": \"LOGS_ANOMALY_CONDITION_TYPE_MORE_THAN_USUAL_OR_UNSPECIFIED\",\n \"minimumThreshold\": 10,\n \"timeWindow\": {}\n }\n }\n ]\n },\n \"logsNewValue\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"keypathToTrack\": \"metadata.field\",\n \"timeWindow\": {}\n }\n }\n ]\n },\n \"logsRatioThreshold\": {\n \"denominator\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"denominatorAlias\": \"denominator_alias\",\n \"evaluationDelayMs\": 60000,\n \"ignoreInfinity\": true,\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"numerator\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"numeratorAlias\": \"numerator_alias\",\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 10,\n \"timeWindow\": {}\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 100,\n \"timeWindow\": {}\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsTimeRelativeThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"ignoreInfinity\": true,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsUniqueCount\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"maxUniqueCountPerGroupByKey\": \"100\",\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"maxUniqueCount\": \"100\",\n \"timeWindow\": {}\n }\n }\n ],\n \"uniqueCountKeypath\": \"obj.field\"\n },\n \"metricAnomaly\": {\n \"anomalyAlertSettings\": {\n \"percentageOfDeviation\": 1\n },\n \"evaluationDelayMs\": 60000,\n \"metricFilter\": {\n \"promql\": \"avg_over_time(metric_name[5m]) > 10\"\n },\n \"rules\": [\n {\n \"condition\": {\n \"forOverPct\": 20,\n \"minNonNullValuesPct\": 10,\n \"ofTheLast\": {\n \"metricTimeWindowDynamicDuration\": \"1h30m\"\n },\n \"threshold\": 10\n }\n }\n ]\n },\n \"metricThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"metricFilter\": {\n \"promql\": \"avg_over_time(metric_name[5m]) > 10\"\n },\n \"missingValues\": {\n \"replaceWithZero\": true,\n \"minNonNullValuesPct\": 80\n },\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"rules\": [\n {\n \"condition\": {\n \"forOverPct\": 80,\n \"ofTheLast\": {\n \"metricTimeWindowDynamicDuration\": \"1h30m\"\n },\n \"threshold\": 100\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"name\": \"My Alert\",\n \"notificationGroup\": {\n \"destinations\": [\n {\n \"connectorId\": \"connector_id_example\",\n \"presetId\": \"preset_id_example\",\n \"resolvedRouteOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n },\n \"retriggeringPeriodMinutes\": 600,\n \"triggeredRoutingOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n }\n }\n ],\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"router\": {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n },\n \"webhooks\": [\n {\n \"integration\": {\n \"integrationId\": 123,\n \"recipients\": {\n \"emails\": [\n \"mail@gmail.com\"\n ]\n }\n },\n \"minutes\": 15\n }\n ]\n },\n \"notificationGroupExcess\": [\n {\n \"destinations\": [\n {\n \"connectorId\": \"connector_id_example\",\n \"presetId\": \"preset_id_example\",\n \"resolvedRouteOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n },\n \"retriggeringPeriodMinutes\": 600,\n \"triggeredRoutingOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n }\n }\n ],\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"router\": {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n },\n \"webhooks\": [\n {\n \"integration\": {\n \"integrationId\": 123,\n \"recipients\": {\n \"emails\": [\n \"mail@gmail.com\"\n ]\n }\n },\n \"minutes\": 15\n }\n ]\n }\n ],\n \"phantomMode\": false,\n \"sloThreshold\": {\n \"errorBudget\": {\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ]\n },\n \"burnRate\": {\n \"dual\": {\n \"timeDuration\": {\n \"duration\": \"24\"\n }\n },\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ],\n \"single\": {\n \"timeDuration\": {\n \"duration\": \"24\"\n }\n }\n },\n \"sloDefinition\": {\n \"sloId\": \"123e4567-e89b-12d3-a456-426614174000\"\n }\n },\n \"tracingImmediate\": {\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"tracingFilter\": {\n \"simpleFilter\": {\n \"latencyThresholdMs\": \"1000\",\n \"tracingLabelFilters\": {\n \"applicationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"operationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"serviceName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"spanFields\": [\n {\n \"filterType\": {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n },\n \"key\": \"span.field.key\"\n }\n ],\n \"subsystemName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ]\n }\n }\n }\n },\n \"tracingThreshold\": {\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"conditionType\": \"TRACING_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED\",\n \"spanAmount\": 100,\n \"timeWindow\": {}\n }\n }\n ],\n \"tracingFilter\": {\n \"simpleFilter\": {\n \"latencyThresholdMs\": \"1000\",\n \"tracingLabelFilters\": {\n \"applicationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"operationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"serviceName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"spanFields\": [\n {\n \"filterType\": {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n },\n \"key\": \"span.field.key\"\n }\n ],\n \"subsystemName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ]\n }\n }\n }\n }\n },\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.coralogix.com/mgmt/openapi/5/alerts/alerts/v3/all/replace")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"alertDefsToReplace\": [\n {\n \"alertDefProperties\": {\n \"logsImmediate\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ]\n },\n \"activeOn\": {\n \"dayOfWeek\": [\n \"DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED\",\n \"DAY_OF_WEEK_TUESDAY\"\n ],\n \"endTime\": {\n \"hours\": 14,\n \"minutes\": 30\n },\n \"startTime\": {\n \"hours\": 14,\n \"minutes\": 30\n }\n },\n \"analyticsImmediate\": {\n \"dataprimeQuery\": {\n \"query\": \"source logs | filter severity == 'error' | count_agg_key by applicationName\"\n },\n \"evaluationDelayMs\": 300000,\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"timeframeMinutes\": 60,\n \"useRowsAsPermutations\": false\n },\n \"analyticsThreshold\": {\n \"dataprimeQuery\": {\n \"query\": \"source logs | filter severity == 'error' | count_agg_key by applicationName\"\n },\n \"evaluationDelayMs\": 300000,\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 100\n },\n \"override\": {}\n }\n ],\n \"targetColumn\": \"error_count\",\n \"timeframeMinutes\": 60,\n \"useRowsAsPermutations\": true\n },\n \"dataSources\": [\n {\n \"dataSet\": \"<string>\",\n \"dataSpace\": \"<string>\"\n }\n ],\n \"deleted\": false,\n \"description\": \"Alert description\",\n \"enabled\": true,\n \"entityLabels\": {},\n \"flow\": {\n \"enforceSuppression\": true,\n \"stages\": [\n {\n \"flowStagesGroups\": {\n \"groups\": [\n {\n \"alertDefs\": [\n {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"not\": true\n }\n ]\n }\n ]\n },\n \"timeframeMs\": \"<string>\"\n }\n ]\n },\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"incidentsSettings\": {\n \"minutes\": 30\n },\n \"logsAnomaly\": {\n \"anomalyAlertSettings\": {\n \"percentageOfDeviation\": 1\n },\n \"evaluationDelayMs\": 60000,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"conditionType\": \"LOGS_ANOMALY_CONDITION_TYPE_MORE_THAN_USUAL_OR_UNSPECIFIED\",\n \"minimumThreshold\": 10,\n \"timeWindow\": {}\n }\n }\n ]\n },\n \"logsNewValue\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"keypathToTrack\": \"metadata.field\",\n \"timeWindow\": {}\n }\n }\n ]\n },\n \"logsRatioThreshold\": {\n \"denominator\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"denominatorAlias\": \"denominator_alias\",\n \"evaluationDelayMs\": 60000,\n \"ignoreInfinity\": true,\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"numerator\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"numeratorAlias\": \"numerator_alias\",\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 10,\n \"timeWindow\": {}\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 100,\n \"timeWindow\": {}\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsTimeRelativeThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"ignoreInfinity\": true,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsUniqueCount\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"maxUniqueCountPerGroupByKey\": \"100\",\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"maxUniqueCount\": \"100\",\n \"timeWindow\": {}\n }\n }\n ],\n \"uniqueCountKeypath\": \"obj.field\"\n },\n \"metricAnomaly\": {\n \"anomalyAlertSettings\": {\n \"percentageOfDeviation\": 1\n },\n \"evaluationDelayMs\": 60000,\n \"metricFilter\": {\n \"promql\": \"avg_over_time(metric_name[5m]) > 10\"\n },\n \"rules\": [\n {\n \"condition\": {\n \"forOverPct\": 20,\n \"minNonNullValuesPct\": 10,\n \"ofTheLast\": {\n \"metricTimeWindowDynamicDuration\": \"1h30m\"\n },\n \"threshold\": 10\n }\n }\n ]\n },\n \"metricThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"metricFilter\": {\n \"promql\": \"avg_over_time(metric_name[5m]) > 10\"\n },\n \"missingValues\": {\n \"replaceWithZero\": true,\n \"minNonNullValuesPct\": 80\n },\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"rules\": [\n {\n \"condition\": {\n \"forOverPct\": 80,\n \"ofTheLast\": {\n \"metricTimeWindowDynamicDuration\": \"1h30m\"\n },\n \"threshold\": 100\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"name\": \"My Alert\",\n \"notificationGroup\": {\n \"destinations\": [\n {\n \"connectorId\": \"connector_id_example\",\n \"presetId\": \"preset_id_example\",\n \"resolvedRouteOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n },\n \"retriggeringPeriodMinutes\": 600,\n \"triggeredRoutingOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n }\n }\n ],\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"router\": {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n },\n \"webhooks\": [\n {\n \"integration\": {\n \"integrationId\": 123,\n \"recipients\": {\n \"emails\": [\n \"mail@gmail.com\"\n ]\n }\n },\n \"minutes\": 15\n }\n ]\n },\n \"notificationGroupExcess\": [\n {\n \"destinations\": [\n {\n \"connectorId\": \"connector_id_example\",\n \"presetId\": \"preset_id_example\",\n \"resolvedRouteOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n },\n \"retriggeringPeriodMinutes\": 600,\n \"triggeredRoutingOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n }\n }\n ],\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"router\": {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n },\n \"webhooks\": [\n {\n \"integration\": {\n \"integrationId\": 123,\n \"recipients\": {\n \"emails\": [\n \"mail@gmail.com\"\n ]\n }\n },\n \"minutes\": 15\n }\n ]\n }\n ],\n \"phantomMode\": false,\n \"sloThreshold\": {\n \"errorBudget\": {\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ]\n },\n \"burnRate\": {\n \"dual\": {\n \"timeDuration\": {\n \"duration\": \"24\"\n }\n },\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ],\n \"single\": {\n \"timeDuration\": {\n \"duration\": \"24\"\n }\n }\n },\n \"sloDefinition\": {\n \"sloId\": \"123e4567-e89b-12d3-a456-426614174000\"\n }\n },\n \"tracingImmediate\": {\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"tracingFilter\": {\n \"simpleFilter\": {\n \"latencyThresholdMs\": \"1000\",\n \"tracingLabelFilters\": {\n \"applicationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"operationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"serviceName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"spanFields\": [\n {\n \"filterType\": {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n },\n \"key\": \"span.field.key\"\n }\n ],\n \"subsystemName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ]\n }\n }\n }\n },\n \"tracingThreshold\": {\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"conditionType\": \"TRACING_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED\",\n \"spanAmount\": 100,\n \"timeWindow\": {}\n }\n }\n ],\n \"tracingFilter\": {\n \"simpleFilter\": {\n \"latencyThresholdMs\": \"1000\",\n \"tracingLabelFilters\": {\n \"applicationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"operationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"serviceName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"spanFields\": [\n {\n \"filterType\": {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n },\n \"key\": \"span.field.key\"\n }\n ],\n \"subsystemName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ]\n }\n }\n }\n }\n },\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"alertDefs": [
{
"alertDefProperties": {
"logsImmediate": {
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"notificationPayloadFilter": [
"obj.field"
]
},
"activeOn": {
"dayOfWeek": [
"DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED",
"DAY_OF_WEEK_TUESDAY"
],
"endTime": {
"hours": 14,
"minutes": 30
},
"startTime": {
"hours": 14,
"minutes": 30
}
},
"analyticsImmediate": {
"dataprimeQuery": {
"query": "source logs | filter severity == 'error' | count_agg_key by applicationName"
},
"evaluationDelayMs": 300000,
"noDataPolicy": {
"autoRetireSeconds": 3600
},
"timeframeMinutes": 60,
"useRowsAsPermutations": false
},
"analyticsThreshold": {
"dataprimeQuery": {
"query": "source logs | filter severity == 'error' | count_agg_key by applicationName"
},
"evaluationDelayMs": 300000,
"noDataPolicy": {
"autoRetireSeconds": 3600
},
"rules": [
{
"condition": {
"threshold": 100
},
"override": {}
}
],
"targetColumn": "error_count",
"timeframeMinutes": 60,
"useRowsAsPermutations": true
},
"dataSources": [
{
"dataSet": "<string>",
"dataSpace": "<string>"
}
],
"deleted": false,
"description": "Alert description",
"enabled": true,
"entityLabels": {},
"flow": {
"enforceSuppression": true,
"stages": [
{
"flowStagesGroups": {
"groups": [
{
"alertDefs": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"not": true
}
]
}
]
},
"timeframeMs": "<string>"
}
]
},
"groupByKeys": [
"key1",
"key2"
],
"incidentsSettings": {
"minutes": 30
},
"logsAnomaly": {
"anomalyAlertSettings": {
"percentageOfDeviation": 1
},
"evaluationDelayMs": 60000,
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"conditionType": "LOGS_ANOMALY_CONDITION_TYPE_MORE_THAN_USUAL_OR_UNSPECIFIED",
"minimumThreshold": 10,
"timeWindow": {}
}
}
]
},
"logsNewValue": {
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"keypathToTrack": "metadata.field",
"timeWindow": {}
}
}
]
},
"logsRatioThreshold": {
"denominator": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"denominatorAlias": "denominator_alias",
"evaluationDelayMs": 60000,
"ignoreInfinity": true,
"notificationPayloadFilter": [
"obj.field"
],
"numerator": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"numeratorAlias": "numerator_alias",
"rules": [
{
"condition": {
"threshold": 10,
"timeWindow": {}
},
"override": {}
}
],
"undetectedValuesManagement": {
"triggerUndetectedValues": true
}
},
"logsThreshold": {
"evaluationDelayMs": 60000,
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"noDataPolicy": {
"autoRetireSeconds": 3600
},
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"threshold": 100,
"timeWindow": {}
},
"override": {}
}
],
"undetectedValuesManagement": {
"triggerUndetectedValues": true
}
},
"logsTimeRelativeThreshold": {
"evaluationDelayMs": 60000,
"ignoreInfinity": true,
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"threshold": 1
},
"override": {}
}
],
"undetectedValuesManagement": {
"triggerUndetectedValues": true
}
},
"logsUniqueCount": {
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"maxUniqueCountPerGroupByKey": "100",
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"maxUniqueCount": "100",
"timeWindow": {}
}
}
],
"uniqueCountKeypath": "obj.field"
},
"metricAnomaly": {
"anomalyAlertSettings": {
"percentageOfDeviation": 1
},
"evaluationDelayMs": 60000,
"metricFilter": {
"promql": "avg_over_time(metric_name[5m]) > 10"
},
"rules": [
{
"condition": {
"forOverPct": 20,
"minNonNullValuesPct": 10,
"ofTheLast": {
"metricTimeWindowDynamicDuration": "1h30m"
},
"threshold": 10
}
}
]
},
"metricThreshold": {
"evaluationDelayMs": 60000,
"metricFilter": {
"promql": "avg_over_time(metric_name[5m]) > 10"
},
"missingValues": {
"replaceWithZero": true,
"minNonNullValuesPct": 80
},
"noDataPolicy": {
"autoRetireSeconds": 3600
},
"rules": [
{
"condition": {
"forOverPct": 80,
"ofTheLast": {
"metricTimeWindowDynamicDuration": "1h30m"
},
"threshold": 100
},
"override": {}
}
],
"undetectedValuesManagement": {
"triggerUndetectedValues": true
}
},
"name": "My Alert",
"notificationGroup": {
"destinations": [
{
"connectorId": "connector_id_example",
"presetId": "preset_id_example",
"resolvedRouteOverrides": {
"configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
}
},
"retriggeringPeriodMinutes": 600,
"triggeredRoutingOverrides": {
"configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
}
}
}
],
"groupByKeys": [
"key1",
"key2"
],
"router": {
"id": "123e4567-e89b-12d3-a456-426614174000"
},
"webhooks": [
{
"integration": {
"integrationId": 123,
"recipients": {
"emails": [
"mail@gmail.com"
]
}
},
"minutes": 15
}
]
},
"notificationGroupExcess": [
{
"destinations": [
{
"connectorId": "connector_id_example",
"presetId": "preset_id_example",
"resolvedRouteOverrides": {
"configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
}
},
"retriggeringPeriodMinutes": 600,
"triggeredRoutingOverrides": {
"configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
}
}
}
],
"groupByKeys": [
"key1",
"key2"
],
"router": {
"id": "123e4567-e89b-12d3-a456-426614174000"
},
"webhooks": [
{
"integration": {
"integrationId": 123,
"recipients": {
"emails": [
"mail@gmail.com"
]
}
},
"minutes": 15
}
]
}
],
"phantomMode": false,
"sloThreshold": {
"errorBudget": {
"rules": [
{
"condition": {
"threshold": 1
},
"override": {}
}
]
},
"burnRate": {
"dual": {
"timeDuration": {
"duration": "24"
}
},
"rules": [
{
"condition": {
"threshold": 1
},
"override": {}
}
],
"single": {
"timeDuration": {
"duration": "24"
}
}
},
"sloDefinition": {
"sloId": "123e4567-e89b-12d3-a456-426614174000"
}
},
"tracingImmediate": {
"notificationPayloadFilter": [
"obj.field"
],
"tracingFilter": {
"simpleFilter": {
"latencyThresholdMs": "1000",
"tracingLabelFilters": {
"applicationName": [
{
"values": [
"value1",
"value2"
]
}
],
"operationName": [
{
"values": [
"value1",
"value2"
]
}
],
"serviceName": [
{
"values": [
"value1",
"value2"
]
}
],
"spanFields": [
{
"filterType": {
"values": [
"value1",
"value2"
]
},
"key": "span.field.key"
}
],
"subsystemName": [
{
"values": [
"value1",
"value2"
]
}
]
}
}
}
},
"tracingThreshold": {
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"conditionType": "TRACING_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED",
"spanAmount": 100,
"timeWindow": {}
}
}
],
"tracingFilter": {
"simpleFilter": {
"latencyThresholdMs": "1000",
"tracingLabelFilters": {
"applicationName": [
{
"values": [
"value1",
"value2"
]
}
],
"operationName": [
{
"values": [
"value1",
"value2"
]
}
],
"serviceName": [
{
"values": [
"value1",
"value2"
]
}
],
"spanFields": [
{
"filterType": {
"values": [
"value1",
"value2"
]
},
"key": "span.field.key"
}
],
"subsystemName": [
{
"values": [
"value1",
"value2"
]
}
]
}
}
}
}
},
"alertVersionId": "<string>",
"createdTime": "2023-10-01T12:00:00.000Z",
"id": "123e4567-e89b-12d3-a456-426614174000",
"lastTriggeredTime": "2023-10-01T12:00:00.000Z",
"updatedTime": "2023-10-01T12:00:00.000Z"
}
],
"failedToReplaceAlertDefs": [
{
"id": "123e4567-e89b-12d3-a456-426614174000"
}
],
"notFoundIds": [
"123e4567-e89b-12d3-a456-426614174000"
],
"skippedIds": [
"123e4567-e89b-12d3-a456-426614174000"
]
}{
"code": 349,
"message": "<string>"
}{
"code": 349,
"message": "<string>"
}{
"code": 349,
"message": "<string>"
}Alert Definitions Service
Bulk replace alert definitions
Replaces all alert definitions with the provided set.
Requires the following permissions:
alerts:UpdateConfig
Bulk replace alert definitions
curl --request PUT \
--url https://api.coralogix.com/mgmt/openapi/5/alerts/alerts/v3/all/replace \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"alertDefsToReplace": [
{
"alertDefProperties": {
"logsImmediate": {
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"notificationPayloadFilter": [
"obj.field"
]
},
"activeOn": {
"dayOfWeek": [
"DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED",
"DAY_OF_WEEK_TUESDAY"
],
"endTime": {
"hours": 14,
"minutes": 30
},
"startTime": {
"hours": 14,
"minutes": 30
}
},
"analyticsImmediate": {
"dataprimeQuery": {
"query": "source logs | filter severity == 'error' | count_agg_key by applicationName"
},
"evaluationDelayMs": 300000,
"noDataPolicy": {
"autoRetireSeconds": 3600
},
"timeframeMinutes": 60,
"useRowsAsPermutations": false
},
"analyticsThreshold": {
"dataprimeQuery": {
"query": "source logs | filter severity == 'error' | count_agg_key by applicationName"
},
"evaluationDelayMs": 300000,
"noDataPolicy": {
"autoRetireSeconds": 3600
},
"rules": [
{
"condition": {
"threshold": 100
},
"override": {}
}
],
"targetColumn": "error_count",
"timeframeMinutes": 60,
"useRowsAsPermutations": true
},
"dataSources": [
{
"dataSet": "<string>",
"dataSpace": "<string>"
}
],
"deleted": false,
"description": "Alert description",
"enabled": true,
"entityLabels": {},
"flow": {
"enforceSuppression": true,
"stages": [
{
"flowStagesGroups": {
"groups": [
{
"alertDefs": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"not": true
}
]
}
]
},
"timeframeMs": "<string>"
}
]
},
"groupByKeys": [
"key1",
"key2"
],
"incidentsSettings": {
"minutes": 30
},
"logsAnomaly": {
"anomalyAlertSettings": {
"percentageOfDeviation": 1
},
"evaluationDelayMs": 60000,
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"conditionType": "LOGS_ANOMALY_CONDITION_TYPE_MORE_THAN_USUAL_OR_UNSPECIFIED",
"minimumThreshold": 10,
"timeWindow": {}
}
}
]
},
"logsNewValue": {
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"keypathToTrack": "metadata.field",
"timeWindow": {}
}
}
]
},
"logsRatioThreshold": {
"denominator": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"denominatorAlias": "denominator_alias",
"evaluationDelayMs": 60000,
"ignoreInfinity": true,
"notificationPayloadFilter": [
"obj.field"
],
"numerator": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"numeratorAlias": "numerator_alias",
"rules": [
{
"condition": {
"threshold": 10,
"timeWindow": {}
},
"override": {}
}
],
"undetectedValuesManagement": {
"triggerUndetectedValues": true
}
},
"logsThreshold": {
"evaluationDelayMs": 60000,
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"noDataPolicy": {
"autoRetireSeconds": 3600
},
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"threshold": 100,
"timeWindow": {}
},
"override": {}
}
],
"undetectedValuesManagement": {
"triggerUndetectedValues": true
}
},
"logsTimeRelativeThreshold": {
"evaluationDelayMs": 60000,
"ignoreInfinity": true,
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"threshold": 1
},
"override": {}
}
],
"undetectedValuesManagement": {
"triggerUndetectedValues": true
}
},
"logsUniqueCount": {
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"maxUniqueCountPerGroupByKey": "100",
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"maxUniqueCount": "100",
"timeWindow": {}
}
}
],
"uniqueCountKeypath": "obj.field"
},
"metricAnomaly": {
"anomalyAlertSettings": {
"percentageOfDeviation": 1
},
"evaluationDelayMs": 60000,
"metricFilter": {
"promql": "avg_over_time(metric_name[5m]) > 10"
},
"rules": [
{
"condition": {
"forOverPct": 20,
"minNonNullValuesPct": 10,
"ofTheLast": {
"metricTimeWindowDynamicDuration": "1h30m"
},
"threshold": 10
}
}
]
},
"metricThreshold": {
"evaluationDelayMs": 60000,
"metricFilter": {
"promql": "avg_over_time(metric_name[5m]) > 10"
},
"missingValues": {
"replaceWithZero": true,
"minNonNullValuesPct": 80
},
"noDataPolicy": {
"autoRetireSeconds": 3600
},
"rules": [
{
"condition": {
"forOverPct": 80,
"ofTheLast": {
"metricTimeWindowDynamicDuration": "1h30m"
},
"threshold": 100
},
"override": {}
}
],
"undetectedValuesManagement": {
"triggerUndetectedValues": true
}
},
"name": "My Alert",
"notificationGroup": {
"destinations": [
{
"connectorId": "connector_id_example",
"presetId": "preset_id_example",
"resolvedRouteOverrides": {
"configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
}
},
"retriggeringPeriodMinutes": 600,
"triggeredRoutingOverrides": {
"configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
}
}
}
],
"groupByKeys": [
"key1",
"key2"
],
"router": {
"id": "123e4567-e89b-12d3-a456-426614174000"
},
"webhooks": [
{
"integration": {
"integrationId": 123,
"recipients": {
"emails": [
"mail@gmail.com"
]
}
},
"minutes": 15
}
]
},
"notificationGroupExcess": [
{
"destinations": [
{
"connectorId": "connector_id_example",
"presetId": "preset_id_example",
"resolvedRouteOverrides": {
"configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
}
},
"retriggeringPeriodMinutes": 600,
"triggeredRoutingOverrides": {
"configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
}
}
}
],
"groupByKeys": [
"key1",
"key2"
],
"router": {
"id": "123e4567-e89b-12d3-a456-426614174000"
},
"webhooks": [
{
"integration": {
"integrationId": 123,
"recipients": {
"emails": [
"mail@gmail.com"
]
}
},
"minutes": 15
}
]
}
],
"phantomMode": false,
"sloThreshold": {
"errorBudget": {
"rules": [
{
"condition": {
"threshold": 1
},
"override": {}
}
]
},
"burnRate": {
"dual": {
"timeDuration": {
"duration": "24"
}
},
"rules": [
{
"condition": {
"threshold": 1
},
"override": {}
}
],
"single": {
"timeDuration": {
"duration": "24"
}
}
},
"sloDefinition": {
"sloId": "123e4567-e89b-12d3-a456-426614174000"
}
},
"tracingImmediate": {
"notificationPayloadFilter": [
"obj.field"
],
"tracingFilter": {
"simpleFilter": {
"latencyThresholdMs": "1000",
"tracingLabelFilters": {
"applicationName": [
{
"values": [
"value1",
"value2"
]
}
],
"operationName": [
{
"values": [
"value1",
"value2"
]
}
],
"serviceName": [
{
"values": [
"value1",
"value2"
]
}
],
"spanFields": [
{
"filterType": {
"values": [
"value1",
"value2"
]
},
"key": "span.field.key"
}
],
"subsystemName": [
{
"values": [
"value1",
"value2"
]
}
]
}
}
}
},
"tracingThreshold": {
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"conditionType": "TRACING_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED",
"spanAmount": 100,
"timeWindow": {}
}
}
],
"tracingFilter": {
"simpleFilter": {
"latencyThresholdMs": "1000",
"tracingLabelFilters": {
"applicationName": [
{
"values": [
"value1",
"value2"
]
}
],
"operationName": [
{
"values": [
"value1",
"value2"
]
}
],
"serviceName": [
{
"values": [
"value1",
"value2"
]
}
],
"spanFields": [
{
"filterType": {
"values": [
"value1",
"value2"
]
},
"key": "span.field.key"
}
],
"subsystemName": [
{
"values": [
"value1",
"value2"
]
}
]
}
}
}
}
},
"id": "123e4567-e89b-12d3-a456-426614174000"
}
]
}
EOFimport requests
url = "https://api.coralogix.com/mgmt/openapi/5/alerts/alerts/v3/all/replace"
payload = { "alertDefsToReplace": [
{
"alertDefProperties": {
"logsImmediate": {
"logsFilter": { "simpleFilter": {
"labelFilters": {
"applicationName": [{ "value": "my-app" }],
"severities": [],
"subsystemName": [{ "value": "my-app" }]
},
"luceneQuery": "<string>"
} },
"notificationPayloadFilter": ["obj.field"]
},
"activeOn": {
"dayOfWeek": ["DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED", "DAY_OF_WEEK_TUESDAY"],
"endTime": {
"hours": 14,
"minutes": 30
},
"startTime": {
"hours": 14,
"minutes": 30
}
},
"analyticsImmediate": {
"dataprimeQuery": { "query": "source logs | filter severity == 'error' | count_agg_key by applicationName" },
"evaluationDelayMs": 300000,
"noDataPolicy": { "autoRetireSeconds": 3600 },
"timeframeMinutes": 60,
"useRowsAsPermutations": False
},
"analyticsThreshold": {
"dataprimeQuery": { "query": "source logs | filter severity == 'error' | count_agg_key by applicationName" },
"evaluationDelayMs": 300000,
"noDataPolicy": { "autoRetireSeconds": 3600 },
"rules": [
{
"condition": { "threshold": 100 },
"override": {}
}
],
"targetColumn": "error_count",
"timeframeMinutes": 60,
"useRowsAsPermutations": True
},
"dataSources": [
{
"dataSet": "<string>",
"dataSpace": "<string>"
}
],
"deleted": False,
"description": "Alert description",
"enabled": True,
"entityLabels": {},
"flow": {
"enforceSuppression": True,
"stages": [
{
"flowStagesGroups": { "groups": [{ "alertDefs": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"not": True
}
] }] },
"timeframeMs": "<string>"
}
]
},
"groupByKeys": ["key1", "key2"],
"incidentsSettings": { "minutes": 30 },
"logsAnomaly": {
"anomalyAlertSettings": { "percentageOfDeviation": 1 },
"evaluationDelayMs": 60000,
"logsFilter": { "simpleFilter": {
"labelFilters": {
"applicationName": [{ "value": "my-app" }],
"severities": [],
"subsystemName": [{ "value": "my-app" }]
},
"luceneQuery": "<string>"
} },
"notificationPayloadFilter": ["obj.field"],
"rules": [{ "condition": {
"conditionType": "LOGS_ANOMALY_CONDITION_TYPE_MORE_THAN_USUAL_OR_UNSPECIFIED",
"minimumThreshold": 10,
"timeWindow": {}
} }]
},
"logsNewValue": {
"logsFilter": { "simpleFilter": {
"labelFilters": {
"applicationName": [{ "value": "my-app" }],
"severities": [],
"subsystemName": [{ "value": "my-app" }]
},
"luceneQuery": "<string>"
} },
"notificationPayloadFilter": ["obj.field"],
"rules": [{ "condition": {
"keypathToTrack": "metadata.field",
"timeWindow": {}
} }]
},
"logsRatioThreshold": {
"denominator": { "simpleFilter": {
"labelFilters": {
"applicationName": [{ "value": "my-app" }],
"severities": [],
"subsystemName": [{ "value": "my-app" }]
},
"luceneQuery": "<string>"
} },
"denominatorAlias": "denominator_alias",
"evaluationDelayMs": 60000,
"ignoreInfinity": True,
"notificationPayloadFilter": ["obj.field"],
"numerator": { "simpleFilter": {
"labelFilters": {
"applicationName": [{ "value": "my-app" }],
"severities": [],
"subsystemName": [{ "value": "my-app" }]
},
"luceneQuery": "<string>"
} },
"numeratorAlias": "numerator_alias",
"rules": [
{
"condition": {
"threshold": 10,
"timeWindow": {}
},
"override": {}
}
],
"undetectedValuesManagement": { "triggerUndetectedValues": True }
},
"logsThreshold": {
"evaluationDelayMs": 60000,
"logsFilter": { "simpleFilter": {
"labelFilters": {
"applicationName": [{ "value": "my-app" }],
"severities": [],
"subsystemName": [{ "value": "my-app" }]
},
"luceneQuery": "<string>"
} },
"noDataPolicy": { "autoRetireSeconds": 3600 },
"notificationPayloadFilter": ["obj.field"],
"rules": [
{
"condition": {
"threshold": 100,
"timeWindow": {}
},
"override": {}
}
],
"undetectedValuesManagement": { "triggerUndetectedValues": True }
},
"logsTimeRelativeThreshold": {
"evaluationDelayMs": 60000,
"ignoreInfinity": True,
"logsFilter": { "simpleFilter": {
"labelFilters": {
"applicationName": [{ "value": "my-app" }],
"severities": [],
"subsystemName": [{ "value": "my-app" }]
},
"luceneQuery": "<string>"
} },
"notificationPayloadFilter": ["obj.field"],
"rules": [
{
"condition": { "threshold": 1 },
"override": {}
}
],
"undetectedValuesManagement": { "triggerUndetectedValues": True }
},
"logsUniqueCount": {
"logsFilter": { "simpleFilter": {
"labelFilters": {
"applicationName": [{ "value": "my-app" }],
"severities": [],
"subsystemName": [{ "value": "my-app" }]
},
"luceneQuery": "<string>"
} },
"maxUniqueCountPerGroupByKey": "100",
"notificationPayloadFilter": ["obj.field"],
"rules": [{ "condition": {
"maxUniqueCount": "100",
"timeWindow": {}
} }],
"uniqueCountKeypath": "obj.field"
},
"metricAnomaly": {
"anomalyAlertSettings": { "percentageOfDeviation": 1 },
"evaluationDelayMs": 60000,
"metricFilter": { "promql": "avg_over_time(metric_name[5m]) > 10" },
"rules": [{ "condition": {
"forOverPct": 20,
"minNonNullValuesPct": 10,
"ofTheLast": { "metricTimeWindowDynamicDuration": "1h30m" },
"threshold": 10
} }]
},
"metricThreshold": {
"evaluationDelayMs": 60000,
"metricFilter": { "promql": "avg_over_time(metric_name[5m]) > 10" },
"missingValues": {
"replaceWithZero": True,
"minNonNullValuesPct": 80
},
"noDataPolicy": { "autoRetireSeconds": 3600 },
"rules": [
{
"condition": {
"forOverPct": 80,
"ofTheLast": { "metricTimeWindowDynamicDuration": "1h30m" },
"threshold": 100
},
"override": {}
}
],
"undetectedValuesManagement": { "triggerUndetectedValues": True }
},
"name": "My Alert",
"notificationGroup": {
"destinations": [
{
"connectorId": "connector_id_example",
"presetId": "preset_id_example",
"resolvedRouteOverrides": { "configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
} },
"retriggeringPeriodMinutes": 600,
"triggeredRoutingOverrides": { "configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
} }
}
],
"groupByKeys": ["key1", "key2"],
"router": { "id": "123e4567-e89b-12d3-a456-426614174000" },
"webhooks": [
{
"integration": {
"integrationId": 123,
"recipients": { "emails": ["mail@gmail.com"] }
},
"minutes": 15
}
]
},
"notificationGroupExcess": [
{
"destinations": [
{
"connectorId": "connector_id_example",
"presetId": "preset_id_example",
"resolvedRouteOverrides": { "configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
} },
"retriggeringPeriodMinutes": 600,
"triggeredRoutingOverrides": { "configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
} }
}
],
"groupByKeys": ["key1", "key2"],
"router": { "id": "123e4567-e89b-12d3-a456-426614174000" },
"webhooks": [
{
"integration": {
"integrationId": 123,
"recipients": { "emails": ["mail@gmail.com"] }
},
"minutes": 15
}
]
}
],
"phantomMode": False,
"sloThreshold": {
"errorBudget": { "rules": [
{
"condition": { "threshold": 1 },
"override": {}
}
] },
"burnRate": {
"dual": { "timeDuration": { "duration": "24" } },
"rules": [
{
"condition": { "threshold": 1 },
"override": {}
}
],
"single": { "timeDuration": { "duration": "24" } }
},
"sloDefinition": { "sloId": "123e4567-e89b-12d3-a456-426614174000" }
},
"tracingImmediate": {
"notificationPayloadFilter": ["obj.field"],
"tracingFilter": { "simpleFilter": {
"latencyThresholdMs": "1000",
"tracingLabelFilters": {
"applicationName": [{ "values": ["value1", "value2"] }],
"operationName": [{ "values": ["value1", "value2"] }],
"serviceName": [{ "values": ["value1", "value2"] }],
"spanFields": [
{
"filterType": { "values": ["value1", "value2"] },
"key": "span.field.key"
}
],
"subsystemName": [{ "values": ["value1", "value2"] }]
}
} }
},
"tracingThreshold": {
"notificationPayloadFilter": ["obj.field"],
"rules": [{ "condition": {
"conditionType": "TRACING_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED",
"spanAmount": 100,
"timeWindow": {}
} }],
"tracingFilter": { "simpleFilter": {
"latencyThresholdMs": "1000",
"tracingLabelFilters": {
"applicationName": [{ "values": ["value1", "value2"] }],
"operationName": [{ "values": ["value1", "value2"] }],
"serviceName": [{ "values": ["value1", "value2"] }],
"spanFields": [
{
"filterType": { "values": ["value1", "value2"] },
"key": "span.field.key"
}
],
"subsystemName": [{ "values": ["value1", "value2"] }]
}
} }
}
},
"id": "123e4567-e89b-12d3-a456-426614174000"
}
] }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
alertDefsToReplace: [
{
alertDefProperties: {
logsImmediate: {
logsFilter: {
simpleFilter: {
labelFilters: {
applicationName: [{value: 'my-app'}],
severities: [],
subsystemName: [{value: 'my-app'}]
},
luceneQuery: '<string>'
}
},
notificationPayloadFilter: ['obj.field']
},
activeOn: {
dayOfWeek: ['DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED', 'DAY_OF_WEEK_TUESDAY'],
endTime: {hours: 14, minutes: 30},
startTime: {hours: 14, minutes: 30}
},
analyticsImmediate: {
dataprimeQuery: {
query: 'source logs | filter severity == \'error\' | count_agg_key by applicationName'
},
evaluationDelayMs: 300000,
noDataPolicy: {autoRetireSeconds: 3600},
timeframeMinutes: 60,
useRowsAsPermutations: false
},
analyticsThreshold: {
dataprimeQuery: {
query: 'source logs | filter severity == \'error\' | count_agg_key by applicationName'
},
evaluationDelayMs: 300000,
noDataPolicy: {autoRetireSeconds: 3600},
rules: [{condition: {threshold: 100}, override: {}}],
targetColumn: 'error_count',
timeframeMinutes: 60,
useRowsAsPermutations: true
},
dataSources: [{dataSet: '<string>', dataSpace: '<string>'}],
deleted: false,
description: 'Alert description',
enabled: true,
entityLabels: {},
flow: {
enforceSuppression: true,
stages: [
{
flowStagesGroups: {
groups: [{alertDefs: [{id: '123e4567-e89b-12d3-a456-426614174000', not: true}]}]
},
timeframeMs: '<string>'
}
]
},
groupByKeys: ['key1', 'key2'],
incidentsSettings: {minutes: 30},
logsAnomaly: {
anomalyAlertSettings: {percentageOfDeviation: 1},
evaluationDelayMs: 60000,
logsFilter: {
simpleFilter: {
labelFilters: {
applicationName: [{value: 'my-app'}],
severities: [],
subsystemName: [{value: 'my-app'}]
},
luceneQuery: '<string>'
}
},
notificationPayloadFilter: ['obj.field'],
rules: [
{
condition: {
conditionType: 'LOGS_ANOMALY_CONDITION_TYPE_MORE_THAN_USUAL_OR_UNSPECIFIED',
minimumThreshold: 10,
timeWindow: {}
}
}
]
},
logsNewValue: {
logsFilter: {
simpleFilter: {
labelFilters: {
applicationName: [{value: 'my-app'}],
severities: [],
subsystemName: [{value: 'my-app'}]
},
luceneQuery: '<string>'
}
},
notificationPayloadFilter: ['obj.field'],
rules: [{condition: {keypathToTrack: 'metadata.field', timeWindow: {}}}]
},
logsRatioThreshold: {
denominator: {
simpleFilter: {
labelFilters: {
applicationName: [{value: 'my-app'}],
severities: [],
subsystemName: [{value: 'my-app'}]
},
luceneQuery: '<string>'
}
},
denominatorAlias: 'denominator_alias',
evaluationDelayMs: 60000,
ignoreInfinity: true,
notificationPayloadFilter: ['obj.field'],
numerator: {
simpleFilter: {
labelFilters: {
applicationName: [{value: 'my-app'}],
severities: [],
subsystemName: [{value: 'my-app'}]
},
luceneQuery: '<string>'
}
},
numeratorAlias: 'numerator_alias',
rules: [{condition: {threshold: 10, timeWindow: {}}, override: {}}],
undetectedValuesManagement: {triggerUndetectedValues: true}
},
logsThreshold: {
evaluationDelayMs: 60000,
logsFilter: {
simpleFilter: {
labelFilters: {
applicationName: [{value: 'my-app'}],
severities: [],
subsystemName: [{value: 'my-app'}]
},
luceneQuery: '<string>'
}
},
noDataPolicy: {autoRetireSeconds: 3600},
notificationPayloadFilter: ['obj.field'],
rules: [{condition: {threshold: 100, timeWindow: {}}, override: {}}],
undetectedValuesManagement: {triggerUndetectedValues: true}
},
logsTimeRelativeThreshold: {
evaluationDelayMs: 60000,
ignoreInfinity: true,
logsFilter: {
simpleFilter: {
labelFilters: {
applicationName: [{value: 'my-app'}],
severities: [],
subsystemName: [{value: 'my-app'}]
},
luceneQuery: '<string>'
}
},
notificationPayloadFilter: ['obj.field'],
rules: [{condition: {threshold: 1}, override: {}}],
undetectedValuesManagement: {triggerUndetectedValues: true}
},
logsUniqueCount: {
logsFilter: {
simpleFilter: {
labelFilters: {
applicationName: [{value: 'my-app'}],
severities: [],
subsystemName: [{value: 'my-app'}]
},
luceneQuery: '<string>'
}
},
maxUniqueCountPerGroupByKey: '100',
notificationPayloadFilter: ['obj.field'],
rules: [{condition: {maxUniqueCount: '100', timeWindow: {}}}],
uniqueCountKeypath: 'obj.field'
},
metricAnomaly: {
anomalyAlertSettings: {percentageOfDeviation: 1},
evaluationDelayMs: 60000,
metricFilter: {promql: 'avg_over_time(metric_name[5m]) > 10'},
rules: [
{
condition: {
forOverPct: 20,
minNonNullValuesPct: 10,
ofTheLast: {metricTimeWindowDynamicDuration: '1h30m'},
threshold: 10
}
}
]
},
metricThreshold: {
evaluationDelayMs: 60000,
metricFilter: {promql: 'avg_over_time(metric_name[5m]) > 10'},
missingValues: {replaceWithZero: true, minNonNullValuesPct: 80},
noDataPolicy: {autoRetireSeconds: 3600},
rules: [
{
condition: {
forOverPct: 80,
ofTheLast: {metricTimeWindowDynamicDuration: '1h30m'},
threshold: 100
},
override: {}
}
],
undetectedValuesManagement: {triggerUndetectedValues: true}
},
name: 'My Alert',
notificationGroup: {
destinations: [
{
connectorId: 'connector_id_example',
presetId: 'preset_id_example',
resolvedRouteOverrides: {
configOverrides: {
connectorConfigFields: [{fieldName: 'description', template: 'template_example'}],
messageConfigFields: [{fieldName: 'description', template: 'template_example'}],
payloadType: 'slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default'
}
},
retriggeringPeriodMinutes: 600,
triggeredRoutingOverrides: {
configOverrides: {
connectorConfigFields: [{fieldName: 'description', template: 'template_example'}],
messageConfigFields: [{fieldName: 'description', template: 'template_example'}],
payloadType: 'slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default'
}
}
}
],
groupByKeys: ['key1', 'key2'],
router: {id: '123e4567-e89b-12d3-a456-426614174000'},
webhooks: [
{
integration: {integrationId: 123, recipients: {emails: ['mail@gmail.com']}},
minutes: 15
}
]
},
notificationGroupExcess: [
{
destinations: [
{
connectorId: 'connector_id_example',
presetId: 'preset_id_example',
resolvedRouteOverrides: {
configOverrides: {
connectorConfigFields: [{fieldName: 'description', template: 'template_example'}],
messageConfigFields: [{fieldName: 'description', template: 'template_example'}],
payloadType: 'slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default'
}
},
retriggeringPeriodMinutes: 600,
triggeredRoutingOverrides: {
configOverrides: {
connectorConfigFields: [{fieldName: 'description', template: 'template_example'}],
messageConfigFields: [{fieldName: 'description', template: 'template_example'}],
payloadType: 'slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default'
}
}
}
],
groupByKeys: ['key1', 'key2'],
router: {id: '123e4567-e89b-12d3-a456-426614174000'},
webhooks: [
{
integration: {integrationId: 123, recipients: {emails: ['mail@gmail.com']}},
minutes: 15
}
]
}
],
phantomMode: false,
sloThreshold: {
errorBudget: {rules: [{condition: {threshold: 1}, override: {}}]},
burnRate: {
dual: {timeDuration: {duration: '24'}},
rules: [{condition: {threshold: 1}, override: {}}],
single: {timeDuration: {duration: '24'}}
},
sloDefinition: {sloId: '123e4567-e89b-12d3-a456-426614174000'}
},
tracingImmediate: {
notificationPayloadFilter: ['obj.field'],
tracingFilter: {
simpleFilter: {
latencyThresholdMs: '1000',
tracingLabelFilters: {
applicationName: [{values: ['value1', 'value2']}],
operationName: [{values: ['value1', 'value2']}],
serviceName: [{values: ['value1', 'value2']}],
spanFields: [{filterType: {values: ['value1', 'value2']}, key: 'span.field.key'}],
subsystemName: [{values: ['value1', 'value2']}]
}
}
}
},
tracingThreshold: {
notificationPayloadFilter: ['obj.field'],
rules: [
{
condition: {
conditionType: 'TRACING_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED',
spanAmount: 100,
timeWindow: {}
}
}
],
tracingFilter: {
simpleFilter: {
latencyThresholdMs: '1000',
tracingLabelFilters: {
applicationName: [{values: ['value1', 'value2']}],
operationName: [{values: ['value1', 'value2']}],
serviceName: [{values: ['value1', 'value2']}],
spanFields: [{filterType: {values: ['value1', 'value2']}, key: 'span.field.key'}],
subsystemName: [{values: ['value1', 'value2']}]
}
}
}
}
},
id: '123e4567-e89b-12d3-a456-426614174000'
}
]
})
};
fetch('https://api.coralogix.com/mgmt/openapi/5/alerts/alerts/v3/all/replace', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.coralogix.com/mgmt/openapi/5/alerts/alerts/v3/all/replace",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'alertDefsToReplace' => [
[
'alertDefProperties' => [
'logsImmediate' => [
'logsFilter' => [
'simpleFilter' => [
'labelFilters' => [
'applicationName' => [
[
'value' => 'my-app'
]
],
'severities' => [
],
'subsystemName' => [
[
'value' => 'my-app'
]
]
],
'luceneQuery' => '<string>'
]
],
'notificationPayloadFilter' => [
'obj.field'
]
],
'activeOn' => [
'dayOfWeek' => [
'DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED',
'DAY_OF_WEEK_TUESDAY'
],
'endTime' => [
'hours' => 14,
'minutes' => 30
],
'startTime' => [
'hours' => 14,
'minutes' => 30
]
],
'analyticsImmediate' => [
'dataprimeQuery' => [
'query' => 'source logs | filter severity == \'error\' | count_agg_key by applicationName'
],
'evaluationDelayMs' => 300000,
'noDataPolicy' => [
'autoRetireSeconds' => 3600
],
'timeframeMinutes' => 60,
'useRowsAsPermutations' => false
],
'analyticsThreshold' => [
'dataprimeQuery' => [
'query' => 'source logs | filter severity == \'error\' | count_agg_key by applicationName'
],
'evaluationDelayMs' => 300000,
'noDataPolicy' => [
'autoRetireSeconds' => 3600
],
'rules' => [
[
'condition' => [
'threshold' => 100
],
'override' => [
]
]
],
'targetColumn' => 'error_count',
'timeframeMinutes' => 60,
'useRowsAsPermutations' => true
],
'dataSources' => [
[
'dataSet' => '<string>',
'dataSpace' => '<string>'
]
],
'deleted' => false,
'description' => 'Alert description',
'enabled' => true,
'entityLabels' => [
],
'flow' => [
'enforceSuppression' => true,
'stages' => [
[
'flowStagesGroups' => [
'groups' => [
[
'alertDefs' => [
[
'id' => '123e4567-e89b-12d3-a456-426614174000',
'not' => true
]
]
]
]
],
'timeframeMs' => '<string>'
]
]
],
'groupByKeys' => [
'key1',
'key2'
],
'incidentsSettings' => [
'minutes' => 30
],
'logsAnomaly' => [
'anomalyAlertSettings' => [
'percentageOfDeviation' => 1
],
'evaluationDelayMs' => 60000,
'logsFilter' => [
'simpleFilter' => [
'labelFilters' => [
'applicationName' => [
[
'value' => 'my-app'
]
],
'severities' => [
],
'subsystemName' => [
[
'value' => 'my-app'
]
]
],
'luceneQuery' => '<string>'
]
],
'notificationPayloadFilter' => [
'obj.field'
],
'rules' => [
[
'condition' => [
'conditionType' => 'LOGS_ANOMALY_CONDITION_TYPE_MORE_THAN_USUAL_OR_UNSPECIFIED',
'minimumThreshold' => 10,
'timeWindow' => [
]
]
]
]
],
'logsNewValue' => [
'logsFilter' => [
'simpleFilter' => [
'labelFilters' => [
'applicationName' => [
[
'value' => 'my-app'
]
],
'severities' => [
],
'subsystemName' => [
[
'value' => 'my-app'
]
]
],
'luceneQuery' => '<string>'
]
],
'notificationPayloadFilter' => [
'obj.field'
],
'rules' => [
[
'condition' => [
'keypathToTrack' => 'metadata.field',
'timeWindow' => [
]
]
]
]
],
'logsRatioThreshold' => [
'denominator' => [
'simpleFilter' => [
'labelFilters' => [
'applicationName' => [
[
'value' => 'my-app'
]
],
'severities' => [
],
'subsystemName' => [
[
'value' => 'my-app'
]
]
],
'luceneQuery' => '<string>'
]
],
'denominatorAlias' => 'denominator_alias',
'evaluationDelayMs' => 60000,
'ignoreInfinity' => true,
'notificationPayloadFilter' => [
'obj.field'
],
'numerator' => [
'simpleFilter' => [
'labelFilters' => [
'applicationName' => [
[
'value' => 'my-app'
]
],
'severities' => [
],
'subsystemName' => [
[
'value' => 'my-app'
]
]
],
'luceneQuery' => '<string>'
]
],
'numeratorAlias' => 'numerator_alias',
'rules' => [
[
'condition' => [
'threshold' => 10,
'timeWindow' => [
]
],
'override' => [
]
]
],
'undetectedValuesManagement' => [
'triggerUndetectedValues' => true
]
],
'logsThreshold' => [
'evaluationDelayMs' => 60000,
'logsFilter' => [
'simpleFilter' => [
'labelFilters' => [
'applicationName' => [
[
'value' => 'my-app'
]
],
'severities' => [
],
'subsystemName' => [
[
'value' => 'my-app'
]
]
],
'luceneQuery' => '<string>'
]
],
'noDataPolicy' => [
'autoRetireSeconds' => 3600
],
'notificationPayloadFilter' => [
'obj.field'
],
'rules' => [
[
'condition' => [
'threshold' => 100,
'timeWindow' => [
]
],
'override' => [
]
]
],
'undetectedValuesManagement' => [
'triggerUndetectedValues' => true
]
],
'logsTimeRelativeThreshold' => [
'evaluationDelayMs' => 60000,
'ignoreInfinity' => true,
'logsFilter' => [
'simpleFilter' => [
'labelFilters' => [
'applicationName' => [
[
'value' => 'my-app'
]
],
'severities' => [
],
'subsystemName' => [
[
'value' => 'my-app'
]
]
],
'luceneQuery' => '<string>'
]
],
'notificationPayloadFilter' => [
'obj.field'
],
'rules' => [
[
'condition' => [
'threshold' => 1
],
'override' => [
]
]
],
'undetectedValuesManagement' => [
'triggerUndetectedValues' => true
]
],
'logsUniqueCount' => [
'logsFilter' => [
'simpleFilter' => [
'labelFilters' => [
'applicationName' => [
[
'value' => 'my-app'
]
],
'severities' => [
],
'subsystemName' => [
[
'value' => 'my-app'
]
]
],
'luceneQuery' => '<string>'
]
],
'maxUniqueCountPerGroupByKey' => '100',
'notificationPayloadFilter' => [
'obj.field'
],
'rules' => [
[
'condition' => [
'maxUniqueCount' => '100',
'timeWindow' => [
]
]
]
],
'uniqueCountKeypath' => 'obj.field'
],
'metricAnomaly' => [
'anomalyAlertSettings' => [
'percentageOfDeviation' => 1
],
'evaluationDelayMs' => 60000,
'metricFilter' => [
'promql' => 'avg_over_time(metric_name[5m]) > 10'
],
'rules' => [
[
'condition' => [
'forOverPct' => 20,
'minNonNullValuesPct' => 10,
'ofTheLast' => [
'metricTimeWindowDynamicDuration' => '1h30m'
],
'threshold' => 10
]
]
]
],
'metricThreshold' => [
'evaluationDelayMs' => 60000,
'metricFilter' => [
'promql' => 'avg_over_time(metric_name[5m]) > 10'
],
'missingValues' => [
'replaceWithZero' => true,
'minNonNullValuesPct' => 80
],
'noDataPolicy' => [
'autoRetireSeconds' => 3600
],
'rules' => [
[
'condition' => [
'forOverPct' => 80,
'ofTheLast' => [
'metricTimeWindowDynamicDuration' => '1h30m'
],
'threshold' => 100
],
'override' => [
]
]
],
'undetectedValuesManagement' => [
'triggerUndetectedValues' => true
]
],
'name' => 'My Alert',
'notificationGroup' => [
'destinations' => [
[
'connectorId' => 'connector_id_example',
'presetId' => 'preset_id_example',
'resolvedRouteOverrides' => [
'configOverrides' => [
'connectorConfigFields' => [
[
'fieldName' => 'description',
'template' => 'template_example'
]
],
'messageConfigFields' => [
[
'fieldName' => 'description',
'template' => 'template_example'
]
],
'payloadType' => 'slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default'
]
],
'retriggeringPeriodMinutes' => 600,
'triggeredRoutingOverrides' => [
'configOverrides' => [
'connectorConfigFields' => [
[
'fieldName' => 'description',
'template' => 'template_example'
]
],
'messageConfigFields' => [
[
'fieldName' => 'description',
'template' => 'template_example'
]
],
'payloadType' => 'slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default'
]
]
]
],
'groupByKeys' => [
'key1',
'key2'
],
'router' => [
'id' => '123e4567-e89b-12d3-a456-426614174000'
],
'webhooks' => [
[
'integration' => [
'integrationId' => 123,
'recipients' => [
'emails' => [
'mail@gmail.com'
]
]
],
'minutes' => 15
]
]
],
'notificationGroupExcess' => [
[
'destinations' => [
[
'connectorId' => 'connector_id_example',
'presetId' => 'preset_id_example',
'resolvedRouteOverrides' => [
'configOverrides' => [
'connectorConfigFields' => [
[
'fieldName' => 'description',
'template' => 'template_example'
]
],
'messageConfigFields' => [
[
'fieldName' => 'description',
'template' => 'template_example'
]
],
'payloadType' => 'slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default'
]
],
'retriggeringPeriodMinutes' => 600,
'triggeredRoutingOverrides' => [
'configOverrides' => [
'connectorConfigFields' => [
[
'fieldName' => 'description',
'template' => 'template_example'
]
],
'messageConfigFields' => [
[
'fieldName' => 'description',
'template' => 'template_example'
]
],
'payloadType' => 'slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default'
]
]
]
],
'groupByKeys' => [
'key1',
'key2'
],
'router' => [
'id' => '123e4567-e89b-12d3-a456-426614174000'
],
'webhooks' => [
[
'integration' => [
'integrationId' => 123,
'recipients' => [
'emails' => [
'mail@gmail.com'
]
]
],
'minutes' => 15
]
]
]
],
'phantomMode' => false,
'sloThreshold' => [
'errorBudget' => [
'rules' => [
[
'condition' => [
'threshold' => 1
],
'override' => [
]
]
]
],
'burnRate' => [
'dual' => [
'timeDuration' => [
'duration' => '24'
]
],
'rules' => [
[
'condition' => [
'threshold' => 1
],
'override' => [
]
]
],
'single' => [
'timeDuration' => [
'duration' => '24'
]
]
],
'sloDefinition' => [
'sloId' => '123e4567-e89b-12d3-a456-426614174000'
]
],
'tracingImmediate' => [
'notificationPayloadFilter' => [
'obj.field'
],
'tracingFilter' => [
'simpleFilter' => [
'latencyThresholdMs' => '1000',
'tracingLabelFilters' => [
'applicationName' => [
[
'values' => [
'value1',
'value2'
]
]
],
'operationName' => [
[
'values' => [
'value1',
'value2'
]
]
],
'serviceName' => [
[
'values' => [
'value1',
'value2'
]
]
],
'spanFields' => [
[
'filterType' => [
'values' => [
'value1',
'value2'
]
],
'key' => 'span.field.key'
]
],
'subsystemName' => [
[
'values' => [
'value1',
'value2'
]
]
]
]
]
]
],
'tracingThreshold' => [
'notificationPayloadFilter' => [
'obj.field'
],
'rules' => [
[
'condition' => [
'conditionType' => 'TRACING_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED',
'spanAmount' => 100,
'timeWindow' => [
]
]
]
],
'tracingFilter' => [
'simpleFilter' => [
'latencyThresholdMs' => '1000',
'tracingLabelFilters' => [
'applicationName' => [
[
'values' => [
'value1',
'value2'
]
]
],
'operationName' => [
[
'values' => [
'value1',
'value2'
]
]
],
'serviceName' => [
[
'values' => [
'value1',
'value2'
]
]
],
'spanFields' => [
[
'filterType' => [
'values' => [
'value1',
'value2'
]
],
'key' => 'span.field.key'
]
],
'subsystemName' => [
[
'values' => [
'value1',
'value2'
]
]
]
]
]
]
]
],
'id' => '123e4567-e89b-12d3-a456-426614174000'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.coralogix.com/mgmt/openapi/5/alerts/alerts/v3/all/replace"
payload := strings.NewReader("{\n \"alertDefsToReplace\": [\n {\n \"alertDefProperties\": {\n \"logsImmediate\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ]\n },\n \"activeOn\": {\n \"dayOfWeek\": [\n \"DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED\",\n \"DAY_OF_WEEK_TUESDAY\"\n ],\n \"endTime\": {\n \"hours\": 14,\n \"minutes\": 30\n },\n \"startTime\": {\n \"hours\": 14,\n \"minutes\": 30\n }\n },\n \"analyticsImmediate\": {\n \"dataprimeQuery\": {\n \"query\": \"source logs | filter severity == 'error' | count_agg_key by applicationName\"\n },\n \"evaluationDelayMs\": 300000,\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"timeframeMinutes\": 60,\n \"useRowsAsPermutations\": false\n },\n \"analyticsThreshold\": {\n \"dataprimeQuery\": {\n \"query\": \"source logs | filter severity == 'error' | count_agg_key by applicationName\"\n },\n \"evaluationDelayMs\": 300000,\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 100\n },\n \"override\": {}\n }\n ],\n \"targetColumn\": \"error_count\",\n \"timeframeMinutes\": 60,\n \"useRowsAsPermutations\": true\n },\n \"dataSources\": [\n {\n \"dataSet\": \"<string>\",\n \"dataSpace\": \"<string>\"\n }\n ],\n \"deleted\": false,\n \"description\": \"Alert description\",\n \"enabled\": true,\n \"entityLabels\": {},\n \"flow\": {\n \"enforceSuppression\": true,\n \"stages\": [\n {\n \"flowStagesGroups\": {\n \"groups\": [\n {\n \"alertDefs\": [\n {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"not\": true\n }\n ]\n }\n ]\n },\n \"timeframeMs\": \"<string>\"\n }\n ]\n },\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"incidentsSettings\": {\n \"minutes\": 30\n },\n \"logsAnomaly\": {\n \"anomalyAlertSettings\": {\n \"percentageOfDeviation\": 1\n },\n \"evaluationDelayMs\": 60000,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"conditionType\": \"LOGS_ANOMALY_CONDITION_TYPE_MORE_THAN_USUAL_OR_UNSPECIFIED\",\n \"minimumThreshold\": 10,\n \"timeWindow\": {}\n }\n }\n ]\n },\n \"logsNewValue\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"keypathToTrack\": \"metadata.field\",\n \"timeWindow\": {}\n }\n }\n ]\n },\n \"logsRatioThreshold\": {\n \"denominator\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"denominatorAlias\": \"denominator_alias\",\n \"evaluationDelayMs\": 60000,\n \"ignoreInfinity\": true,\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"numerator\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"numeratorAlias\": \"numerator_alias\",\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 10,\n \"timeWindow\": {}\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 100,\n \"timeWindow\": {}\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsTimeRelativeThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"ignoreInfinity\": true,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsUniqueCount\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"maxUniqueCountPerGroupByKey\": \"100\",\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"maxUniqueCount\": \"100\",\n \"timeWindow\": {}\n }\n }\n ],\n \"uniqueCountKeypath\": \"obj.field\"\n },\n \"metricAnomaly\": {\n \"anomalyAlertSettings\": {\n \"percentageOfDeviation\": 1\n },\n \"evaluationDelayMs\": 60000,\n \"metricFilter\": {\n \"promql\": \"avg_over_time(metric_name[5m]) > 10\"\n },\n \"rules\": [\n {\n \"condition\": {\n \"forOverPct\": 20,\n \"minNonNullValuesPct\": 10,\n \"ofTheLast\": {\n \"metricTimeWindowDynamicDuration\": \"1h30m\"\n },\n \"threshold\": 10\n }\n }\n ]\n },\n \"metricThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"metricFilter\": {\n \"promql\": \"avg_over_time(metric_name[5m]) > 10\"\n },\n \"missingValues\": {\n \"replaceWithZero\": true,\n \"minNonNullValuesPct\": 80\n },\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"rules\": [\n {\n \"condition\": {\n \"forOverPct\": 80,\n \"ofTheLast\": {\n \"metricTimeWindowDynamicDuration\": \"1h30m\"\n },\n \"threshold\": 100\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"name\": \"My Alert\",\n \"notificationGroup\": {\n \"destinations\": [\n {\n \"connectorId\": \"connector_id_example\",\n \"presetId\": \"preset_id_example\",\n \"resolvedRouteOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n },\n \"retriggeringPeriodMinutes\": 600,\n \"triggeredRoutingOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n }\n }\n ],\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"router\": {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n },\n \"webhooks\": [\n {\n \"integration\": {\n \"integrationId\": 123,\n \"recipients\": {\n \"emails\": [\n \"mail@gmail.com\"\n ]\n }\n },\n \"minutes\": 15\n }\n ]\n },\n \"notificationGroupExcess\": [\n {\n \"destinations\": [\n {\n \"connectorId\": \"connector_id_example\",\n \"presetId\": \"preset_id_example\",\n \"resolvedRouteOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n },\n \"retriggeringPeriodMinutes\": 600,\n \"triggeredRoutingOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n }\n }\n ],\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"router\": {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n },\n \"webhooks\": [\n {\n \"integration\": {\n \"integrationId\": 123,\n \"recipients\": {\n \"emails\": [\n \"mail@gmail.com\"\n ]\n }\n },\n \"minutes\": 15\n }\n ]\n }\n ],\n \"phantomMode\": false,\n \"sloThreshold\": {\n \"errorBudget\": {\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ]\n },\n \"burnRate\": {\n \"dual\": {\n \"timeDuration\": {\n \"duration\": \"24\"\n }\n },\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ],\n \"single\": {\n \"timeDuration\": {\n \"duration\": \"24\"\n }\n }\n },\n \"sloDefinition\": {\n \"sloId\": \"123e4567-e89b-12d3-a456-426614174000\"\n }\n },\n \"tracingImmediate\": {\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"tracingFilter\": {\n \"simpleFilter\": {\n \"latencyThresholdMs\": \"1000\",\n \"tracingLabelFilters\": {\n \"applicationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"operationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"serviceName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"spanFields\": [\n {\n \"filterType\": {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n },\n \"key\": \"span.field.key\"\n }\n ],\n \"subsystemName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ]\n }\n }\n }\n },\n \"tracingThreshold\": {\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"conditionType\": \"TRACING_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED\",\n \"spanAmount\": 100,\n \"timeWindow\": {}\n }\n }\n ],\n \"tracingFilter\": {\n \"simpleFilter\": {\n \"latencyThresholdMs\": \"1000\",\n \"tracingLabelFilters\": {\n \"applicationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"operationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"serviceName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"spanFields\": [\n {\n \"filterType\": {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n },\n \"key\": \"span.field.key\"\n }\n ],\n \"subsystemName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ]\n }\n }\n }\n }\n },\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.coralogix.com/mgmt/openapi/5/alerts/alerts/v3/all/replace")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"alertDefsToReplace\": [\n {\n \"alertDefProperties\": {\n \"logsImmediate\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ]\n },\n \"activeOn\": {\n \"dayOfWeek\": [\n \"DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED\",\n \"DAY_OF_WEEK_TUESDAY\"\n ],\n \"endTime\": {\n \"hours\": 14,\n \"minutes\": 30\n },\n \"startTime\": {\n \"hours\": 14,\n \"minutes\": 30\n }\n },\n \"analyticsImmediate\": {\n \"dataprimeQuery\": {\n \"query\": \"source logs | filter severity == 'error' | count_agg_key by applicationName\"\n },\n \"evaluationDelayMs\": 300000,\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"timeframeMinutes\": 60,\n \"useRowsAsPermutations\": false\n },\n \"analyticsThreshold\": {\n \"dataprimeQuery\": {\n \"query\": \"source logs | filter severity == 'error' | count_agg_key by applicationName\"\n },\n \"evaluationDelayMs\": 300000,\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 100\n },\n \"override\": {}\n }\n ],\n \"targetColumn\": \"error_count\",\n \"timeframeMinutes\": 60,\n \"useRowsAsPermutations\": true\n },\n \"dataSources\": [\n {\n \"dataSet\": \"<string>\",\n \"dataSpace\": \"<string>\"\n }\n ],\n \"deleted\": false,\n \"description\": \"Alert description\",\n \"enabled\": true,\n \"entityLabels\": {},\n \"flow\": {\n \"enforceSuppression\": true,\n \"stages\": [\n {\n \"flowStagesGroups\": {\n \"groups\": [\n {\n \"alertDefs\": [\n {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"not\": true\n }\n ]\n }\n ]\n },\n \"timeframeMs\": \"<string>\"\n }\n ]\n },\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"incidentsSettings\": {\n \"minutes\": 30\n },\n \"logsAnomaly\": {\n \"anomalyAlertSettings\": {\n \"percentageOfDeviation\": 1\n },\n \"evaluationDelayMs\": 60000,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"conditionType\": \"LOGS_ANOMALY_CONDITION_TYPE_MORE_THAN_USUAL_OR_UNSPECIFIED\",\n \"minimumThreshold\": 10,\n \"timeWindow\": {}\n }\n }\n ]\n },\n \"logsNewValue\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"keypathToTrack\": \"metadata.field\",\n \"timeWindow\": {}\n }\n }\n ]\n },\n \"logsRatioThreshold\": {\n \"denominator\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"denominatorAlias\": \"denominator_alias\",\n \"evaluationDelayMs\": 60000,\n \"ignoreInfinity\": true,\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"numerator\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"numeratorAlias\": \"numerator_alias\",\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 10,\n \"timeWindow\": {}\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 100,\n \"timeWindow\": {}\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsTimeRelativeThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"ignoreInfinity\": true,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsUniqueCount\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"maxUniqueCountPerGroupByKey\": \"100\",\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"maxUniqueCount\": \"100\",\n \"timeWindow\": {}\n }\n }\n ],\n \"uniqueCountKeypath\": \"obj.field\"\n },\n \"metricAnomaly\": {\n \"anomalyAlertSettings\": {\n \"percentageOfDeviation\": 1\n },\n \"evaluationDelayMs\": 60000,\n \"metricFilter\": {\n \"promql\": \"avg_over_time(metric_name[5m]) > 10\"\n },\n \"rules\": [\n {\n \"condition\": {\n \"forOverPct\": 20,\n \"minNonNullValuesPct\": 10,\n \"ofTheLast\": {\n \"metricTimeWindowDynamicDuration\": \"1h30m\"\n },\n \"threshold\": 10\n }\n }\n ]\n },\n \"metricThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"metricFilter\": {\n \"promql\": \"avg_over_time(metric_name[5m]) > 10\"\n },\n \"missingValues\": {\n \"replaceWithZero\": true,\n \"minNonNullValuesPct\": 80\n },\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"rules\": [\n {\n \"condition\": {\n \"forOverPct\": 80,\n \"ofTheLast\": {\n \"metricTimeWindowDynamicDuration\": \"1h30m\"\n },\n \"threshold\": 100\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"name\": \"My Alert\",\n \"notificationGroup\": {\n \"destinations\": [\n {\n \"connectorId\": \"connector_id_example\",\n \"presetId\": \"preset_id_example\",\n \"resolvedRouteOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n },\n \"retriggeringPeriodMinutes\": 600,\n \"triggeredRoutingOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n }\n }\n ],\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"router\": {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n },\n \"webhooks\": [\n {\n \"integration\": {\n \"integrationId\": 123,\n \"recipients\": {\n \"emails\": [\n \"mail@gmail.com\"\n ]\n }\n },\n \"minutes\": 15\n }\n ]\n },\n \"notificationGroupExcess\": [\n {\n \"destinations\": [\n {\n \"connectorId\": \"connector_id_example\",\n \"presetId\": \"preset_id_example\",\n \"resolvedRouteOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n },\n \"retriggeringPeriodMinutes\": 600,\n \"triggeredRoutingOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n }\n }\n ],\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"router\": {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n },\n \"webhooks\": [\n {\n \"integration\": {\n \"integrationId\": 123,\n \"recipients\": {\n \"emails\": [\n \"mail@gmail.com\"\n ]\n }\n },\n \"minutes\": 15\n }\n ]\n }\n ],\n \"phantomMode\": false,\n \"sloThreshold\": {\n \"errorBudget\": {\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ]\n },\n \"burnRate\": {\n \"dual\": {\n \"timeDuration\": {\n \"duration\": \"24\"\n }\n },\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ],\n \"single\": {\n \"timeDuration\": {\n \"duration\": \"24\"\n }\n }\n },\n \"sloDefinition\": {\n \"sloId\": \"123e4567-e89b-12d3-a456-426614174000\"\n }\n },\n \"tracingImmediate\": {\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"tracingFilter\": {\n \"simpleFilter\": {\n \"latencyThresholdMs\": \"1000\",\n \"tracingLabelFilters\": {\n \"applicationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"operationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"serviceName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"spanFields\": [\n {\n \"filterType\": {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n },\n \"key\": \"span.field.key\"\n }\n ],\n \"subsystemName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ]\n }\n }\n }\n },\n \"tracingThreshold\": {\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"conditionType\": \"TRACING_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED\",\n \"spanAmount\": 100,\n \"timeWindow\": {}\n }\n }\n ],\n \"tracingFilter\": {\n \"simpleFilter\": {\n \"latencyThresholdMs\": \"1000\",\n \"tracingLabelFilters\": {\n \"applicationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"operationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"serviceName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"spanFields\": [\n {\n \"filterType\": {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n },\n \"key\": \"span.field.key\"\n }\n ],\n \"subsystemName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ]\n }\n }\n }\n }\n },\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.coralogix.com/mgmt/openapi/5/alerts/alerts/v3/all/replace")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"alertDefsToReplace\": [\n {\n \"alertDefProperties\": {\n \"logsImmediate\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ]\n },\n \"activeOn\": {\n \"dayOfWeek\": [\n \"DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED\",\n \"DAY_OF_WEEK_TUESDAY\"\n ],\n \"endTime\": {\n \"hours\": 14,\n \"minutes\": 30\n },\n \"startTime\": {\n \"hours\": 14,\n \"minutes\": 30\n }\n },\n \"analyticsImmediate\": {\n \"dataprimeQuery\": {\n \"query\": \"source logs | filter severity == 'error' | count_agg_key by applicationName\"\n },\n \"evaluationDelayMs\": 300000,\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"timeframeMinutes\": 60,\n \"useRowsAsPermutations\": false\n },\n \"analyticsThreshold\": {\n \"dataprimeQuery\": {\n \"query\": \"source logs | filter severity == 'error' | count_agg_key by applicationName\"\n },\n \"evaluationDelayMs\": 300000,\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 100\n },\n \"override\": {}\n }\n ],\n \"targetColumn\": \"error_count\",\n \"timeframeMinutes\": 60,\n \"useRowsAsPermutations\": true\n },\n \"dataSources\": [\n {\n \"dataSet\": \"<string>\",\n \"dataSpace\": \"<string>\"\n }\n ],\n \"deleted\": false,\n \"description\": \"Alert description\",\n \"enabled\": true,\n \"entityLabels\": {},\n \"flow\": {\n \"enforceSuppression\": true,\n \"stages\": [\n {\n \"flowStagesGroups\": {\n \"groups\": [\n {\n \"alertDefs\": [\n {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"not\": true\n }\n ]\n }\n ]\n },\n \"timeframeMs\": \"<string>\"\n }\n ]\n },\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"incidentsSettings\": {\n \"minutes\": 30\n },\n \"logsAnomaly\": {\n \"anomalyAlertSettings\": {\n \"percentageOfDeviation\": 1\n },\n \"evaluationDelayMs\": 60000,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"conditionType\": \"LOGS_ANOMALY_CONDITION_TYPE_MORE_THAN_USUAL_OR_UNSPECIFIED\",\n \"minimumThreshold\": 10,\n \"timeWindow\": {}\n }\n }\n ]\n },\n \"logsNewValue\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"keypathToTrack\": \"metadata.field\",\n \"timeWindow\": {}\n }\n }\n ]\n },\n \"logsRatioThreshold\": {\n \"denominator\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"denominatorAlias\": \"denominator_alias\",\n \"evaluationDelayMs\": 60000,\n \"ignoreInfinity\": true,\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"numerator\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"numeratorAlias\": \"numerator_alias\",\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 10,\n \"timeWindow\": {}\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 100,\n \"timeWindow\": {}\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsTimeRelativeThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"ignoreInfinity\": true,\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"logsUniqueCount\": {\n \"logsFilter\": {\n \"simpleFilter\": {\n \"labelFilters\": {\n \"applicationName\": [\n {\n \"value\": \"my-app\"\n }\n ],\n \"severities\": [],\n \"subsystemName\": [\n {\n \"value\": \"my-app\"\n }\n ]\n },\n \"luceneQuery\": \"<string>\"\n }\n },\n \"maxUniqueCountPerGroupByKey\": \"100\",\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"maxUniqueCount\": \"100\",\n \"timeWindow\": {}\n }\n }\n ],\n \"uniqueCountKeypath\": \"obj.field\"\n },\n \"metricAnomaly\": {\n \"anomalyAlertSettings\": {\n \"percentageOfDeviation\": 1\n },\n \"evaluationDelayMs\": 60000,\n \"metricFilter\": {\n \"promql\": \"avg_over_time(metric_name[5m]) > 10\"\n },\n \"rules\": [\n {\n \"condition\": {\n \"forOverPct\": 20,\n \"minNonNullValuesPct\": 10,\n \"ofTheLast\": {\n \"metricTimeWindowDynamicDuration\": \"1h30m\"\n },\n \"threshold\": 10\n }\n }\n ]\n },\n \"metricThreshold\": {\n \"evaluationDelayMs\": 60000,\n \"metricFilter\": {\n \"promql\": \"avg_over_time(metric_name[5m]) > 10\"\n },\n \"missingValues\": {\n \"replaceWithZero\": true,\n \"minNonNullValuesPct\": 80\n },\n \"noDataPolicy\": {\n \"autoRetireSeconds\": 3600\n },\n \"rules\": [\n {\n \"condition\": {\n \"forOverPct\": 80,\n \"ofTheLast\": {\n \"metricTimeWindowDynamicDuration\": \"1h30m\"\n },\n \"threshold\": 100\n },\n \"override\": {}\n }\n ],\n \"undetectedValuesManagement\": {\n \"triggerUndetectedValues\": true\n }\n },\n \"name\": \"My Alert\",\n \"notificationGroup\": {\n \"destinations\": [\n {\n \"connectorId\": \"connector_id_example\",\n \"presetId\": \"preset_id_example\",\n \"resolvedRouteOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n },\n \"retriggeringPeriodMinutes\": 600,\n \"triggeredRoutingOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n }\n }\n ],\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"router\": {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n },\n \"webhooks\": [\n {\n \"integration\": {\n \"integrationId\": 123,\n \"recipients\": {\n \"emails\": [\n \"mail@gmail.com\"\n ]\n }\n },\n \"minutes\": 15\n }\n ]\n },\n \"notificationGroupExcess\": [\n {\n \"destinations\": [\n {\n \"connectorId\": \"connector_id_example\",\n \"presetId\": \"preset_id_example\",\n \"resolvedRouteOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n },\n \"retriggeringPeriodMinutes\": 600,\n \"triggeredRoutingOverrides\": {\n \"configOverrides\": {\n \"connectorConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"messageConfigFields\": [\n {\n \"fieldName\": \"description\",\n \"template\": \"template_example\"\n }\n ],\n \"payloadType\": \"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default\"\n }\n }\n }\n ],\n \"groupByKeys\": [\n \"key1\",\n \"key2\"\n ],\n \"router\": {\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n },\n \"webhooks\": [\n {\n \"integration\": {\n \"integrationId\": 123,\n \"recipients\": {\n \"emails\": [\n \"mail@gmail.com\"\n ]\n }\n },\n \"minutes\": 15\n }\n ]\n }\n ],\n \"phantomMode\": false,\n \"sloThreshold\": {\n \"errorBudget\": {\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ]\n },\n \"burnRate\": {\n \"dual\": {\n \"timeDuration\": {\n \"duration\": \"24\"\n }\n },\n \"rules\": [\n {\n \"condition\": {\n \"threshold\": 1\n },\n \"override\": {}\n }\n ],\n \"single\": {\n \"timeDuration\": {\n \"duration\": \"24\"\n }\n }\n },\n \"sloDefinition\": {\n \"sloId\": \"123e4567-e89b-12d3-a456-426614174000\"\n }\n },\n \"tracingImmediate\": {\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"tracingFilter\": {\n \"simpleFilter\": {\n \"latencyThresholdMs\": \"1000\",\n \"tracingLabelFilters\": {\n \"applicationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"operationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"serviceName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"spanFields\": [\n {\n \"filterType\": {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n },\n \"key\": \"span.field.key\"\n }\n ],\n \"subsystemName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ]\n }\n }\n }\n },\n \"tracingThreshold\": {\n \"notificationPayloadFilter\": [\n \"obj.field\"\n ],\n \"rules\": [\n {\n \"condition\": {\n \"conditionType\": \"TRACING_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED\",\n \"spanAmount\": 100,\n \"timeWindow\": {}\n }\n }\n ],\n \"tracingFilter\": {\n \"simpleFilter\": {\n \"latencyThresholdMs\": \"1000\",\n \"tracingLabelFilters\": {\n \"applicationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"operationName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"serviceName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ],\n \"spanFields\": [\n {\n \"filterType\": {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n },\n \"key\": \"span.field.key\"\n }\n ],\n \"subsystemName\": [\n {\n \"values\": [\n \"value1\",\n \"value2\"\n ]\n }\n ]\n }\n }\n }\n }\n },\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"alertDefs": [
{
"alertDefProperties": {
"logsImmediate": {
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"notificationPayloadFilter": [
"obj.field"
]
},
"activeOn": {
"dayOfWeek": [
"DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED",
"DAY_OF_WEEK_TUESDAY"
],
"endTime": {
"hours": 14,
"minutes": 30
},
"startTime": {
"hours": 14,
"minutes": 30
}
},
"analyticsImmediate": {
"dataprimeQuery": {
"query": "source logs | filter severity == 'error' | count_agg_key by applicationName"
},
"evaluationDelayMs": 300000,
"noDataPolicy": {
"autoRetireSeconds": 3600
},
"timeframeMinutes": 60,
"useRowsAsPermutations": false
},
"analyticsThreshold": {
"dataprimeQuery": {
"query": "source logs | filter severity == 'error' | count_agg_key by applicationName"
},
"evaluationDelayMs": 300000,
"noDataPolicy": {
"autoRetireSeconds": 3600
},
"rules": [
{
"condition": {
"threshold": 100
},
"override": {}
}
],
"targetColumn": "error_count",
"timeframeMinutes": 60,
"useRowsAsPermutations": true
},
"dataSources": [
{
"dataSet": "<string>",
"dataSpace": "<string>"
}
],
"deleted": false,
"description": "Alert description",
"enabled": true,
"entityLabels": {},
"flow": {
"enforceSuppression": true,
"stages": [
{
"flowStagesGroups": {
"groups": [
{
"alertDefs": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"not": true
}
]
}
]
},
"timeframeMs": "<string>"
}
]
},
"groupByKeys": [
"key1",
"key2"
],
"incidentsSettings": {
"minutes": 30
},
"logsAnomaly": {
"anomalyAlertSettings": {
"percentageOfDeviation": 1
},
"evaluationDelayMs": 60000,
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"conditionType": "LOGS_ANOMALY_CONDITION_TYPE_MORE_THAN_USUAL_OR_UNSPECIFIED",
"minimumThreshold": 10,
"timeWindow": {}
}
}
]
},
"logsNewValue": {
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"keypathToTrack": "metadata.field",
"timeWindow": {}
}
}
]
},
"logsRatioThreshold": {
"denominator": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"denominatorAlias": "denominator_alias",
"evaluationDelayMs": 60000,
"ignoreInfinity": true,
"notificationPayloadFilter": [
"obj.field"
],
"numerator": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"numeratorAlias": "numerator_alias",
"rules": [
{
"condition": {
"threshold": 10,
"timeWindow": {}
},
"override": {}
}
],
"undetectedValuesManagement": {
"triggerUndetectedValues": true
}
},
"logsThreshold": {
"evaluationDelayMs": 60000,
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"noDataPolicy": {
"autoRetireSeconds": 3600
},
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"threshold": 100,
"timeWindow": {}
},
"override": {}
}
],
"undetectedValuesManagement": {
"triggerUndetectedValues": true
}
},
"logsTimeRelativeThreshold": {
"evaluationDelayMs": 60000,
"ignoreInfinity": true,
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"threshold": 1
},
"override": {}
}
],
"undetectedValuesManagement": {
"triggerUndetectedValues": true
}
},
"logsUniqueCount": {
"logsFilter": {
"simpleFilter": {
"labelFilters": {
"applicationName": [
{
"value": "my-app"
}
],
"severities": [],
"subsystemName": [
{
"value": "my-app"
}
]
},
"luceneQuery": "<string>"
}
},
"maxUniqueCountPerGroupByKey": "100",
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"maxUniqueCount": "100",
"timeWindow": {}
}
}
],
"uniqueCountKeypath": "obj.field"
},
"metricAnomaly": {
"anomalyAlertSettings": {
"percentageOfDeviation": 1
},
"evaluationDelayMs": 60000,
"metricFilter": {
"promql": "avg_over_time(metric_name[5m]) > 10"
},
"rules": [
{
"condition": {
"forOverPct": 20,
"minNonNullValuesPct": 10,
"ofTheLast": {
"metricTimeWindowDynamicDuration": "1h30m"
},
"threshold": 10
}
}
]
},
"metricThreshold": {
"evaluationDelayMs": 60000,
"metricFilter": {
"promql": "avg_over_time(metric_name[5m]) > 10"
},
"missingValues": {
"replaceWithZero": true,
"minNonNullValuesPct": 80
},
"noDataPolicy": {
"autoRetireSeconds": 3600
},
"rules": [
{
"condition": {
"forOverPct": 80,
"ofTheLast": {
"metricTimeWindowDynamicDuration": "1h30m"
},
"threshold": 100
},
"override": {}
}
],
"undetectedValuesManagement": {
"triggerUndetectedValues": true
}
},
"name": "My Alert",
"notificationGroup": {
"destinations": [
{
"connectorId": "connector_id_example",
"presetId": "preset_id_example",
"resolvedRouteOverrides": {
"configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
}
},
"retriggeringPeriodMinutes": 600,
"triggeredRoutingOverrides": {
"configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
}
}
}
],
"groupByKeys": [
"key1",
"key2"
],
"router": {
"id": "123e4567-e89b-12d3-a456-426614174000"
},
"webhooks": [
{
"integration": {
"integrationId": 123,
"recipients": {
"emails": [
"mail@gmail.com"
]
}
},
"minutes": 15
}
]
},
"notificationGroupExcess": [
{
"destinations": [
{
"connectorId": "connector_id_example",
"presetId": "preset_id_example",
"resolvedRouteOverrides": {
"configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
}
},
"retriggeringPeriodMinutes": 600,
"triggeredRoutingOverrides": {
"configOverrides": {
"connectorConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"messageConfigFields": [
{
"fieldName": "description",
"template": "template_example"
}
],
"payloadType": "slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"
}
}
}
],
"groupByKeys": [
"key1",
"key2"
],
"router": {
"id": "123e4567-e89b-12d3-a456-426614174000"
},
"webhooks": [
{
"integration": {
"integrationId": 123,
"recipients": {
"emails": [
"mail@gmail.com"
]
}
},
"minutes": 15
}
]
}
],
"phantomMode": false,
"sloThreshold": {
"errorBudget": {
"rules": [
{
"condition": {
"threshold": 1
},
"override": {}
}
]
},
"burnRate": {
"dual": {
"timeDuration": {
"duration": "24"
}
},
"rules": [
{
"condition": {
"threshold": 1
},
"override": {}
}
],
"single": {
"timeDuration": {
"duration": "24"
}
}
},
"sloDefinition": {
"sloId": "123e4567-e89b-12d3-a456-426614174000"
}
},
"tracingImmediate": {
"notificationPayloadFilter": [
"obj.field"
],
"tracingFilter": {
"simpleFilter": {
"latencyThresholdMs": "1000",
"tracingLabelFilters": {
"applicationName": [
{
"values": [
"value1",
"value2"
]
}
],
"operationName": [
{
"values": [
"value1",
"value2"
]
}
],
"serviceName": [
{
"values": [
"value1",
"value2"
]
}
],
"spanFields": [
{
"filterType": {
"values": [
"value1",
"value2"
]
},
"key": "span.field.key"
}
],
"subsystemName": [
{
"values": [
"value1",
"value2"
]
}
]
}
}
}
},
"tracingThreshold": {
"notificationPayloadFilter": [
"obj.field"
],
"rules": [
{
"condition": {
"conditionType": "TRACING_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED",
"spanAmount": 100,
"timeWindow": {}
}
}
],
"tracingFilter": {
"simpleFilter": {
"latencyThresholdMs": "1000",
"tracingLabelFilters": {
"applicationName": [
{
"values": [
"value1",
"value2"
]
}
],
"operationName": [
{
"values": [
"value1",
"value2"
]
}
],
"serviceName": [
{
"values": [
"value1",
"value2"
]
}
],
"spanFields": [
{
"filterType": {
"values": [
"value1",
"value2"
]
},
"key": "span.field.key"
}
],
"subsystemName": [
{
"values": [
"value1",
"value2"
]
}
]
}
}
}
}
},
"alertVersionId": "<string>",
"createdTime": "2023-10-01T12:00:00.000Z",
"id": "123e4567-e89b-12d3-a456-426614174000",
"lastTriggeredTime": "2023-10-01T12:00:00.000Z",
"updatedTime": "2023-10-01T12:00:00.000Z"
}
],
"failedToReplaceAlertDefs": [
{
"id": "123e4567-e89b-12d3-a456-426614174000"
}
],
"notFoundIds": [
"123e4567-e89b-12d3-a456-426614174000"
],
"skippedIds": [
"123e4567-e89b-12d3-a456-426614174000"
]
}{
"code": 349,
"message": "<string>"
}{
"code": 349,
"message": "<string>"
}{
"code": 349,
"message": "<string>"
}Authorizations
API key authentication
Body
application/json
A request to bulk replace multiple alert definitions
List of alert definitions to replace
Maximum array length:
1000Show child attributes
Show child attributes
Response
A response that contains the results of the bulk replace operation
List of successfully replaced alert definitions
Maximum array length:
1000Show child attributes
Show child attributes
List of alert definitions that failed to be replaced
Maximum array length:
1000Show child attributes
Show child attributes
List of alert definition IDs that were not found
Maximum array length:
1000List of alert definition IDs that were not found
Required string length:
1 - 36Pattern:
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$Example:
["123e4567-e89b-12d3-a456-426614174000"]
List of alert definition IDs that were skipped (no changes detected)
Maximum array length:
1000List of alert definition IDs that were skipped (no changes detected)
Required string length:
1 - 36Pattern:
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$Example:
["123e4567-e89b-12d3-a456-426614174000"]
Was this page helpful?
⌘I