Datadog 연동

πŸ“˜

핡클을 μ™ΈλΆ€ μ„œλΉ„μŠ€μ™€ μ—°λ™ν•˜μ—¬ 더 νŽΈλ¦¬ν•˜κ²Œ μ‚¬μš©ν•΄λ³΄μ„Έμš”.

Datadog 곡식 연동은 μ—”ν„°ν”„λΌμ΄μ¦ˆ ν”ŒλžœμΈ κ²½μš°μ— μ‚¬μš©ν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€.

Datadog

Datadog은 SaaS 기반 λŒ€κ·œλͺ¨ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 및 인프라λ₯Ό μœ„ν•œ λͺ¨λ‹ˆν„°λ§ 및 뢄석 톡합 ν”Œλž«νΌμž…λ‹ˆλ‹€. μ„œλ²„, μ»¨ν…Œμ΄λ„ˆ, λ°μ΄ν„°λ² μ΄μŠ€ 및 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ‹€μ‹œκ°„ μ§€ν‘œλ₯Ό 좔적할 수 있고, 이λ₯Ό 핡클 데이터와 ν†΅ν•©ν•˜μ—¬ λΆ„μ„ν•¨μœΌλ‘œμ¨ κΈ°λŠ₯ ν”Œλž˜κ·Έμ˜ 점진적 μΆœμ‹œμ— λ”°λ₯Έ μ„œλΉ„μŠ€ λͺ¨λ‹ˆν„°λ§μ΄ κ°€λŠ₯ν•΄μ§‘λ‹ˆλ‹€.

Datadog 연동

Datadog 연동을 μœ„ν•΄μ„œλŠ” Datadog의 API Key 정보λ₯Ό 핡클 λŒ€μ‹œλ³΄λ“œμ— μž…λ ₯ν•΄μ•Ό ν•©λ‹ˆλ‹€.

Datadog API Key λ³΅μ‚¬ν•˜κΈ°

Datadog에 μ ‘μ†ν•˜μ—¬ Organization Settings > API Keys λ©”λ‰΄μ—μ„œ API Keyλ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. Organization Settings λ©”λ‰΄λŠ” 쒌츑 ν•˜λ‹¨μ˜ λ‚΄ 이메일 계정에 마우슀λ₯Ό ν˜Έλ²„ν•˜λ©΄ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

메뉴 -> μ„€μ • -> νŒŒνŠΈλ„ˆ λ§ˆμΌ“ν”Œλ ˆμ΄μŠ€ 이동

Organization Settings > API Keys

핡클 λŒ€μ‹œλ³΄λ“œμ— Datadog API Key μž…λ ₯

λ³΅μ‚¬ν•œ Datadog API Keyλ₯Ό 핡클 λŒ€μ‹œλ³΄λ“œμ— μž…λ ₯ν•©λ‹ˆλ‹€. 우츑 상단에 μœ„μΉ˜ν•œ μ„€μ • μ•„μ΄μ½˜μ„ ν΄λ¦­ν•˜κ³ , μ™ΈλΆ€ 연동 λ©”λ‰΄μ—μ„œ Datadog 연동을 μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ•„λž˜ μ΄λ―Έμ§€μ˜ Datadog μ—°λ™ν™”λ©΄μ—μ„œ API Keyλ₯Ό μž…λ ₯ν•˜κ³  'μ—°λ™ν•˜κΈ°' λ²„νŠΌμ„ ν΄λ¦­ν•˜λ©΄ 연동 섀정이 μ™„λ£Œλ©λ‹ˆλ‹€.

νŒŒνŠΈλ„ˆ λ§ˆμΌ“ν”Œλ ˆμ΄μŠ€ 이동

μ„€μ • (우츑 상단 GNB에 μœ„μΉ˜) > μ™ΈλΆ€ 연동

Datadog 으둜 μ „μ†‘ν•˜λŠ” ν•­λͺ©

Datadog 연동이 μ™„λ£Œλ˜λ©΄ μš΄μ˜ν™˜κ²½μ—μ„œ λ°œμƒν•œ κΈ°λŠ₯ν”Œλž˜κ·Έ λ…ΈμΆœ 이벀트λ₯Ό μ „μ†‘ν•˜κ²Œ λ©λ‹ˆλ‹€. 이 μ™Έμ˜ μ΄λ²€νŠΈλ„ 전솑 κ°€λŠ₯ν•˜λ©°, 섀정이 ν•„μš”ν•œ 경우 핡클 νŒ€μ— 문의 뢀탁 λ“œλ¦½λ‹ˆλ‹€.

ꡬ뢄기본값선택 κ°€λŠ₯ν•œ ν•­λͺ©
이벀트기λŠ₯ν”Œλž˜κ·Έ 이벀트기λŠ₯ν”Œλž˜κ·Έ, A/B ν…ŒμŠ€νŠΈ, 원격ꡬ성, μ‚¬μš©μž 행동 이벀트
μ„€μ •λ³€κ²½κΈ°λŠ₯ν”Œλž˜κ·Έ μΆœμ‹œ λΉ„μœ¨(Rollout %), κΈ°λŠ₯ν”Œλž˜κ·Έ μƒνƒœ(On/Off)-
ν™˜κ²½μš΄μ˜ν™˜κ²½μš΄μ˜ν™˜κ²½, κ°œλ°œν™˜κ²½

Datadogμ—μ„œ 확인 κ°€λŠ₯ν•œ ν•­λͺ©

Datadog으둜 μ „μ†‘λœ 핡클 κΈ°λŠ₯ ν”Œλž˜κ·Έ λ“±μ˜ 이벀트λ₯Ό ν™œμš©ν•˜μ—¬ Dashboardλ₯Ό 생성할 수 μžˆμŠ΅λ‹ˆλ‹€. Datadogμ—μ„œ μˆ˜μ§‘λ˜λŠ” 데이터λ₯Ό 기반으둜 생성 κ°€λŠ₯ν•œ λͺ¨λ‹ˆν„°λ§ μ°¨νŠΈμ™€ 핡클 데이터λ₯Ό 기반으둜 생성 κ°€λŠ₯ν•œ κΈ°λŠ₯ ν”Œλž˜κ·Έ 차트λ₯Ό ν†΅ν•©ν•˜μ—¬ Dashboardλ₯Ό κ΅¬μ„±ν•˜μ—¬ μ„œλΉ„μŠ€ λͺ¨λ‹ˆν„°λ§μ„ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μœ„ μŠ€ν¬λ¦°μƒ· λ‚΄ μœ„μ ― λͺ…μΉ­μ„€λͺ…
κΈ°λŠ₯ν”Œλž˜κ·Έ Rollout μ„€μ • λ³€κ²½ 횟수기λŠ₯ν”Œλž˜κ·Έ μƒνƒœ (On/Off), μΆœμ‹œ λΉ„μœ¨ (Rollout %) ν˜Ήμ€ νƒ€κ²ŸνŒ… 쑰건 (Targeting Rule) 변경이 λ°œμƒν•œ 횟수λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.
κΈ°λŠ₯ν”Œλž˜κ·Έ λΆ„λ°° 이벀트 λ°œμƒ 횟수기λŠ₯ν”Œλž˜κ·Έ λΆ„λ°° μ΄λ²€νŠΈκ°€ λ°œμƒν•œ 횟수λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.
κΈ°λŠ₯ν”Œλž˜κ·Έ Rollout μ„€μ • 변경핡클 λŒ€μ‹œλ³΄λ“œμ—μ„œ κΈ°λŠ₯ν”Œλž˜κ·Έ μƒνƒœ, μΆœμ‹œλΉ„μœ¨, νƒ€κ²ŸνŒ… 쑰건을 λ³€κ²½ν•œ 이λ ₯을 λ…ΈμΆœν•©λ‹ˆλ‹€.

Datadogμ—μ„œ κΈ°λŠ₯ν”Œλž˜κ·Έ λΆ„λ°° 이벀트 λ°œμƒ ν˜„ν™© λͺ¨λ‹ˆν„°λ§ν•˜κΈ°

πŸ“˜

Add Widgets > Graphs > Timeseries λ₯Ό μ„ νƒν•©λ‹ˆλ‹€.

νŠΉμ • μ‹œμ μ— κΈ°λŠ₯ν”Œλž˜κ·Έ 호좜이 μ–΄λ””μ—μ„œ, μ–Όλ§ˆλ‚˜ λ°œμƒν–ˆλŠ”μ§€ ν™•μΈν•˜μ—¬ μ–Όλ§ˆλ‚˜ λ§Žμ€ 고객이 영ν–₯도λ₯Ό λ°›μ•˜λŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.Metrics > hackle.feature_flag.count λ₯Ό μ„ νƒν•˜λ©΄ κΈ°λŠ₯ν”Œλž˜κ·Έ λΆ„λ°° 이벀트 λ°œμƒνšŸμˆ˜λ₯Ό 확인할 수 μžˆλŠ” μœ„μ ―μ„ 생성할 수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, μ•„λž˜μ˜ λ³€μˆ˜λ₯Ό ν™œμš©ν•˜μ—¬ νŠΉμ • 쑰건의 κΈ°λŠ₯ν”Œλž˜κ·Έ λΆ„λ°° 이벀트 λ°œμƒμ„ λͺ¨λ‹ˆν„°λ§ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • key: κΈ°λŠ₯ν”Œλž˜κ·Έ ν‚€ (예: 15번)
  • variation: λΆ„λ°°κ²°κ³Ό (true/false)
  • decision_reason: λΆ„λ°°μ‚¬μœ  κΈ°λŠ₯ ν”Œλž˜κ·Έ κ²°μ •
  • environment: ν™˜κ²½ (production/development)
hackle.feature_flag.count

κΈ°λŠ₯ν”Œλž˜κ·Έ λΆ„λ°° 이벀트 λ°œμƒνšŸμˆ˜λ₯Ό ν™•μΈν•˜κΈ° μœ„ν•œ Datadog Widget μ„€μ • μ˜ˆμ‹œ

Datadogμ—μ„œ κΈ°λŠ₯ν”Œλž˜κ·Έ Rollout μ„€μ • λ³€κ²½ λͺ¨λ‹ˆν„°λ§ν•˜κΈ°

πŸ“˜

Add Widgets > Graphs > Timeseries ν˜Ήμ€ List and Streams > List둜 κ°€λŠ₯ν•©λ‹ˆλ‹€.

νŠΉμ • μ‹œμ μ— μ–΄λ–€ κΈ°λŠ₯ν”Œλž˜κ·Έμ˜ Rollout 쑰건이 λ³€κ²½λ˜μ—ˆλŠ”μ§€ 확인할 수 있고, 이λ₯Ό 톡해 Datadogμ—μ„œ λͺ¨λ‹ˆν„°λ§ν•˜κ³  μžˆλŠ” μš”μ†Œλ“€κ³Όμ˜ 인과관계λ₯Ό μΆ”μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. Events > source:hackle λ₯Ό μž…λ ₯ν•˜λ©΄ 핡클 λŒ€μ‹œλ³΄λ“œμ—μ„œ μ—”μ§€λ‹ˆμ–΄κ°€ κΈ°λŠ₯ν”Œλž˜κ·Έμ˜ μƒνƒœ, μΆœμ‹œ λΉ„μœ¨, νƒ€κ²ŸνŒ… 쑰건을 λ³€κ²½ν•  λ•Œλ§ˆλ‹€ Event 1건이 Datadog으둜 μ „μ†‘λ©λ‹ˆλ‹€. (예: κΈ°λŠ₯ν”Œλž˜κ·Έ μΆœμ‹œλΉ„μœ¨μ„ 0% β†’ 30%둜 λ³€κ²½)

κΈ°λŠ₯ν”Œλž˜κ·Έ Rollout μ„€μ • 쑰건 변경을 λͺ¨λ‹ˆν„°λ§ν•  수 μžˆλŠ” Datadog Widget μ„€μ • μ˜ˆμ‹œ

κΈ°λŠ₯ν”Œλž˜κ·Έ Rollout μ„€μ • λ³€κ²½ 횟수λ₯Ό 확인할 수 μžˆλŠ” Datadog Widget (Graph > Timeseries) μ„€μ • μ˜ˆμ‹œ

그리고 λˆ„κ°€, μ–Έμ œ, μ–΄λ–»κ²Œ νŠΉμ • κΈ°λŠ₯ν”Œλž˜κ·Έμ˜ Rollout 쑰건을 λ³€κ²½ν–ˆλŠ”μ§€ ν™•μΈν•˜κΈ° μœ„ν•΄ List ν˜•νƒœμ˜ Widget을 μƒμ„±ν•˜μ—¬ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

κΈ°λŠ₯ν”Œλž˜κ·Έ Rollout μ„€μ • λ³€κ²½ νžˆμŠ€ν† λ¦¬λ₯Ό 확인할 수 μžˆλŠ” Datadog Widget (List and Streams > List) μ„€μ • μ˜ˆμ‹œ

κΈ°λŠ₯ν”Œλž˜κ·Έ Rollout μ„€μ • λ³€κ²½ νžˆμŠ€ν† λ¦¬λ₯Ό 확인할 수 μžˆλŠ” Datadog Widget (List and Streams > List) μ„€μ • μ˜ˆμ‹œ

Reporting format size λ₯Ό Large (full event) 둜 μ„ νƒν•˜λ©΄ μ•„λž˜ 이미지와 같이 Widgetμ—μ„œ κΈ°λŠ₯ν”Œλž˜κ·Έ Rollout μ„€μ • 변경에 λŒ€ν•œ 정보λ₯Ό μƒμ„Έν•˜κ²Œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.