NewRelic
NewRelic
이 알림 서비스는 배포(deployment) 정보를 New Relic에 기록해요. New Relic API Key와 API 서버 URL을 설정하고, 배포 revision·설명·changelog·사용자 같은 메타데이터를 템플릿으로 채울 수 있어요.
출처: 문서
본문
파라미터 (Parameters)
apiURL— API 서버 URL, 예: https://api.newrelic.comapiKey— NewRelic ApiKeymaxIdleConns— 선택 사항, 모든 호스트에 걸친 최대 유휴(keep-alive) 연결 수maxIdleConnsPerHost— 선택 사항, 호스트당 최대 유휴(keep-alive) 연결 수maxConnsPerHost— 선택 사항, 호스트당 최대 총 연결 수idleConnTimeout— 선택 사항, 유휴(keep-alive) 연결이 닫히기 전에 유지되는 최대 시간, 예:'90s'
설정 (Configuration)
- NewRelic API Key를 생성해요.
argocd-notifications-secretSecret에 apiKey를 저장하고argocd-notifications-cmConfigMap에 NewRelic 통합을 설정해요.
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-notifications-cm
data:
service.newrelic: |
apiURL: <api-url>
apiKey: ***
apiVersion: v1
kind: Secret
metadata:
name: <secret-name>
stringData:
newrelic-apiKey: ***
- Application ID를 복사해요.
- NewRelic 통합을 위한 구독(subscription)을 생성해요.
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
annotations:
notifications.argoproj.io/subscribe.<trigger-name>.newrelic: <app-id>
템플릿 (Templates)
revision— 선택 사항, 배포되는 revision. 특정 애플리케이션 상태 구조에서 revision을 추출하는 커스텀 템플릿을 포함할 수 있어요.- 기본값은
{{.app.status.operationState.syncResult.revision}}
- 기본값은
description— 선택 사항, 이 배포에 대한 개괄 설명. Summary 페이지와 Deployments 페이지에서 개별 배포를 선택했을 때 보여요.- 기본값은
message
- 기본값은
changelog— 선택 사항, 이 배포에서 무엇이 바뀌었는지 요약. Deployments 페이지에서 (선택한 배포) > Change log를 선택하면 보여요.- 기본값은
{{(call .repo.GetCommitMetadata .app.status.sync.revision).Message}}
- 기본값은
user— 선택 사항, 배포와 연결할 사용자 이름. Summary와 Deployments 페이지에서 보여요.- 기본값은
{{(call .repo.GetCommitMetadata .app.status.sync.revision).Author}}
- 기본값은
context: |
argocdUrl: https://example.com/argocd
template.app-deployed: |
message: Application {{.app.metadata.name}} has successfully deployed.
newrelic:
description: Application {{.app.metadata.name}} has successfully deployed
template.<이름>.newrelic 블록에 description, revision, changelog, user 등을 넣어 New Relic 배포 페이지에 기록할 메타데이터를 지정해요.