Skip to content

Commit b7e26fa

Browse files
feat: sysdig update (#12)
1 parent a4142af commit b7e26fa

5 files changed

Lines changed: 18 additions & 8 deletions

File tree

.github/workflows/merge.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,15 @@ jobs:
8080
# unset or monitoring/alerts/ is empty — adoption is gradual. Alert
8181
# templates live in monitoring/alerts/ in this repo; add or remove files
8282
# there to customize the alert set.
83+
#
84+
# This repo is backend-only and deploys a single Deployment named
85+
# <app>-<zone> (nr-user-lookup-api-prod) — there is no component segment in
86+
# the name. So `components` is pinned to one entry (the action defaults to
87+
# `frontend,backend`, which would create a phantom frontend alert set), and
88+
# the queries in monitoring/alerts/*.json target __APP__-prod directly
89+
# rather than the action's usual __APP__-__COMPONENT__-prod. The value below
90+
# only shapes the alert names (<app>-backend-<rule>); don't reintroduce
91+
# __COMPONENT__ into the queries.
8392
monitor-prod:
8493
name: Sysdig Monitor (PROD)
8594
needs: [deploy-prod]
@@ -95,6 +104,7 @@ jobs:
95104
sysdig_api_token: ${{ secrets.SYSDIG_API_TOKEN }}
96105
oc_namespace: ${{ secrets.oc_namespace }}
97106
app: ${{ github.event.repository.name }}
107+
components: backend
98108

99109
promote:
100110
name: Promote Images

monitoring/alerts/crashloop.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"type": "PROMETHEUS",
33
"name": "__ALERT_NAME__",
4-
"description": "Container in __NAMESPACE__/__COMPONENT__ has been in CrashLoopBackOff for over __DURATION_MINUTES__ minutes.",
4+
"description": "Container in __NAMESPACE__/__APP__-prod has been in CrashLoopBackOff for over __DURATION_MINUTES__ minutes.",
55
"severity": "high",
66
"enabled": true,
77
"config": {
88
"duration": 0,
9-
"query": "max by (kube_deployment_name, kube_pod_name) (kube_pod_container_status_waiting_reason{reason=\"CrashLoopBackOff\", kube_namespace_name=\"__NAMESPACE__\", kube_deployment_name=\"__APP__-__COMPONENT__-prod\"}) > 0"
9+
"query": "max by (kube_deployment_name, kube_pod_name) (kube_pod_container_status_waiting_reason{reason=\"CrashLoopBackOff\", kube_namespace_name=\"__NAMESPACE__\", kube_deployment_name=\"__APP__-prod\"}) > 0"
1010
},
1111
"notificationChannelConfigList": [
1212
{ "type": "EMAIL", "channelId": 0 }

monitoring/alerts/nopods.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"type": "PROMETHEUS",
33
"name": "__ALERT_NAME__",
4-
"description": "__NAMESPACE__/__COMPONENT__ has had no available pods for over __DURATION_MINUTES__ minutes. Fires whatever the cause — crash, failed rollout, scaled to zero, or the Deployment no longer reporting at all.",
4+
"description": "__NAMESPACE__/__APP__-prod has had no available pods for over __DURATION_MINUTES__ minutes. Fires whatever the cause — crash, failed rollout, scaled to zero, or the Deployment no longer reporting at all.",
55
"severity": "high",
66
"enabled": true,
77
"config": {
88
"duration": 0,
9-
"query": "kube_deployment_status_replicas_available{kube_namespace_name=\"__NAMESPACE__\", kube_deployment_name=\"__APP__-__COMPONENT__-prod\"} == 0 or absent(kube_deployment_status_replicas_available{kube_namespace_name=\"__NAMESPACE__\", kube_deployment_name=\"__APP__-__COMPONENT__-prod\"})"
9+
"query": "kube_deployment_status_replicas_available{kube_namespace_name=\"__NAMESPACE__\", kube_deployment_name=\"__APP__-prod\"} == 0 or absent(kube_deployment_status_replicas_available{kube_namespace_name=\"__NAMESPACE__\", kube_deployment_name=\"__APP__-prod\"})"
1010
},
1111
"notificationChannelConfigList": [
1212
{ "type": "EMAIL", "channelId": 0 }

monitoring/alerts/replicas.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"type": "PROMETHEUS",
33
"name": "__ALERT_NAME__",
4-
"description": "Available replicas for __NAMESPACE__/__COMPONENT__ have been below desired for over __DURATION_MINUTES__ minutes.",
4+
"description": "Available replicas for __NAMESPACE__/__APP__-prod have been below desired for over __DURATION_MINUTES__ minutes.",
55
"severity": "high",
66
"enabled": true,
77
"config": {
88
"duration": 0,
9-
"query": "kube_deployment_status_replicas_available{kube_namespace_name=\"__NAMESPACE__\", kube_deployment_name=\"__APP__-__COMPONENT__-prod\"} < on (kube_namespace_name, kube_deployment_name) kube_deployment_spec_replicas{kube_namespace_name=\"__NAMESPACE__\", kube_deployment_name=\"__APP__-__COMPONENT__-prod\"}"
9+
"query": "kube_deployment_status_replicas_available{kube_namespace_name=\"__NAMESPACE__\", kube_deployment_name=\"__APP__-prod\"} < on (kube_namespace_name, kube_deployment_name) kube_deployment_spec_replicas{kube_namespace_name=\"__NAMESPACE__\", kube_deployment_name=\"__APP__-prod\"}"
1010
},
1111
"notificationChannelConfigList": [
1212
{ "type": "EMAIL", "channelId": 0 }

monitoring/alerts/restarts.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"type": "PROMETHEUS",
33
"name": "__ALERT_NAME__",
4-
"description": "Container in __NAMESPACE__/__COMPONENT__ has restarted more than once per minute for over __DURATION_MINUTES__ minutes.",
4+
"description": "Container in __NAMESPACE__/__APP__-prod has restarted more than once per minute for over __DURATION_MINUTES__ minutes.",
55
"severity": "medium",
66
"enabled": true,
77
"config": {
88
"duration": 0,
9-
"query": "sum by (kube_deployment_name, kube_pod_name) (rate(kube_pod_container_status_restarts_total{kube_namespace_name=\"__NAMESPACE__\", kube_deployment_name=\"__APP__-__COMPONENT__-prod\"}[5m])) * 60 > 1"
9+
"query": "sum by (kube_deployment_name, kube_pod_name) (rate(kube_pod_container_status_restarts_total{kube_namespace_name=\"__NAMESPACE__\", kube_deployment_name=\"__APP__-prod\"}[5m])) * 60 > 1"
1010
},
1111
"notificationChannelConfigList": [
1212
{ "type": "EMAIL", "channelId": 0 }

0 commit comments

Comments
 (0)