• /
  • EnglishEspaรฑolFranรงaisๆ—ฅๆœฌ่ชžํ•œ๊ตญ์–ดPortuguรชs
  • ๋กœ๊ทธ์ธ์ง€๊ธˆ ์‹œ์ž‘ํ•˜๊ธฐ

์‚ฌ์šฉ์ž์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด ์ œ๊ณต๋˜๋Š” ๊ธฐ๊ณ„ ๋ฒˆ์—ญ์ž…๋‹ˆ๋‹ค.

์˜๋ฌธ๋ณธ๊ณผ ๋ฒˆ์—ญ๋ณธ์ด ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์˜๋ฌธ๋ณธ์ด ์šฐ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋ณด๋‹ค ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด ํŽ˜์ด์ง€๋ฅผ ๋ฐฉ๋ฌธํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋ฌธ์ œ ์‹ ๊ณ 

Argo CD ํ†ตํ•ฉ

Argo CD๋Š” ์‹คํ–‰ ์ค‘์ธ ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ง€์†์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๋ผ์ด๋ธŒ ์ƒํƒœ๋ฅผ Git ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ง€์ •๋œ ์›ํ•˜๋Š” ์ƒํƒœ์™€ ๋น„๊ตํ•˜๋Š” Kubernetes ์ปจํŠธ๋กค๋Ÿฌ์ž…๋‹ˆ๋‹ค.

k8s ํด๋Ÿฌ์Šคํ„ฐ์˜ Argo CD ์ธํ”„๋ผ๋ฅผ ๋” ์ž˜ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด New Relic์„ ์‚ฌ์šฉํ•˜์—ฌ Prometheus ๋ฉ”ํŠธ๋ฆญ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋ด…๋‹ˆ๋‹ค. New Relic์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋™๊ธฐํ™” ์ƒํƒœ
  • Argo CD ์ปจํŠธ๋กค๋Ÿฌ ํ†ต๊ณ„
  • Argo CD ์„œ๋ฒ„ ํ†ต๊ณ„
  • ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ํ†ต๊ณ„
Argo CD Dashboard

ํ†ตํ•ฉ ํ™œ์„ฑํ™”

ํ†ตํ•ฉ์„ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์‹ญ์‹œ์˜ค.

  1. Argo CD์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฉ”ํŠธ๋ฆญ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๋ ค๋ฉด Argo CD ์„ค๋ช…์„œ๋ฅผ ๋”ฐ๋ฅด์‹ญ์‹œ์˜ค.

  2. Prometheus ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. Prometheus ์ง€ํ‘œ๋Š” New Relic๊ณผ ํ†ตํ•ฉ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Kubernetes์šฉ Prometheus ์—์ด์ „ํŠธ ๋˜๋Š” Prometheus Remote Write ํ†ตํ•ฉ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Prometheus ๋ฉ”ํŠธ๋ฆญ์„ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    ์ค‘์š”

    Prometheus ์—์ด์ „ํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ผ๋ จ์˜ ํ†ตํ•ฉ ์—์„œ ๋ฉ”ํŠธ๋ฆญ๋งŒ ์Šคํฌ๋žฉํ•ฉ๋‹ˆ๋‹ค.

    ์ด ๊ฒฝ์šฐ argocd ๋ฌธ์ž์—ด์„ ํฌํ•จํ•˜๋Š” app.kubernetes.io/name , app.newrelic.io/name , k8s-app ๋ ˆ์ด๋ธ” ์ค‘ ํ•˜๋‚˜๋กœ ํฌ๋“œ ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‹๋ณ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  3. ๋‹ค์Œ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”ํŠธ๋ฆญ์ด ์˜ˆ์ƒ๋Œ€๋กœ ์ˆ˜์ง‘๋˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    FROM Metric SELECT count(*) WHERE instrumentation.name = 'remote-write' AND metricName LIKE 'argocd_%' FACET metricName LIMIT MAX
  4. ๋‚ด์žฅ๋œ ๋ฐ ์•Œ๋ฆผ ์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด Argo CD ํ€ต์Šคํƒ€ํŠธ๋ฅผ ์„ค์น˜ํ•˜์„ธ์š”.

    ๊ฐ€์ ธ์˜จ ํ›„์—๋Š” ์ž์‚ฐ์„ ํŽธ์ง‘ํ•˜๊ฑฐ๋‚˜ ๋ณต์ œํ•˜์—ฌ ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์— ๋งž๊ฒŒ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ค‘์š”

    ๋Œ€์‹œ๋ณด๋“œ์˜ ์ผ๋ถ€ ์ฐจํŠธ์—๋Š” argocd ๋ฌธ์ž์—ด์„ ํฌํ•จํ•˜๋Š” app.kubernetes.io/name , app.newrelic.io/name , k8s-app ๋ ˆ์ด๋ธ” ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŸ(Pod) ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‹๋ณ„ํ•ด์•ผ ํ•˜๋Š” ์กฐ๊ฑด์ด ์žˆ๋Š” ์ฟผ๋ฆฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”ํŠธ๋ฆญ ์ฐพ๊ธฐ ๋ฐ ์‚ฌ์šฉ

Prometheus ๋ฉ”ํŠธ๋ฆญ์€ ์ฐจ์› ๋ฉ”ํŠธ๋ฆญ์œผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. NRQL์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฟผ๋ฆฌ ํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ ํƒ์ƒ‰๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”ํŠธ๋ฆญ, ํŒจ์‹ฏ์„ ์ฐพ์•„๋ณด๊ณ  ๊ด€๋ จ ์ฐจ์›๋ณ„๋กœ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํ†ตํ•ฉ์— ์˜ํ•ด ๋…ธ์ถœ๋˜๋Š” ๋‹ค์–‘ํ•œ ๋ฉ”ํŠธ๋ฆญ ์„ธํŠธ๋Š” Argo CD ์„ค๋ช…์„œ์— ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ NRQL ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ New Relic์—์„œ ์ˆ˜์ง‘๋˜๋Š” ๋ฉ”ํŠธ๋ฆญ์„ ์ดํ•ดํ•˜์‹ญ์‹œ์˜ค.

  • ๊ณ ์œ ํ•œ ์ธก์ •ํ•ญ๋ชฉ ์ด๋ฆ„ ๋‚˜์—ด:

    FROM Metric SELECT uniques(metricName) WHERE instrumentation.name = 'remote-write' AND metricName LIKE 'argocd_%' LIMIT MAX
  • ๋ถ„๋‹น ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ:

    FROM Metric SELECT rate(datapointcount(), 1 minute) WHERE instrumentation.name = 'remote-write' AND metricName LIKE 'argocd_%' LIMIT MAX
  • ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ์ถ”์ •(์ผ์ผ ์ˆ˜์ง‘, ๋ฐ”์ดํŠธ ๋‹จ์œ„):

    FROM Metric SELECT bytecountestimate() WHERE instrumentation.name = 'remote-write' AND metricName LIKE 'argocd_%' SINCE 1 day ago

๋ฌธ์ œ์  ํ•ด๊ฒฐ

  • ์ด ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ Argo CD Prometheus ์—”๋“œํฌ์ธํŠธ๊ฐ€ Argo CD๋กœ ๊ตฌ์„ฑ๋œ ๋ชจ๋“  K8s ๋…ธ๋“œ์—์„œ ๋ฉ”ํŠธ๋ฆญ์„ ๋‚ด๋ณด๋‚ด๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    bash
    $
    curl <Argo CD-Pod-IP>:8082/metrics
  • Prometheus ํ†ตํ•ฉ์— ๋Œ€ํ•œ ํŠน์ • ๋ฌธ์ œ ํ•ด๊ฒฐ ์ง€์นจ์„ ํ™•์ธํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Copyright ยฉ 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.