-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
MonitoringPlugin ko KR
MonitoringPlugin ์ ๊ณต์ ASF ํ๋ฌ๊ทธ์ธ ์ผ๋ก, Prometheus ์๊ณ์ด(time-series) ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํตํด ASF ํ๋ก์ธ์ค๋ฅผ ๋ชจ๋ํฐ๋งํ ์ ์๊ฒ ํด์ค๋๋ค.
๋ณด๊ธฐ

๊ธฐ์ ์ ์ ์ฝ ์ผ๋ก ์ธํด, ์ด ํ๋ฌ๊ทธ์ธ์ 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 ์ธ์คํด์ค์ ๋ค์๊ณผ ๊ฐ์ด 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 ๋ฅผ ํจ๊ป ์ ์ธํ ์ ์์ต๋๋ค.
Prometheus๊ฐ ์งํ(metrics)๋ฅผ ์์งํ๊ณ ๋๋ฉด, Grafana ๋ฅผ ์ฌ์ฉํ์ฌ ์๊ฐํํ ์ ์์ต๋๋ค. ์ด ํ๋ฌ๊ทธ์ธ์ ํ์ค IPC ๋ฉ์ปค๋์ฆ์ ํตํด ์ ๊ณต๋๋ /grafana-dashboard.json ํ์ผ์ ํจ๊ป ์ ๊ณตํ๋ฏ๋ก, ๊ธฐ๋ณธ ์ค์ ์ผ๋ก ASF ์ธ์คํด์ค๋ฅผ ์คํ ์ค์ด๋ผ๋ฉด ์ฌ๊ธฐ ์์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. ๋๋, ์ ํฌ ์ ์ฅ์(repository) ์์๋ JSON ํ์ผ์ ๋ฐ์ผ์ค ์ ์์ต๋๋ค.
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 ๋์๋ณด๋๋ฅผ ์ง์ ๋ง์ถฐ ์ฌ์ฉํ์ค ์๋ ์์ต๋๋ค - ์ ํฌ๋ ๊ทธ์ ๊ฐ๋จํ ํ ์ค์ง๋ฆฌ ์ค์ ๋ณ๊ฒฝ ๊ถ์ฅ ์ฌํญ์ผ๋ก ์ด๋ฅผ ์ข ๋ ์ฝ๊ฒ ๋ง๋ค์ด๋๋ฆฌ๋ ๊ฒ๋ฟ์ ๋๋ค.
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|
- ๐ก ํ
- ๐ฌ ์์ฃผ ๋ฌป๋ ์ง๋ฌธ
- โ๏ธ ์์ํ๊ธฐ (์ฌ๊ธฐ์๋ถํฐ)
- ๐ฅ ๋ฐฑ๊ทธ๋ผ์ด๋ ๊ฒ์ ๋ฑ๋ก๊ธฐ
- ๐ข ๋ช ๋ น์ด
- ๐ ๏ธํธํ์ฑ
- ๐ง ํ๊ฒฝ์ค์
- ๐ด ItemsMatcherPlugin
- ๐ ๊ด๋ฆฌ
- โฑ๏ธ ์ฑ๋ฅ
- ๐ก ์๊ฒฉ ํต์
- ๐ช Steam ๊ฐ์กฑ ๊ณต์
- ๐ ๊ฑฐ๋
- โจ๏ธ ๋ช ๋ น์ค ์ธ์
- ๐ง ์ฌ์ฉ ์ค๋จ
- ๐ณ Docker
- ๐ค ํ์ฅ๋ ์์ฃผ ๋ฌป๋ ์ง๋ฌธ
- ๐ ๊ณ ์ฑ๋ฅ ์ค์
- ๐ IPC
- ๐ ํ์งํ
- ๐ ๋ก๊น
- ๐พ ์ ์ฌ์ ๋ฉ๋ชจ๋ฆฌ ํ๊ฒฝ ์ค์
- ๐ต๐ผโโ๏ธ MonitoringPlugin
- ๐ ํ๋ฌ๊ทธ์ธ
- ๐ ๋ณด์
- โฌ๏ธ SteamTokenDumperPlugin
- ๐ฆ ์๋ ํํฐ
- ๐ต 2๋จ๊ณ ์ธ์ฆ







