์๋
ํ์ธ์ ์ฌ๋ฌ๋ถ! ๊ทธ์
Graphite+Whisper์ ๋ฉํธ๋ฆญ ์ ์ฅ์์ Graphite+ClickHouse๋ก์ ์ ํ์ ์ด๋ป๊ฒ ๊ตฌ์ฑํ๋์ง ์ค๋ช ํ๊ธฐ ์ ์, ๊ทธ๋ฌํ ๊ฒฐ์ ์ ๋ด๋ฆฐ ์ด์ ์ ์ค๋ซ๋์ ์ฐ๋ฆฌ๊ฐ ํจ๊ป ์ด์์จ Whisper์ ๋จ์ ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ณ ์ถ์ต๋๋ค.
ํ์ฐ+์์ญ์ ๋ฌธ์
1. ๋์คํฌ ํ์ ์์คํ ์ ๋ถํ๊ฐ ๋์ต๋๋ค.
์ ํ ๋น์์๋ ๋ถ๋น ์ฝ 1.5๋ง ๊ฐ์ ์งํ๊ฐ ์ฐ๋ฆฌ์๊ฒ ๋์ฐฉํ์ต๋๋ค. ์ด๋ฌํ ํ๋ฆ์ผ๋ก ์ธํด ์๋ฒ์ ๋์คํฌ ํ์ฉ๋๋ ~30%์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๊ฒ์ ์๋นํ ์์ฉ ๊ฐ๋ฅํ ์์ค์ด์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ด ์์ ์ ์ผ๋ก ์๋ํ๊ณ , ๋น ๋ฅด๊ฒ ์์ฑ๋๊ณ , ๋น ๋ฅด๊ฒ ์ฝํ์ต๋๋ค. ๊ฐ๋ฐ ํ ์ค ํ๋๊ฐ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ์ํ๊ณ ๋ถ๋น ์ฒ๋ง ๊ฐ์ ์ธก์ ํญ๋ชฉ์ ๋ณด๋ด๊ธฐ ์์ํ ๋๊น์ง๋ ๋ง์ด์ฃ . ์ด๋ ๋์คํฌ ํ์ ์์คํ ์ด ๊ฐํ๋์ด 10% ํ์ฉ๋๋ฅผ ํ์ธํ์ต๋๋ค. ๋ฌธ์ ๋ ๋นจ๋ฆฌ ํด๊ฒฐ๋์ง๋ง, ์์ฌ๋ฌผ์ด ๋จ์์ต๋๋ค.
2. ๋ณต์ ๋ฐ ์ผ๊ด์ฑ ๋ถ์กฑ
์๋ง๋ Graphite+Whisper๋ฅผ ์ฌ์ฉ/์ฌ์ฉํ๋ ๋ชจ๋ ์ฌ๋๋ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฐ๋ฆฌ๋ ๋ด๊ฒฐํจ์ฑ์ ๋ง๋ค๊ธฐ ์ํด ๋์ผํ ๋ฉํธ๋ฆญ ์คํธ๋ฆผ์ ์ฌ๋ฌ Graphite ์๋ฒ์ ๋์์ ์์ ๋ถ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ค ์ด์ ๋ก ์๋ฒ ์ค ํ๋๊ฐ ์ถฉ๋ํ๋ ์๊ฐ๊น์ง ํน๋ณํ ๋ฌธ์ ๋ ์์์ต๋๋ค. ๋๋๋ก ์ฐ๋ฆฌ๋ ์์๋ ์๋ฒ๋ฅผ ์ ์ํ๊ฒ ๋ณต๊ตฌํ ์ ์์๊ณ carbon-c-relay๋ ์บ์์์ ๋ฉํธ๋ฆญ์ ํด๋น ์๋ฒ๋ก ๋ก๋ํ์ง๋ง ๋๋ก๋ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ๋ ์์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ธก์ ํญ๋ชฉ์ ๊ตฌ๋ฉ์ด ์์๋๋ฐ ์ฐ๋ฆฌ๋ ์ด๋ฅผ rsync๋ก ์ฑ์ ์ต๋๋ค. ์ ์ฐจ๊ฐ ๊ฝค ๊ธธ์์ต๋๋ค. ์ ์ผํ ๊ตฌ์์ ์ํ๋ ์ด๋ฐ ์ผ์ด ์์ฃผ ๋๋ฌผ๊ฒ ์ผ์ด๋ฌ๋ค๋ ๊ฒ์ ๋๋ค. ๋ํ ์ฃผ๊ธฐ์ ์ผ๋ก ์์์ ๋ฉํธ๋ฆญ ์ธํธ๋ฅผ ๊ฐ์ ธ์ ํด๋ฌ์คํฐ์ ์ด์ ๋ ธ๋์ ์๋ ๋์ผํ ์ ํ์ ๋ค๋ฅธ ๋ฉํธ๋ฆญ๊ณผ ๋น๊ตํ์ต๋๋ค. ์ฝ 5%์ ๊ฒฝ์ฐ์๋ ์ฌ๋ฌ ๊ฐ์ด ๋ฌ๋ผ์ ๊ทธ๋ค์ง ๋ง์กฑ์ค๋ฝ์ง ์์์ต๋๋ค.
3. ํฐ ์ค์น ๊ณต๊ฐ
์ฐ๋ฆฌ๋ ์ธํ๋ผ๋ฟ๋ง ์๋๋ผ ๋น์ฆ๋์ค ๋ฉํธ๋ฆญ(๊ทธ๋ฆฌ๊ณ ์ด์ Kubernetes์ ๋ฉํธ๋ฆญ)๋ Graphite๋ก ์์ฑํ๊ธฐ ๋๋ฌธ์ ๋ฉํธ๋ฆญ์ ๋ช ๊ฐ์ง ๊ฐ๋ง ํฌํจ๋๊ณ ๋ชจ๋ ๋ณด์กด์ ๊ณ ๋ คํ์ฌ .wsp ํ์ผ์ด ์์ฑ๋๋ ์ํฉ์ด ์์ฃผ ๋ฐ์ํฉ๋๋ค. ๊ธฐ๊ฐ์ด๋ฉฐ ์ฌ์ ํ ๋น๋ ๊ณต๊ฐ์ ์ฐจ์งํ๋ฉฐ ์ด๋ ~2MB์ ํด๋นํฉ๋๋ค. ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ ์ฌํ ํ์ผ์ด ๋ง์ด ๋ํ๋๊ณ ์ด์ ๋ํ ๋ณด๊ณ ์๋ฅผ ์์ฑํ ๋ ๋น ์ง์ ์ ์ฝ๋ ๋ฐ ๋ง์ ์๊ฐ๊ณผ ๋ฆฌ์์ค๊ฐ ์์๋๋ค๋ ์ฌ์ค๋ก ์ธํด ๋ฌธ์ ๋ ๋์ฑ ์ ํ๋ฉ๋๋ค.
์์์ ์ค๋ช ํ ๋ฌธ์ ๋ ๋ค์ํ ๋ฐฉ๋ฒ๊ณผ ๋ค์ํ ํจ์จ์ฑ์ผ๋ก ์ฒ๋ฆฌ๋ ์ ์์ง๋ง ๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊ธฐ ์์ํ ์๋ก ๋ฌธ์ ๊ฐ ๋ ์ ํ๋๋ค๋ ์ ์ ์ฆ์ ์ง์ ํ๊ณ ์ถ์ต๋๋ค.
์์ ์ฌํญ์ ๋ชจ๋ ๊ฐ์ถ ๊ฒฝ์ฐ(์ด์ ํญ๋ชฉ์ ๊ณ ๋ คํ์ฌ)
๊ทธ๋ํ์ดํธ+ํด๋ฆญํ์ฐ์ค. ๊ธฐ๋
Yandex์์ ์จ ์ฌ๋๋ค์ ์ฌ๋ฌ ๋ชจ์์ ๋ฐฉ๋ฌธํ๊ณ ,
๋๋ ๋ค์์ ๋ฐ๊ณ ์ถ์ต๋๋ค:
- ๋์คํฌ ํ์ ์์คํ ํ์ฉ๋๋ฅผ 30%์์ 5%๋ก ์ค์ ๋๋ค.
- ์ฐจ์งํ๋ ๊ณต๊ฐ์ 1TB์์ 100GB๋ก ์ค์ ๋๋ค.
- ๋ถ๋น 100์ต ๊ฐ์ ์งํ๋ฅผ ์๋ฒ๋ก ์์ ํ ์ ์์ต๋๋ค.
- ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ๋ณต์ ๋ฐ ๋ด๊ฒฐํจ์ฑ;
- ์ด ํ๋ก์ ํธ๋ฅผ XNUMX๋ ๋์ ์งํํ์ง ๋ง๊ณ ํฉ๋ฆฌ์ ์ธ ๊ธฐ๊ฐ ๋ด์ ์ ํํ์ญ์์ค.
- ๋ค์ดํ์ ์์ด ์ ํํ์ธ์.
๊ฝค ์ผ์ฌ์ฐฌ ์ผ์ด์ฃ ?
๊ทธ๋ํ์ดํธ+ํด๋ฆญํ์ฐ์ค. ๊ตฌ์ฑ์์
Graphite ํ๋กํ ์ฝ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ ์ดํ ClickHouse์ ๊ธฐ๋กํ๊ธฐ ์ํด ์ ๋ ๋ค์์ ์ ํํ์ต๋๋ค.
ClickHouse์ ์ต์ ๋ฆด๋ฆฌ์ค์ธ ์์ ๋ฒ์ 1.1.54253์ด ์๊ณ์ด ์ ์ฅ์ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ ํ๋์์ต๋๋ค. ์์
ํ ๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ๋ก๊ทธ์ ์ฐ๋๋ฏธ ๊ฐ์ ์ค๋ฅ๊ฐ ์์์ก๊ณ ์ด๋ฅผ ์ด๋ป๊ฒ ํด์ผ ํ ์ง ์์ ํ ๋ช
ํํ์ง ์์์ต๋๋ค. ์ ๋
ผ์ ์ค
ClickHouse์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋๋ก ์ ํ๋จ
๊ทธ๋ํ์ดํธ+ํด๋ฆญํ์ฐ์ค. ํ ์ด๋ธ ๊ตฌ์กฐ
"graphite"๋ ๋ชจ๋ํฐ๋ง ํ ์ด๋ธ์ ์ํด ๋ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค.
"graphite.metrics" - ReplicatedReplacingMergeTree ์์ง์ด ์๋ ํ
์ด๋ธ(๋ณต์ ๋จ
CREATE TABLE graphite.metrics ( Date Date, Level UInt32, Path String, Deleted UInt8, Version UInt32 ) ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/replicator/graphite.metrics', โr1โ, Date, (Level, Path), 8192, Version);
"graphite.data" - ReplicatedGraphiteMergeTree ์์ง์ด ์๋ ํ
์ด๋ธ(๋ณต์ ๋จ
CREATE TABLE graphite.data ( Path String, Value Float64, Time UInt32, Date Date, Timestamp UInt32 ) ENGINE = ReplicatedGraphiteMergeTree('/clickhouse/tables/replicator/graphite.data', 'r1', Date, (Path, Time), 8192, 'graphite_rollup')
"graphite.date_metrics"๋ ReplicatedReplacingMergeTree ์์ง์ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด๋ถ๋ก ์ฑ์์ง ํ
์ด๋ธ์
๋๋ค. ์ด ํ
์ด๋ธ์๋ ํ๋ฃจ ๋์ ๋ฐ์ํ ๋ชจ๋ ์ธก์ ํญ๋ชฉ์ ์ด๋ฆ์ด ๊ธฐ๋ก๋ฉ๋๋ค. ์์ฑ ์ด์ ๋ ์น์
์ ์ค๋ช
๋์ด ์์ต๋๋ค.
CREATE MATERIALIZED VIEW graphite.date_metrics ( Path String, Level UInt32, Date Date) ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/replicator/graphite.date_metrics', 'r1', Date, (Level, Path, Date), 8192) AS SELECT toUInt32(length(splitByChar('.', Path))) AS Level, Date, Path FROM graphite.data
"graphite.data_stat" - ReplicatedAggregatingMergeTree ์์ง์ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฑ์์ง ํ
์ด๋ธ(๋ณต์ ๋จ)
CREATE MATERIALIZED VIEW graphite.data_stat ( Date Date, Prefix String, Timestamp UInt32, Count AggregateFunction(count)) ENGINE = ReplicatedAggregatingMergeTree('/clickhouse/tables/replicator/graphite.data_stat', 'r1', Date, (Timestamp, Prefix), 8192) AS SELECT toStartOfMonth(now()) AS Date, replaceRegexpOne(Path, '^([^.]+.[^.]+.[^.]+).*$', '1') AS Prefix, toUInt32(toStartOfMinute(toDateTime(Timestamp))) AS Timestamp, countState() AS Count FROM graphite.data GROUP BY Timestamp, Prefix
๊ทธ๋ํ์ดํธ+ํด๋ฆญํ์ฐ์ค. ๊ตฌ์ฑ ์์ ์ํธ ์์ฉ ๋ค์ด์ด๊ทธ๋จ
๊ทธ๋ํ์ดํธ+ํด๋ฆญํ์ฐ์ค. ๋ฐ์ดํฐ ๋ง์ด๊ทธ๋ ์ด์
์ด ํ๋ก์ ํธ์ ๊ธฐ๋์์ ๊ธฐ์ต๋๋ ๋๋ก ClickHouse๋ก์ ์ ํ์ ๋ค์ดํ์์ด ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ ์ฌ์ฉ์๋ฅผ ์ํด ๊ฐ๋ฅํ ํ ํฌ๋ช
ํ๊ฒ ์ ์ฒด ๋ชจ๋ํฐ๋ง ์์คํ
์ ์๋ก์ด ์คํ ๋ฆฌ์ง๋ก ์ ํํด์ผ ํ์ต๋๋ค.
์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ํ ๋ฐฉ๋ฒ์
๋๋ค.
-
ClickHouse ํ ์ด๋ธ ๋ณต์ ์ ์ฐธ์ฌํ๋ ์๋ฒ ์ค ํ๋์ carbon-clickhouse์ ์ถ๊ฐ ๋ฉํธ๋ฆญ ์คํธ๋ฆผ์ ๋ณด๋ด๋ ๊ท์น์ด carbon-c-relay์ ์ถ๊ฐ๋์์ต๋๋ค.
-
์ฐ๋ฆฌ๋ ์์ญ์ ๋คํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฅ์์์ ๋ชจ๋ .wsp ํ์ผ์ ์ฝ๊ณ ์ด ๋ฐ์ดํฐ๋ฅผ ์์์ ์ค๋ช ํ ํ์ ํด๋ฆญํ์ฐ์ค์ 24๊ฐ ์ค๋ ๋๋ก ๋ณด๋ด๋ ์์ ์คํฌ๋ฆฝํธ๋ฅผ Python์ผ๋ก ์์ฑํ์ต๋๋ค. ์นด๋ณธํด๋ฆญํ์ฐ์ค์์ ํ์ฉ๋๋ ์ธก์ ๊ฐ์ ๊ฐ์๋ ๋ถ๋น 125์ต XNUMX๋ง ๊ฐ์ ๋ฌํ๊ณ , ํด๋ฆญํ์ฐ์ค๋ ๋ ํ ๋ฐฉ์ธ๋ ํ๋ฆฌ์ง ์์์ต๋๋ค.
-
๊ธฐ์กด ๋์๋ณด๋์์ ์ฌ์ฉ๋๋ ๊ธฐ๋ฅ์ ๋๋ฒ๊ทธํ๊ธฐ ์ํด Grafana์ ๋ณ๋์ DataSource๋ฅผ ๋ง๋ค์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ ํจ์ ๋ชฉ๋ก์ ํ์ธํ์ง๋ง carbonapi์์๋ ๊ตฌํ๋์ง ์์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ณ carbonapi ์์ฑ์์๊ฒ PR์ ๋ณด๋์ต๋๋ค(ํน๋ณํ ๊ฐ์ฌ๋๋ฆฝ๋๋ค).
- ๋ฐธ๋ฐ์ ์ค์ ์์ ์ฝ๊ธฐ ๋ก๋๋ฅผ ์ ํํ๊ธฐ ์ํด ์๋ํฌ์ธํธ๋ฅผ graphite-api(Graphite+Whisper์ฉ API ์ธํฐํ์ด์ค)์์ carbonapi๋ก ๋ณ๊ฒฝํ์ต๋๋ค.
๊ทธ๋ํ์ดํธ+ํด๋ฆญํ์ฐ์ค. ๊ฒฐ๊ณผ
-
๋์คํฌ ํ์ ์์คํ ํ์ฉ๋๊ฐ 30%์์ 1%๋ก ๊ฐ์๋์์ต๋๋ค.
- ์ฐจ์งํ๋ ๊ณต๊ฐ์ 1TB์์ 300GB๋ก ์ค์์ต๋๋ค.
- ๋ถ๋น 125์ต XNUMX๋ง ๊ฐ์ ์งํ๋ฅผ ์๋ฒ๋ก ์์ ํ ์ ์๋ ๋ฅ๋ ฅ์ด ์์ต๋๋ค(๋ง์ด๊ทธ๋ ์ด์ ๋น์ ์ต๊ณ ์น).
- ๋ชจ๋ ์ธก์ ํญ๋ชฉ์ XNUMX์ด ์ ์ฅ ๊ฐ๊ฒฉ์ผ๋ก ์ ์กํ์ต๋๋ค.
- ์์ ๋ ๋ฐ์ดํฐ ๋ณต์ ๋ฐ ๋ด๊ฒฐํจ์ฑ;
- ๋ค์ดํ์ ์์ด ์ ํ๋จ;
- ๋ชจ๋ ๊ฒ์ ์๋ฃํ๋ ๋ฐ ์ฝ 7์ฃผ๊ฐ ๊ฑธ๋ ธ์ต๋๋ค.
๊ทธ๋ํ์ดํธ+ํด๋ฆญํ์ฐ์ค. ๋ฌธ์
์ฐ๋ฆฌ์ ๊ฒฝ์ฐ ๋ช ๊ฐ์ง ํจ์ ์ด ์์์ต๋๋ค. ์ด๊ฒ์ด ์ ํ ํ์ ์ฐ๋ฆฌ๊ฐ ์ง๋ฉดํ ๊ฒ์ ๋๋ค.
- ClickHouse๋ ํญ์ ๊ตฌ์ฑ์ ์ฆ์ ๋ค์ ์ฝ๋ ๊ฒ์ ์๋๋ฉฐ ๋๋ก๋ ์ฌ๋ถํ ํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ClickHouse ๊ตฌ์ฑ์ ์ฌ์ก์ฌ ํด๋ฌ์คํฐ์ ๋ํ ์ค๋ช ์ ๊ฒฝ์ฐ clickhouse-server๊ฐ ์ฌ๋ถํ ๋ ๋๊น์ง ์ฌ์ฉ๋์ง ์์์ต๋๋ค.
- ๋๊ท๋ชจ ClickHouse ์์ฒญ์ด ์ฒ๋ฆฌ๋์ง ์์์ผ๋ฏ๋ก graphite-clickhouse์์ ClickHouse ์ฐ๊ฒฐ ๋ฌธ์์ด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
url = "http://localhost:8123/?max_query_size=268435456&max_ast_elements=1000000"
- ClickHouse๋ ์์ ์ ์ธ ๋ฆด๋ฆฌ์ค์ ์ ๋ฒ์ ์ ์์ฃผ ์ถ์ํ๋ฏ๋ก ์์์น ๋ชปํ ๋ด์ฉ์ด ํฌํจ๋ ์ ์์ผ๋ฏ๋ก ์ฃผ์ํ์ธ์.
- Kubernetes์์ ๋์ ์ผ๋ก ์์ฑ๋ ์ปจํ
์ด๋๋ ์๋ช
์ด ์งง๊ณ ๋ฌด์์๋ก ๋ง์ ์์ ๋ฉํธ๋ฆญ์ ๋ณด๋
๋๋ค. ์ด๋ฌํ ์ธก์ ํญ๋ชฉ์๋ ํฌ์ธํธ๊ฐ ๋ง์ง ์์ผ๋ฉฐ ๊ณต๊ฐ์๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ๋ ClickHouse๋ '๋ฉํธ๋ฆญ' ํ
์ด๋ธ์์ ์ด์ ๋์ผํ ์๋ง์ ๋ฉํธ๋ฆญ์ ์ ํํฉ๋๋ค. 90%์ ๊ฒฝ์ฐ์๋ ์ฐฝ(24์๊ฐ) ์ดํ์๋ ๋ฐ์ดํฐ๊ฐ ์์ต๋๋ค. ํ์ง๋ง '๋ฐ์ดํฐ' ํ
์ด๋ธ์์ ์ด ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ณ ๊ฒฐ๊ตญ ์๊ฐ ์ด๊ณผ์ ์ง๋ฉดํ๊ฒ ๋ฉ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฐ๋ฆฌ๋ ํ๋ฃจ ๋์ ์ ํ ์งํ์ ๋ํ ์ ๋ณด๋ฅผ ๋ณ๋์ ๋ณด๊ธฐ๋ก ์ ์งํ๊ธฐ ์์ํ์ต๋๋ค. ๋ฐ๋ผ์ ๋์ ์ผ๋ก ์์ฑ๋ ์ปจํ
์ด๋์ ๋ํ ๋ณด๊ณ ์(๊ทธ๋ํ)๋ฅผ ์์ฑํ ๋ ์ ์ฒด ์๊ฐ์ด ์๋ ํน์ ์ฐฝ ๋ด์์ ๋ฐ๊ฒฌ๋ ์ธก์ ํญ๋ชฉ๋ง ์ฟผ๋ฆฌํ๋ฏ๋ก ์ด์ ๋ํ ๋ณด๊ณ ์ ๊ตฌ์ฑ ์๋๊ฐ ํฌ๊ฒ ํฅ์๋์์ต๋๋ค. ์์์ ์ค๋ช
ํ ์๋ฃจ์
์ ๋ํด ์์งํ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ทธ๋ํ์ดํธ ํด๋ฆญํ์ฐ์ค(ํฌํฌ) , ์ฌ๊ธฐ์๋ date_metrics ํ ์ด๋ธ ์์ ๊ตฌํ์ด ํฌํจ๋ฉ๋๋ค.
๊ทธ๋ํ์ดํธ+ํด๋ฆญํ์ฐ์ค. ํ๊ทธ
๋ฒ์ 1.1.0์์ Graphite๊ฐ ๊ณต์ํ๋์์ต๋๋ค.
๊ทธ๋ํ์ดํธ+ํด๋ฆญํ์ฐ์ค. ์ด์ ํ์ง๊ธฐ
์์์ ์ค๋ช ํ ์ธํ๋ผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ด์ ํ์ง๊ธฐ์ ํ๋กํ ํ์ ์ ๊ตฌํํ์ผ๋ฉฐ ์๋ํ์ต๋๋ค! ํ์ง๋ง ๊ทธ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ค์ ๊ธฐ์ฌ์์ ๋ค๋ฃจ๊ฒ ์ต๋๋ค.
๊ตฌ๋ ํ๊ณ ์์ชฝ ํ์ดํ๋ฅผ ๋๋ฅด๊ณ ํ๋ณตํ์ธ์!
์ถ์ฒ : habr.com