PagerDuty V2 알림 서비스
PagerDuty V2 알림 서비스 (PagerDuty V2)
PagerDuty V2 서비스는 Events API v2 통합을 사용해 PagerDuty 이벤트를 트리거해요. 여러 Argo 앱이 각자의 PagerDuty 서비스로 이벤트를 보내려면 서비스별 통합 키를 만들고 serviceKeys 사전에 매핑하면 돼요.
출처: 문서
본문
파라미터 (Parameters)
PagerDuty 알림 서비스는 PagerDuty 이벤트를 트리거하는 데 사용되며 다음 설정을 지정해야 해요:
serviceKeys- 다음 구조를 가진 사전:service-name: $pagerduty-key-service-name— 여기서service-name은 이벤트를 보낼 서비스에 사용하려는 이름이고,$pagerduty-key-service-name은 실제 PagerDuty 통합 키(Events API v2 통합)를 담고 있는 시크릿에 대한 참조예요
여러 Argo 앱이 각자의 PagerDuty 서비스로 이벤트를 트리거하려면, 알림을 설정하려는 각 서비스에 통합 키를 만들어요.
PagerDuty 통합 키를 만들려면 다음 지침을 따라 원하는 서비스에 Events API v2 통합을 추가하세요.
구성 (Configuration)
다음 스니펫은 샘플 PagerDuty 서비스 구성을 담고 있어요. 알림을 보내려는 서비스 이름이 my-service라고 가정해요.
apiVersion: v1
kind: Secret
metadata:
name: <secret-name>
stringData:
pagerduty-key-my-service: <pd-integration-key>
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-notifications-cm
data:
service.pagerdutyv2: |
serviceKeys:
my-service: $pagerduty-key-my-service
템플릿 (Template)
알림 템플릿은 PagerDuty 알림에 대한 요약(subject/summary) 지정을 지원해요:
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-notifications-cm
data:
template.rollout-aborted: |
message: Rollout {{.rollout.metadata.name}} is aborted.
pagerdutyv2:
summary: "Rollout {{.rollout.metadata.name}} is aborted."
severity: "critical"
source: "{{.rollout.metadata.name}}"
템플릿의 PagerDuty 구성 파라미터는 일반적으로 Events API v2 엔드포인트의 페이로드와 일치해요. 모든 파라미터는 문자열이에요.
summary- (필수) 이벤트의 간단한 텍스트 요약. 관련 알림의 요약/제목을 생성하는 데 사용돼요.severity- (필수) 영향받는 시스템에 대한 이벤트의 인지된 심각도. 허용 값:critical,warning,error,infosource- (필수) 영향받는 시스템의 고유 위치. 가급적 호스트 이름 또는 FQDN.component- 이벤트를 담당하는 소스 머신의 컴포넌트group- 서비스 컴포넌트의 논리적 그룹class- 이벤트의 클래스/유형url- PagerDuty에서 "View in ArgoCD" 링크에 사용되어야 하는 URLdedupKey- PagerDuty가 이벤트를 중복 제거하고 연관시키는 데 사용하는 문자열. 같은dedupKey를 가진 이벤트는 같은 인시던트로 그룹화돼요. 생략하면 PagerDuty가 각 이벤트에 대해 새 인시던트를 만들어요.
timestamp와 custom_details 파라미터는 현재 지원되지 않아요.
어노테이션 (Annotation)
PagerDuty 알림을 위한 어노테이션 예시:
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
annotations:
notifications.argoproj.io/subscribe.on-rollout-aborted.pagerdutyv2: "<serviceID for PagerDuty>"
더 알아보기 (Learn more)
- 이 문서의 원문: PagerDuty V2
- Argo CD 공식 문서: https://argo-cd.readthedocs.io