Grafana

Grafana

argocd-notifications로 Grafana에 어노테이션을 만들려면 먼저 Grafana 안에서 API Key를 생성해야 해요. 이 API Key로 Grafana 서버 URL과 인증을 설정하면, Argo CD 애플리케이션 이벤트를 Grafana에 어노테이션으로 기록할 수 있어요.

출처: 문서

본문

argocd-notifications로 Grafana 어노테이션을 만들려면 Grafana 안에서 API Key를 생성해야 해요.

sample

사용 가능한 파라미터:

  • apiURL — 서버 URL, 예: https://grafana.example.com
  • apiKey — serviceaccount용 API key
  • insecureSkipVerify — 선택 사항(bool), true 또는 false
  • maxIdleConns — 선택 사항, 모든 호스트에 걸친 최대 유휴(keep-alive) 연결 수
  • maxIdleConnsPerHost — 선택 사항, 호스트당 최대 유휴(keep-alive) 연결 수
  • maxConnsPerHost — 선택 사항, 호스트당 최대 총 연결 수
  • idleConnTimeout — 선택 사항, 유휴(keep-alive) 연결이 닫히기 전에 유지되는 최대 시간

설정 절차는 다음과 같아요.

  • Grafana 인스턴스에 admin으로 로그인
  • 왼쪽 메뉴에서 Configuration / API Keys로 이동
  • "Add API Key" 클릭
  • Key를 이름 ArgoCD Notification, 역할 Editor, Time to Live 10y(예시)로 입력
  • Add 버튼 클릭
  • argocd-notifications-secret Secret에 apiKey를 저장하고, API Key를 복사해 argocd-notifications-cm ConfigMap에 정의
apiVersion: v1
kind: ConfigMap
metadata:
  name: argocd-notifications-cm
data:
  service.grafana: |
    apiUrl: https://grafana.example.com/api
    apiKey: ***
apiVersion: v1
kind: Secret
metadata:
  name: <secret-name>
stringData:
  grafana-api-key: ***
  1. argo-notifications-cm ConfigMap에 템플릿을 생성해요. 이 템플릿은 어노테이션의 (필수) 텍스트를 Grafana에 전달하는 데 사용돼요(기존 템플릿을 재사용해도 돼요). Grafana 전용 템플릿은 없으므로 일반적인(generic) message를 사용해야 해요.
apiVersion: v1
kind: ConfigMap
metadata:
  name: argocd-notifications-cm
data:
  templates:
    template.app-deployed: |
      message: Application {{.app.metadata.name}} is now running new version of deployments manifests.
  1. Grafana 통합을 위한 구독(subscription)을 생성해요.
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  annotations:
    notifications.argoproj.io/subscribe.<trigger-name>.grafana: tag1|tag2 # list of tags separated with |
  1. 어노테이션 설정을 변경해요. 8

service.grafana로 서버 연결·API key를 설정하고, 구독 어노테이션으로 어노테이션에 기록할 태그 목록(|로 구분)을 지정하는 구조예요.

더 알아보기 (Learn more)

  • 구독 — 트리거·서비스·수신자 연결 방식.
  • 템플릿 — Grafana에 기록할 메시지 형식 작성법.