Skip to content

MonitoringPlugin ko KR

ArchiBot edited this page Aug 9, 2026 · 9 revisions

MonitoringPlugin

MonitoringPlugin ์€ ๊ณต์‹ ASF ํ”Œ๋Ÿฌ๊ทธ์ธ ์œผ๋กœ, Prometheus ์‹œ๊ณ„์—ด(time-series) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ†ตํ•ด ASF ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.


์Šคํฌ๋ฆฐ์ƒท

๋ณด๊ธฐ

screenshot


์š”๊ตฌ์‚ฌํ•ญ

๊ธฐ์ˆ ์  ์ œ์•ฝ ์œผ๋กœ ์ธํ•ด, ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ASF์˜ generic ๋ฒ„์ „์„ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค.


ํ”Œ๋Ÿฌ๊ทธ์ธ ํ™œ์„ฑํ™”ํ•˜๊ธฐ

ASF๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ MonitoringPlugin ์„ ํ•จ๊ป˜ ์ œ๊ณตํ•˜์ง€ ์•Š์ง€๋งŒ , ๋ชจ๋“  ASF ๋ฆด๋ฆฌ์Šค์— ์„ ํƒ์  ์ถ”๊ฐ€ ์š”์†Œ๋กœ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์ค‘์ธ ASF ๋ฒ„์ „๊ณผ ์ผ์น˜ํ•˜๋Š” ๊ณต์‹ ๋ฆด๋ฆฌ์Šค ์—์„œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋‹ค์šด๋กœ๋“œํ•œ ๋‹ค์Œ, ํ•ด๋‹น ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์œ„ํ•œ ์ „์šฉ plugins/ArchiSteamFarm.OfficialPlugins.Monitoring ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ทธ๊ณณ์— ์••์ถ• ํŒŒ์ผ์„ ํ’€๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ASF ์‹คํ–‰ ์‹œ, ํ‘œ์ค€ ASF ๋กœ๊น… ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ๋กœ๊ทธ์—์„œ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์„ฑ๊ณต์ ์œผ๋กœ ๋กœ๋“œ๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. IPC ์ธํ„ฐํŽ˜์ด์Šค์—์„œ /Api/metrics URL๋กœ ์ด๋™ํ•˜์—ฌ ์ด๋ฅผ ํ™•์ธํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. IPC ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๋ผ๋ฉด ์ ์ ˆํ•œ ์ธ์ฆ์ด ํ•„์š”ํ•˜๋ฉฐ, ์˜ˆ๋ฅผ ๋“ค์–ด /Api/metrics URL์— ?password=<YourIPCPassword> ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ‘œ์‹œ๋˜๋Š” ๋‚ด์šฉ์€ ์•„๋ž˜์™€ ์œ ์‚ฌํ•œ ํ˜•ํƒœ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค:

# TYPE asf_build_info gauge
# HELP asf_build_info Build information about ASF in form of label values
asf_build_info{variant="source",version="6.0.2.5"} 1 1713715703686

# TYPE asf_runtime_info gauge
# HELP asf_runtime_info Runtime information about ASF in form of label values
asf_runtime_info{framework=".NET 8.0.4",operating_system="Debian GNU/Linux trixie/sid",runtime="linux-x64"} 1 1713715703686
(...)

ASF ๋ฐ ๋ด‡๊ณผ ๊ด€๋ จ๋œ ์ง€ํ‘œ(metrics)๋Š” ์ด๋ฆ„์— ์ „์šฉ ์ ‘๋‘์‚ฌ(prefix) asf_ ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. .NET ๋Ÿฐํƒ€์ž„์ด๋‚˜ ASF์˜ HttpClient ์™€ ๊ด€๋ จ๋œ ๊ทธ ์™ธ์˜ ์ง€ํ‘œ๋“ค์€ ๋ฒ”์šฉ .NET ํ”„๋กœ์„ธ์Šค ๊ทœ์น™์— ๋”ฐ๋ผ ์ž๋™ ์ƒ์„ฑ๋˜๋ฉฐ, ์ด๋Ÿฌํ•œ ์ ‘๋‘์‚ฌ๋ฅผ ๊ฐ–์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


Prometheus ์„ค์ •

ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค๋ฉด, Prometheus ์ธ์Šคํ„ด์Šค์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด scrape ์„ค์ •์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

scrape_configs:
  - job_name: ArchiSteamFarm
    metric_name_escaping_scheme: underscores # Remove if using Prometheus V2.x - read more below
    metrics_path: /Api/metrics
    params:
      password:
        - YourIPCPassword
    static_configs:
      - targets:
          - 127.0.0.1:1242

๋‹น์—ฐํžˆ, ํ˜ธ์ŠคํŒ… ์ค‘์ธ Prometheus ์ธ์Šคํ„ด์Šค๊ฐ€ ASF์˜ IPC ์ธํ„ฐํŽ˜์ด์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ ํ•˜๋ฉฐ, password์™€ targets๋Š” ์‚ฌ์šฉ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์กฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. IPC ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ(๊ถŒ์žฅํ•˜์ง€ ์•Š์Œ), params ์„น์…˜ ์ถ”๊ฐ€๋Š” ์ƒ๋žตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ IPC ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์—ฌ๋Ÿฌ ASF ์ธ์Šคํ„ด์Šค๋ฅผ ์šด์˜ ์ค‘์ธ ๊ฒฝ์šฐ, ์ฟผ๋ฆฌ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” target๋ณ„๋กœ ์„ค์ •ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ธ์Šคํ„ด์Šค๋งˆ๋‹ค ํ•˜๋‚˜์”ฉ ์ถ”๊ฐ€์ ์ธ scrape ์„ค์ •์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด, ๋™์ผํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ targets ๋ฅผ ํ•จ๊ป˜ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Grafana ๋Œ€์‹œ๋ณด๋“œ

Prometheus๊ฐ€ ์ง€ํ‘œ(metrics)๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ๋‚˜๋ฉด, Grafana ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ๊ฐํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ํ‘œ์ค€ IPC ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ์ œ๊ณต๋˜๋Š” /grafana-dashboard.json ํŒŒ์ผ์„ ํ•จ๊ป˜ ์ œ๊ณตํ•˜๋ฏ€๋กœ, ๊ธฐ๋ณธ ์„ค์ •์œผ๋กœ ASF ์ธ์Šคํ„ด์Šค๋ฅผ ์‹คํ–‰ ์ค‘์ด๋ผ๋ฉด ์—ฌ๊ธฐ ์—์„œ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š”, ์ €ํฌ ์ €์žฅ์†Œ(repository) ์—์„œ๋„ JSON ํŒŒ์ผ์„ ๋ฐ›์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Prometheus, Grafana ๋Œ€์‹œ๋ณด๋“œ ๋ฐ ๋ฉ”ํŠธ๋ฆญ ์ด์Šค์ผ€์ดํ•‘ ๋ฐฉ์‹

ASF๋Š” V6.3.8.4๋ถ€ํ„ฐ ๋‹ค์–‘ํ•œ ๋ฉ”ํŠธ๋ฆญ ์ด์Šค์ผ€์ดํ•‘ ๋ฐฉ์‹์„ ์ง€์›ํ•˜๋ฉฐ, V6.3.9.4๋ถ€ํ„ฐ๋Š” ํ†ตํ•ฉ๋œ ์™„์ „ํ•œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค (#3607 ์˜ ์ผํ™˜).

๋‹ค๋งŒ ์ด๋กœ ์ธํ•ด Grafana ๋Œ€์‹œ๋ณด๋“œ์— ์•ฝ๊ฐ„์˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ์ด๋Š” ์ •์ƒ ์ž‘๋™์„ ์œ„ํ•ด Prometheus๊ฐ€ ํŒŒ์‹ฑํ•˜๋Š” ์ •ํ™•ํ•œ ๋ฉ”ํŠธ๋ฆญ ์ด๋ฆ„์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋ฉฐ, ํ•ด๋‹น ์†Œํ”„ํŠธ์›จ์–ด๋Š” V2.x์™€ V3.x ๋ฒ„์ „์— ๋”ฐ๋ผ ๊ธฐ๋ณธ ๋™์ž‘ ๋ฐฉ์‹์ด ์„œ๋กœ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ UTF-8 Prometheus ๋ฌธ์„œ ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

Prometheus V3.x๊ฐ€ ๋„๋ฆฌ ๋ณด๊ธ‰๋  ๋•Œ๊นŒ์ง€ (ํ˜„์žฌ๋Š” debian stable์„ ๊ธฐ์ค€์œผ๋กœ ํ•จ), ์ €ํฌ๋Š” ๊ธฐ์กด(legacy) ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰:

  • ์ €ํฌ Grafana ๋Œ€์‹œ๋ณด๋“œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Prometheus V2.x๊ฐ€ ์ธ์‹ํ•˜๋Š” ๋ฐ‘์ค„(underscore) ์ด๋ฆ„ ๋ฐฉ์‹์œผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค
  • Prometheus V3.x๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ์œ„ ์˜ˆ์‹œ์™€ ๊ฐ™์ด ASF ์Šคํฌ๋ž˜ํ•‘ ์„ค์ •์— metric_name_escaping_scheme: underscores๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”

์ด๋Š” Prometheus V3.x๋Š” ๊ธฐ์กด(legacy) ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋„๋ก ์‰ฝ๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ˜๋ฉด, Prometheus V2.x๋Š” ์ƒˆ๋กœ์šด ๋ฐฉ์‹์„ ๊ฐ•์ œ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…๋ณ„(job-specific) ์˜ต์…˜์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

ํ–ฅํ›„ ์ €ํฌ๋Š” Grafana ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์ƒˆ๋กœ ๊ถŒ์žฅ๋˜๋Š” ๊ธฐ๋ณธ๊ฐ’์— ๋งž๊ฒŒ ๋ฆฌํŒฉํ„ฐ๋งํ•  ์˜ˆ์ •์ด๋ฉฐ, ์ด ๊ฒฝ์šฐ ํ•ด๋‹น ์„ค์ •์€ ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ ๊ทธ๋ ‡๊ฒŒ ๋ณ€๊ฒฝํ•˜๋ฉด ๊ธฐ์กด Prometheus ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์–ด ์•„์ง์€ ์ ์ ˆํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฌผ๋ก  ASF ์ž์ฒด์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๋‹ค์–‘ํ•œ ํฌ๋งท ์˜ต์…˜์„ ๋ชจ๋‘ ์ง€์›ํ•˜๋ฏ€๋กœ, ์›ํ•˜์‹œ๋Š” ๋ฐฉ์‹์„ ์ž์œ ๋กญ๊ฒŒ ์„ ํƒํ•˜์—ฌ Grafana ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์ง์ ‘ ๋งž์ถฐ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค - ์ €ํฌ๋Š” ๊ทธ์ € ๊ฐ„๋‹จํ•œ ํ•œ ์ค„์งœ๋ฆฌ ์„ค์ • ๋ณ€๊ฒฝ ๊ถŒ์žฅ ์‚ฌํ•ญ์œผ๋กœ ์ด๋ฅผ ์ข€ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด๋“œ๋ฆฌ๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค.

en-US de-DE es-ES lol-US
pt-BR ru-RU zh-CN zh-TW

๐Ÿ‘จโ€๐Ÿซ ๊ธฐ๋ณธ

๐Ÿ‘จโ€๐ŸŽ“๏ธ ๋ฉ”์ธ

๐Ÿง™ ๊ณ ๊ธ‰

๐Ÿ‘ท ๊ฐœ๋ฐœ์ž

Clone this wiki locally