Graphite

From 탱이의 잡동사니
Revision as of 22:19, 1 November 2017 by Pchero (talk | contribs) (→‎Basic)
Jump to navigation Jump to search

Overview

Graphite 내용 정리.

Basic

Graphite 는 다음 두 가지 일을 한다.

  • Store number time-series data.
  • Render graphs of this data on demand.

Graphite 는 크게 다음 세가지 컴포넌트들로 이루어진다.

  • Carbon - a Twisted daemon that listens for time-series data.
  • Whisper - a simple database library for storing time-series data(similar in design to RRD)
  • Graphite webapp - A Django webapp that renders graphs on-demand using Cairo.

Installation

docker 를 이용해서 편리하게 설치가 가능하다. <source lang=bash> $ docker run -d\

--name graphite\
--restart=always\
-p 80:80\
-p 2003-2004:2003-2004\
-p 2023-2024:2023-2024\
-p 8125:8125/udp\
-p 8126:8126\
graphiteapp/graphite-statsd

</source>

Carbon

carbon-cache.py

carbon-cache.py 는 메트릭 정보들을 수집하고 디스크에 저장하는 역할을 한다. 데이터를 일단 램(RAM)에 저장을 했다가 일정한 간격으로 디스크에 저장한다.

만약 수집되는 메트릭(정보)의 규모가 점점 더 커진다면 하나의 carbon-cache.py 로는 충분하지 않을 수도 있다. 이런 경우, 단순히 carbon-aggregator.py 혹은 carbon-relay.py 뒷단에 여러개의 carbon-cache.py 를 실행하면 된다.

carbon-relay.py

carbon-relay.py 는 크게 두 가지 목적으로 사용된다.

  • replication
  • sharding

carbon-aggregator.py

carbon-aggregator.py 는 carbon-cache.py 앞단에서 동작하며, 버퍼 역할을 한다.

carbon-aggregator-cache.py

carbon-aggregator.py 과 carbon-cache.py 이 조합된 형태이다.

See also