<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ops Insights – 기본 개념</title><link>https://docs.makgol.com/monitoring/victoriametrics/concepts/</link><description>Recent content in 기본 개념 on Ops Insights</description><generator>Hugo -- gohugo.io</generator><language>ko-KR</language><copyright>© 2026 Mont</copyright><lastBuildDate>Sat, 18 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://docs.makgol.com/monitoring/victoriametrics/concepts/index.xml" rel="self" type="application/rss+xml"/><item><title>TSDB와 VictoriaMetrics</title><link>https://docs.makgol.com/monitoring/victoriametrics/concepts/01-tsdb-and-victoriametrics/</link><pubDate>Sun, 12 Jul 2026 00:00:00 +0000</pubDate><guid>https://docs.makgol.com/monitoring/victoriametrics/concepts/01-tsdb-and-victoriametrics/</guid><description>
&lt;h1&gt;01 · 시계열 데이터와 VictoriaMetrics&lt;/h1&gt;&lt;div class="hx:overflow-x-auto hx:mt-6 hx:flex hx:rounded-lg hx:border hx:py-2 hx:ltr:pr-4 hx:rtl:pl-4 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200"&gt;
&lt;div class="hx:ltr:pl-3 hx:ltr:pr-2 hx:rtl:pr-3 hx:rtl:pl-2"&gt;&lt;svg height=1.2em class="hx:inline-block hx:align-middle" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"&gt;&lt;path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;div class="hx:w-full hx:min-w-0 hx:leading-7"&gt;
&lt;div class="hx:mt-6 hx:leading-7 hx:first:mt-0"&gt;&lt;ul&gt;
&lt;li&gt;시계열은 &amp;ldquo;언제 어떤 숫자가 찍혔나&amp;quot;가 이어지는 데이터입니다. 지표에는 &lt;strong&gt;Counter/Gauge/Histogram/Summary&lt;/strong&gt; 4타입이 있습니다. 그중 Counter류 단조증가값이 압축이 가장 잘 됩니다.&lt;/li&gt;
&lt;li&gt;&amp;ldquo;대용량&amp;quot;을 나누는 기준은 &lt;strong&gt;시계열 개수&lt;/strong&gt;와 &lt;strong&gt;보관 기간&lt;/strong&gt;입니다. 수백만 개까지는 Prometheus 단일로 충분하지만 수천만~수십억 개부터는 별도 솔루션이 필요합니다.&lt;/li&gt;
&lt;li&gt;TSDB 계보: &lt;strong&gt;Prometheus(2012) → Gorilla 압축(2015, Facebook) → Thanos/Cortex(Prometheus 확장)&lt;/strong&gt; vs &lt;strong&gt;VictoriaMetrics(완전히 다른 계열)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;VM은 &lt;strong&gt;Prometheus 호환&lt;/strong&gt;(PromQL·remote_write 그대로)을 지키면서 자체 벤치마크 기준 &lt;strong&gt;메모리 5배·스토리지 7배&lt;/strong&gt; 효율을 주장하는 오픈소스 TSDB입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;시계열 데이터가 무엇인지, 왜 &amp;ldquo;대용량&amp;quot;이 별도의 문제로 떨어져 나오는지, 그 문제를 푸는 도구로서 VictoriaMetrics(이하 VM)가 어디에 서 있는지를 정리합니다. VM 내부의 컴포넌트 구조는 &lt;a href="https://docs.makgol.com/monitoring/victoriametrics/concepts/02-architecture/"&gt;02 아키텍처&lt;/a&gt;로 넘깁니다.&lt;/p&gt;</description></item><item><title>아키텍처</title><link>https://docs.makgol.com/monitoring/victoriametrics/concepts/02-architecture/</link><pubDate>Sat, 01 Aug 2026 00:00:00 +0000</pubDate><guid>https://docs.makgol.com/monitoring/victoriametrics/concepts/02-architecture/</guid><description>
&lt;h1&gt;02 · 아키텍처 — 4개 컴포넌트와 저장 원리&lt;/h1&gt;&lt;div class="hx:overflow-x-auto hx:mt-6 hx:flex hx:rounded-lg hx:border hx:py-2 hx:ltr:pr-4 hx:rtl:pl-4 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200"&gt;
&lt;div class="hx:ltr:pl-3 hx:ltr:pr-2 hx:rtl:pr-3 hx:rtl:pl-2"&gt;&lt;svg height=1.2em class="hx:inline-block hx:align-middle" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"&gt;&lt;path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;div class="hx:w-full hx:min-w-0 hx:leading-7"&gt;
&lt;div class="hx:mt-6 hx:leading-7 hx:first:mt-0"&gt;&lt;ul&gt;
&lt;li&gt;VM 클러스터는 vmagent(수집) → vminsert(라우팅·샤딩) → vmstorage(저장, n노드) → vmselect(fanout+merge 쿼리) 4컴포넌트로 흐릅니다.&lt;/li&gt;
&lt;li&gt;배포 모드는 SingleNode(간편, SPOF)와 Cluster(수평확장, &lt;code&gt;replicationFactor&lt;/code&gt;로 유실 방지) 둘입니다. vminsert/vmselect는 stateless라 k8s에, vmstorage는 stateful이라 물리 장비에 두는 편이 유리합니다.&lt;/li&gt;
&lt;li&gt;대용량 write와 read를 함께 만족시키는 자료구조가 LSM 트리(append로 빠른 write, 정렬 유지로 빠른 read, merge는 백그라운드)입니다. VM의 파티션 구조가 이 구체화입니다.&lt;/li&gt;
&lt;li&gt;IndexDB(거의 불변, 지표이름+레이블 역색인)와 DataDB(TSID → timestamp+value, 계속 쌓임)를 나눠 두면 정규화 효과로 압축 효율이 크게 올라갑니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;여기서는 VM 클러스터를 이루는 컴포넌트, 그 사이를 흐르는 데이터, 그 아래를 떠받치는 두 아이디어 — LSM 트리와 IndexDB/DataDB 분리 — 를 정리합니다. 컴포넌트 하나하나의 내부 동작은 뒤 문서에서 따로 깊게 파고듭니다.&lt;/p&gt;</description></item><item><title>수집 (vmagent·vminsert)</title><link>https://docs.makgol.com/monitoring/victoriametrics/concepts/03-ingestion/</link><pubDate>Sat, 01 Aug 2026 00:00:00 +0000</pubDate><guid>https://docs.makgol.com/monitoring/victoriametrics/concepts/03-ingestion/</guid><description>
&lt;h1&gt;03 · 수집 — vmagent와 vminsert&lt;/h1&gt;&lt;div class="hx:overflow-x-auto hx:mt-6 hx:flex hx:rounded-lg hx:border hx:py-2 hx:ltr:pr-4 hx:rtl:pl-4 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200"&gt;
&lt;div class="hx:ltr:pl-3 hx:ltr:pr-2 hx:rtl:pr-3 hx:rtl:pl-2"&gt;&lt;svg height=1.2em class="hx:inline-block hx:align-middle" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"&gt;&lt;path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;div class="hx:w-full hx:min-w-0 hx:leading-7"&gt;
&lt;div class="hx:mt-6 hx:leading-7 hx:first:mt-0"&gt;&lt;ul&gt;
&lt;li&gt;vmagent는 OTel·InfluxDB·Datadog 등 다양한 프로토콜을 받아 릴레이블·dedup·스트리밍 집계 후 &lt;code&gt;remote_write&lt;/code&gt;로 내보내는 만능 어댑터입니다. Fast Queue(메모리)→Persistent Queue(디스크) 버퍼링으로 지표를 잃지 않습니다.&lt;/li&gt;
&lt;li&gt;vminsert는 저장하지 않고 랑데부 해싱으로 vmstorage에 라우팅만 합니다 — 노드를 추가해도 재배치가 약 1/(N+1)에 그쳐 리밸런싱 폭풍을 피합니다.&lt;/li&gt;
&lt;li&gt;노드 다운 시 페일오버(살아있는 노드로 균등 재분배), &lt;code&gt;replicationFactor&lt;/code&gt;로 복제 후 vmselect 쿼리 시 dedup — 쓰기 시점 복제(안정성)와 읽기 시점 dedup(정확성)이 짝을 이룹니다.&lt;/li&gt;
&lt;li&gt;vminsert↔vmstorage 연결은 압축 방식을 협의하며 &lt;code&gt;rpc.disableCompression&lt;/code&gt;으로 CPU↔대역폭 트레이드오프를 조절할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;VM에서 데이터가 들어오는 관문은 둘입니다. &lt;strong&gt;vmagent&lt;/strong&gt;는 무엇이든 받아 정제해 리모트로 흘려보내는 만능 어댑터이자 버퍼입니다. &lt;strong&gt;vminsert&lt;/strong&gt;는 그렇게 받은 데이터를 여러 vmstorage 노드로 흩뿌리는 라우팅 게이트웨이입니다. 이 둘을 차례로 봅니다.&lt;/p&gt;</description></item><item><title>저장과 압축</title><link>https://docs.makgol.com/monitoring/victoriametrics/concepts/04-storage-and-compression/</link><pubDate>Sat, 01 Aug 2026 00:00:00 +0000</pubDate><guid>https://docs.makgol.com/monitoring/victoriametrics/concepts/04-storage-and-compression/</guid><description>
&lt;h1&gt;04 · 저장과 압축 — vmstorage와 Gorilla 계열 압축&lt;/h1&gt;&lt;div class="hx:overflow-x-auto hx:mt-6 hx:flex hx:rounded-lg hx:border hx:py-2 hx:ltr:pr-4 hx:rtl:pl-4 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200"&gt;
&lt;div class="hx:ltr:pl-3 hx:ltr:pr-2 hx:rtl:pr-3 hx:rtl:pl-2"&gt;&lt;svg height=1.2em class="hx:inline-block hx:align-middle" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"&gt;&lt;path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;div class="hx:w-full hx:min-w-0 hx:leading-7"&gt;
&lt;div class="hx:mt-6 hx:leading-7 hx:first:mt-0"&gt;&lt;ul&gt;
&lt;li&gt;지표는 &lt;strong&gt;Time Series&lt;/strong&gt;(이름+레이블, 거의 불변)와 &lt;strong&gt;Sample&lt;/strong&gt;(timestamp+value, 계속 쌓임)로 분리 저장됩니다 — IndexDB/DataDB 정규화의 근거.&lt;/li&gt;
&lt;li&gt;저장 경로: 로우 파싱 → Canonical Name 정규화 → &lt;strong&gt;TSID 변환&lt;/strong&gt;(캐시 hit=빠른 경로, miss=New TSID 발급=카디널리티 폭발 원인) → 압축 → 파티션(인메모리→Small→Big, Merge Multiplier로 비슷한 크기끼리 합침).&lt;/li&gt;
&lt;li&gt;압축 비결은 &lt;strong&gt;Gorilla 계열 차분 인코딩&lt;/strong&gt;: Gauge→Delta, Counter→Delta-of-Delta(단조증가값이 압축에 극단적으로 유리) + ZigZag/Varint로 바이트 절약. 네이버 실운영 실측 &lt;strong&gt;0.92바이트/데이터포인트&lt;/strong&gt;(원래 16바이트 대비 ~17배 압축).&lt;/li&gt;
&lt;li&gt;retention은 기본 1개월, IndexDB는 단건 삭제 비용을 피하려 &lt;strong&gt;3단계(Current/Previous/Next) 로테이션&lt;/strong&gt;으로 통째로 드롭합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;vminsert가 흩뿌린 데이터를 실제로 디스크에 눕히는 컴포넌트가 &lt;strong&gt;vmstorage&lt;/strong&gt;입니다. 여기서는 지표 하나가 TSID로 바뀌어 파티션에 저장되기까지의 경로를 따라갑니다. 이어서 VM의 메모리·스토리지 효율을 떠받치는 &lt;strong&gt;Gorilla 계열 차분 압축&lt;/strong&gt;을 다룹니다.&lt;/p&gt;</description></item><item><title>쿼리·운영 컴포넌트</title><link>https://docs.makgol.com/monitoring/victoriametrics/concepts/05-query-and-ops-components/</link><pubDate>Sat, 01 Aug 2026 00:00:00 +0000</pubDate><guid>https://docs.makgol.com/monitoring/victoriametrics/concepts/05-query-and-ops-components/</guid><description>
&lt;h1&gt;05 · 쿼리·운영 컴포넌트 — vmselect / vmalert / vmauth&lt;/h1&gt;&lt;div class="hx:overflow-x-auto hx:mt-6 hx:flex hx:rounded-lg hx:border hx:py-2 hx:ltr:pr-4 hx:rtl:pl-4 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200"&gt;
&lt;div class="hx:ltr:pl-3 hx:ltr:pr-2 hx:rtl:pr-3 hx:rtl:pl-2"&gt;&lt;svg height=1.2em class="hx:inline-block hx:align-middle" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"&gt;&lt;path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;div class="hx:w-full hx:min-w-0 hx:leading-7"&gt;
&lt;div class="hx:mt-6 hx:leading-7 hx:first:mt-0"&gt;&lt;ul&gt;
&lt;li&gt;vmselect는 저장을 하지 않는 stateless 쿼리 엔진입니다. 모든 vmstorage에 Fanout으로 던지고 돌아온 결과를 Merge·Sort해 반환합니다.&lt;/li&gt;
&lt;li&gt;쿼리는 3-Prefix(태그→Metric ID→TSID→값·이름 복원)로 풀립니다. 쓰기 시점 정규화를 역방향으로 되짚는 대칭 구조입니다.&lt;/li&gt;
&lt;li&gt;메모리 관리 3포인트: 쿼리 시점 dedup, Rollup Result Cache(허용 메모리 12.5%, 최근 5분 제외), Query Latency Offset(기본 30초, 정확성↔실시간성 트레이드오프).&lt;/li&gt;
&lt;li&gt;vmalert는 Recording rules로 무거운 집계를 미리 계산해 조회 부하를 쓰기 시점으로 옮깁니다. vmauth는 멀티 클러스터 앞단 라우팅 게이트웨이로 사용자 배포 없이 장애 전환을 처리합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;데이터가 들어가는 길(&lt;a href="https://docs.makgol.com/monitoring/victoriametrics/concepts/03-ingestion/"&gt;03 수집&lt;/a&gt;·&lt;a href="https://docs.makgol.com/monitoring/victoriametrics/concepts/04-storage-and-compression/"&gt;04 저장&lt;/a&gt;)은 이미 다뤘습니다. 이 문서는 데이터가 빠지는 길, 그리고 그 주변에 붙는 운영 컴포넌트를 봅니다. 쿼리 엔진 &lt;code&gt;vmselect&lt;/code&gt;, 지표를 미리 계산해 두는 &lt;code&gt;vmalert&lt;/code&gt;, 멀티 클러스터의 앞단을 지키는 라우팅 게이트웨이 &lt;code&gt;vmauth&lt;/code&gt; 셋입니다.&lt;/p&gt;</description></item><item><title>소스맵</title><link>https://docs.makgol.com/monitoring/victoriametrics/concepts/06-sources/</link><pubDate>Sun, 12 Jul 2026 00:00:00 +0000</pubDate><guid>https://docs.makgol.com/monitoring/victoriametrics/concepts/06-sources/</guid><description>
&lt;h1&gt;06 · 소스맵 — 발표 영상·기사·전사본 가이드&lt;/h1&gt;&lt;p&gt;이 지식베이스의 바탕은 네이버 D2/DEVIEW가 공개한 VictoriaMetrics 자료 5건입니다 — 발표 영상 2편과 텍스트 기사 3편. 이 자료를 주제별로 다시 묶어 개념/실전/우리 운영 문서로 엮었습니다. 자료 하나하나를 원문 단위로 정리한 판은 &lt;a href="https://docs.makgol.com/monitoring/victoriametrics/by-source/"&gt;원문별 정리&lt;/a&gt;에 따로 있습니다. 여기서는 각 문서가 어떤 원본에서 나왔는지, 원본을 직접 확인하려면 어디를 봐야 하는지 적었습니다.&lt;/p&gt;</description></item></channel></rss>