NewRelic

NewRelic

이 알림 서비스는 배포(deployment) 정보를 New Relic에 기록해요. New Relic API Key와 API 서버 URL을 설정하고, 배포 revision·설명·changelog·사용자 같은 메타데이터를 템플릿으로 채울 수 있어요.

출처: 문서

본문

파라미터 (Parameters)

  • apiURL — API 서버 URL, 예: https://api.newrelic.com
  • apiKeyNewRelic ApiKey
  • maxIdleConns — 선택 사항, 모든 호스트에 걸친 최대 유휴(keep-alive) 연결 수
  • maxIdleConnsPerHost — 선택 사항, 호스트당 최대 유휴(keep-alive) 연결 수
  • maxConnsPerHost — 선택 사항, 호스트당 최대 총 연결 수
  • idleConnTimeout — 선택 사항, 유휴(keep-alive) 연결이 닫히기 전에 유지되는 최대 시간, 예: '90s'

설정 (Configuration)

  1. NewRelic API Key를 생성해요.
  2. argocd-notifications-secret Secret에 apiKey를 저장하고 argocd-notifications-cm ConfigMap에 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: ***
  1. Application ID를 복사해요.
  2. 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선택 사항, 배포와 연결할 사용자 이름. SummaryDeployments 페이지에서 보여요.
    • 기본값은 {{(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 배포 페이지에 기록할 메타데이터를 지정해요.

더 알아보기 (Learn more)

  • 구독 — New Relic 통합 구독 설정.
  • 템플릿 — 알림 템플릿 형식.