본문으로 바로가기

1. Telegraf

Telegraf란 무엇인가요?

  • 데이터베이스, 시스템 및 IoT 센서에서 메트릭과 이벤트를 수집하고 전송하기 위한 플러그인 기반 서버 에이전트입니다.
  • Go 언어로 개발되었고 외부 종속성이 없는 단일 바이너리로 컴파일되며 설치 시 메모리 설치 공간을 최소화합니다.

 

Telegraf를 왜 쓰나요?

  • 모든 종류의 데이터 수집 및 전송
  • [DB] MongoDB, MySQL, Redis 등의 데이터 소스에 연결하여 메트릭을 수집하고 전송
  • [System] 최신 클라우드 플랫폼, 컨테이너 및 오케스트레이터 스택에서 메트릭을 수집
    • 오케스트레이션(ochestration)이란 컴퓨터 시스템과 소프트웨어의 자동화된 구성, 조율, 관리(컨테이너 배포 관리 자동화)
  • [IoT 센서]IoT 센서 및 디바이스에서 중요한 상태 저장 데이터(압력 레벨, 온도 레벨 등)를 수집

2. 설치

1. 아래의 페이지에 접속하여 [Get Started]를 클릭합니다.

https://www.influxdata.com/time-series-platform/telegraf/

 

2. [Download] 버튼을 클릭합니다.

 

3. 원하는 버전환경을 선택하면 그에 따른 다운로드 방법이 표시되는데 복사해서 사용합니다.

 

4. 설치

1. rpm 파일 다운로드
# wget https://dl.influxdata.com/telegraf/releases/telegraf-1.21.2-1.x86_64.rpm
--2022-01-06 15:23:59--  https://dl.influxdata.com/telegraf/releases/telegraf-1.21.2-1.x86_64.rpm
Resolving dl.influxdata.com (dl.influxdata.com)... 13.227.65.66, 13.227.65.79, 13.227.65.7, ...
Connecting to dl.influxdata.com (dl.influxdata.com)|13.227.65.66|:443... connected.
ERROR: cannot verify dl.influxdata.com's certificate, issued by ‘/C=US/O=Amazon/OU=Server CA 1B/CN=Amazon’:
  Issued certificate not yet valid.
To connect to dl.influxdata.com insecurely, use `--no-check-certificate'.

★ 인증서 관련 에러가 날 경우 --no-check-certificate 옵션을 사용하세요
# wget --no-check-certificate https://dl.influxdata.com/telegraf/releases/telegraf-1.21.2-1.x86_64.rpm

2. rpm 파일 설치
# sudo yum localinstall telegraf-1.21.2-1.x86_64.rpm

3. 실행
# systemctl start telegraf.service

 

5. 설정

input, output 설정과 관련된 설정은 https://docs.influxdata.com/telegraf/v1.21/plugins/ 사이트를 참고하면 됩니다.

 

EX)

카프카 burrow 데이터를 수집하여 elasticsearch로 전송

Burrow Input 링크

ES Output 링크

 

[[inputs.burrow]]
  servers = ["http://localhost:8000"]
  topics_exclude = [ "__consumer_offsets" ]
  groups_exclude = ["console-*"]

 

[[outputs.elasticsearch]]
  urls = [ "http://localhost:9200" ] 
  timeout = "5s"
  enable_sniffer = false
  health_check_interval = "10s"
  index_name = "burrow-%Y.%m.%d" 
  manage_template = false