From 59c946aa4885b130dc60bce25fd16790f601592f Mon Sep 17 00:00:00 2001 From: "taekyu.kang" Date: Mon, 8 Apr 2024 17:41:21 +0900 Subject: [PATCH] tirivial. update message for systemNotification --- internal/usecase/system-notification-rule.go | 20 ++++++++++---------- scripts/init_postgres.sql | 18 +++++++++++++++++- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/internal/usecase/system-notification-rule.go b/internal/usecase/system-notification-rule.go index 5631e33e..7a03c18f 100644 --- a/internal/usecase/system-notification-rule.go +++ b/internal/usecase/system-notification-rule.go @@ -194,8 +194,8 @@ func (u *SystemNotificationRuleUsecase) MakeDefaultSystemNotificationRules(ctx c EnablePortal: true, }, TargetUsers: []model.User{organizationAdmin}, - MessageTitle: "스택 (<>)의 노드(<>)의 idle process의 cpu 점유율이 3분 동안 0% 입니다. (현재 사용률 {{$value}})", - MessageContent: "워커 노드 CPU가 과부하 상태입니다. 일시적인 서비스 Traffic 증가, Workload의 SW 오류, Server HW Fan Fail등 다양한 원인으로 인해 발생할 수 있습니다.", + MessageTitle: "CPU 사용량이 높습니다", + MessageContent: "스택 (<>)의 노드(<>)의 idle process의 cpu 점유율이 3분 동안 0% 입니다. (현재 사용률 {{$value}}). 워커 노드 CPU가 과부하 상태입니다. 일시적인 서비스 Traffic 증가, Workload의 SW 오류, Server HW Fan Fail등 다양한 원인으로 인해 발생할 수 있습니다.", MessageActionProposal: "일시적인 Service Traffic의 증가가 관측되지 않았다면, Alert발생 노드에서 실행 되는 pod중 CPU 자원을 많이 점유하는 pod의 설정을 점검해 보시길 제안드립니다. 예를 들어 pod spec의 limit 설정으로 과도한 CPU자원 점유을 막을 수 있습니다.", Status: domain.SystemNotificationRuleStatus_PENDING, CreatorId: organization.AdminId, @@ -219,8 +219,8 @@ func (u *SystemNotificationRuleUsecase) MakeDefaultSystemNotificationRules(ctx c EnablePortal: true, }, TargetUsers: []model.User{organizationAdmin}, - MessageTitle: "스택 (<>)의 노드(<>)의 Memory 사용량이 3분동안 80% 를 넘어서고 있습니다. (현재 사용률 {{$value}})", - MessageContent: "워커 노드의 Memory 사용량이 80%를 넘었습니다. 일시적인 서비스 증가 및 SW 오류등 다양한 원인으로 발생할 수 있습니다.", + MessageTitle: "메모리 사용량이 높습니다", + MessageContent: "스택 (<>)의 노드(<>)의 Memory 사용량이 3분동안 80% 를 넘어서고 있습니다. (현재 사용률 {{$value}}). 워커 노드의 Memory 사용량이 80%를 넘었습니다. 일시적인 서비스 증가 및 SW 오류등 다양한 원인으로 발생할 수 있습니다.", MessageActionProposal: "일시적인 Service Traffic의 증가가 관측되지 않았다면, Alert발생 노드에서 실행되는 pod중 Memory 사용량이 높은 pod들에 대한 점검을 제안드립니다.", Status: domain.SystemNotificationRuleStatus_PENDING, CreatorId: organization.AdminId, @@ -244,8 +244,8 @@ func (u *SystemNotificationRuleUsecase) MakeDefaultSystemNotificationRules(ctx c EnablePortal: true, }, TargetUsers: []model.User{organizationAdmin}, - MessageTitle: "지난 6시간동안의 추세로 봤을 때, 스택 (<>)의 노드(<>)의 root 볼륨은 24시간 안에 Disk full이 예상됨", - MessageContent: "현재 Disk 사용 추세기준 24시간 내에 Disk 용량이 꽉 찰 것으로 예상됩니다.", + MessageTitle: "노드 디스크 사용량이 높습니다.", + MessageContent: "지난 6시간동안의 추세로 봤을 때, 스택 (<>)의 노드(<>)의 root 볼륨은 24시간 안에 Disk full이 예상됨. 현재 Disk 사용 추세기준 24시간 내에 Disk 용량이 꽉 찰 것으로 예상됩니다.", MessageActionProposal: "Disk 용량 최적화(삭제 및 Backup)을 수행하시길 권고합니다. 삭제할 내역이 없으면 증설 계획을 수립해 주십시요.", Status: domain.SystemNotificationRuleStatus_PENDING, CreatorId: organization.AdminId, @@ -269,8 +269,8 @@ func (u *SystemNotificationRuleUsecase) MakeDefaultSystemNotificationRules(ctx c EnablePortal: true, }, TargetUsers: []model.User{organizationAdmin}, - MessageTitle: "지난 6시간동안의 추세로 봤을 때, 스택 (<>)의 파드(<>)가 24시간 안에 Disk full이 예상됨", - MessageContent: "현재 Disk 사용 추세기준 24시간 내에 Disk 용량이 꽉 찰것으로 예상됩니다. (<> 스택, <> PVC)", + MessageTitle: "PVC 사용량이 높습니다.", + MessageContent: "지난 6시간동안의 추세로 봤을 때, 스택 (<>)의 파드(<>)가 24시간 안에 Disk full이 예상됨. 현재 Disk 사용 추세기준 24시간 내에 Disk 용량이 꽉 찰것으로 예상됩니다. (<> 스택, <> PVC)", MessageActionProposal: "Disk 용량 최적화(삭제 및 Backup)을 수행하시길 권고합니다. 삭제할 내역이 없으면 증설 계획을 수립해 주십시요.", Status: domain.SystemNotificationRuleStatus_PENDING, CreatorId: organization.AdminId, @@ -294,8 +294,8 @@ func (u *SystemNotificationRuleUsecase) MakeDefaultSystemNotificationRules(ctx c EnablePortal: true, }, TargetUsers: []model.User{organizationAdmin}, - MessageTitle: "스택 (<>)의 파드(<>)가 30분 동안 5회 이상 재기동 ({{$value}} 회)", - MessageContent: "특정 Pod가 빈번하게 재기동 되고 있습니다. 점검이 필요합니다. (<> 스택, <> 파드)", + MessageTitle: "스택의 Pod가 재기동되고 있습니다.", + MessageContent: "스택 (<>)의 파드(<>)가 30분 동안 5회 이상 재기동 ({{$value}} 회). 특정 Pod가 빈번하게 재기동 되고 있습니다. 점검이 필요합니다. (<> 스택, <> 파드)", MessageActionProposal: "pod spec. 에 대한 점검이 필요합니다. pod의 log 및 status를 확인해 주세요.", Status: domain.SystemNotificationRuleStatus_PENDING, CreatorId: organization.AdminId, diff --git a/scripts/init_postgres.sql b/scripts/init_postgres.sql index e0feb969..1949a37e 100644 --- a/scripts/init_postgres.sql +++ b/scripts/init_postgres.sql @@ -65,7 +65,9 @@ values ('1ec08b58-2fe1-49c5-bbab-3544ec8ce330', 'node-disk-full', 'node-disk-ful insert into system_notification_templates ( id, name, description, is_system, metric_query, creator_id, updator_id, created_at, updated_at ) values ('68dcb92d-91cc-47d0-9b2f-2285d74f157f', 'pvc-full', 'pvc-full', true, 'predict_linear(kubelet_volume_stats_available_bytes[6h], 24*3600)', null, null, now(), now() ); insert into system_notification_templates ( id, name, description, is_system, metric_query, creator_id, updator_id, created_at, updated_at ) -values ('46e9e216-364a-4a3f-9182-85b2c4c34f77', 'pod-restart-frequently', true, 'pod-restart-frequently', 'increase(kube_pod_container_status_restarts_total{namespace!="kube-system"}[60m:])', null, null, now(), now() ); +values ('46e9e216-364a-4a3f-9182-85b2c4c34f77', 'pod-restart-frequently', 'pod-restart-frequently', true, 'increase(kube_pod_container_status_restarts_total{namespace!="kube-system"}[60m:])', null, null, now(), now() ); +insert into system_notification_templates ( id, name, description, is_system, metric_query, creator_id, updator_id, created_at, updated_at ) +values ('7355d0f9-7c14-4f70-92ea-a9868624ff82', 'policy-audited', 'policy-audited', true, 'opa_scorecard_constraint_violations{namespace!="kube-system|taco-system|gatekeeper-system"}', null, null, now(), now() ); ## SystemNotificationTemplates -> SystemNotificationMetricParameters insert into system_notification_metric_parameters ( "order", system_notification_template_id, key, value, created_at, updated_at ) @@ -90,3 +92,17 @@ insert into system_notification_metric_parameters ( "order", system_notification values ( 1, '46e9e216-364a-4a3f-9182-85b2c4c34f77', 'POD', '$labels.pod', now(), now() ); insert into system_notification_metric_parameters ( "order", system_notification_template_id, key, value, created_at, updated_at ) values ( 2, '46e9e216-364a-4a3f-9182-85b2c4c34f77', 'NAMESPACE', '$labels.namespace', now(), now() ); +values ( 0, '7355d0f9-7c14-4f70-92ea-a9868624ff82', 'STACK', '$labels.taco_cluster', now(), now() ); +insert into system_notification_metric_parameters ( "order", system_notification_template_id, key, value, created_at, updated_at ) +values ( 1, '7355d0f9-7c14-4f70-92ea-a9868624ff82', 'NAME', '$labels.name', now(), now() ); +insert into system_notification_metric_parameters ( "order", system_notification_template_id, key, value, created_at, updated_at ) +values ( 2, '7355d0f9-7c14-4f70-92ea-a9868624ff82', 'KIND', '$labels.kind', now(), now() ); +insert into system_notification_metric_parameters ( "order", system_notification_template_id, key, value, created_at, updated_at ) +values ( 3, '7355d0f9-7c14-4f70-92ea-a9868624ff82', 'VIOLATING_KIND', '$labels.violating_kind', now(), now() ); +insert into system_notification_metric_parameters ( "order", system_notification_template_id, key, value, created_at, updated_at ) +values ( 4, '7355d0f9-7c14-4f70-92ea-a9868624ff82', 'VIOLATING_NAMESPACE', '$labels.violating_namespace', now(), now() ); +insert into system_notification_metric_parameters ( "order", system_notification_template_id, key, value, created_at, updated_at ) +values ( 5, '7355d0f9-7c14-4f70-92ea-a9868624ff82', 'VIOLATING_NAME', '$labels.violating_name', now(), now() ); +insert into system_notification_metric_parameters ( "order", system_notification_template_id, key, value, created_at, updated_at ) +values ( 6, '7355d0f9-7c14-4f70-92ea-a9868624ff82', 'VIOLATION_MSG', '$labels.violation_msg', now(), now() ); +insert into system_notification_metric_parameters ( "order", system_notification_template_id, key, value, created_at, updated_at )