Telegraf WhaTap output plugin guide

제목 : Telegraf WhaTap output plugin guide
작성자 : WhaTap Support
이메일 : support@whatap.io
날짜 : 2019-10-22
버전 : 1.0.0

설명 : 본 문서는 Telegraf 의 WhaTap ouput plugin에 대해 설명합니다.

1. Telegraf

Telegraf는 데이터베이스, 시스템 및 IoT 센서에서 메트릭 및 이벤트를 수집하고 전송하기위한 플러그인 중심 서버 에이전트입니다. Telegraf는 Go로 작성되었으며 외부 종속성없이 단일 바이너리로 컴파일되며 최소한의 메모리 공간 만 필요합니다.

1.1. 모든 종류의 데이터 수집 및 전송

데이터베이스 : MongoDB, MySQL, Redis 등의 데이터 소스에 연결하여 메트릭을 수집하고 보냅니다. 시스템 : 현대적인 클라우드 플랫폼, 컨테이너 및 오케 스트레이터 스택에서 메트릭을 수집합니다. IoT 센서 : IoT 센서 및 장치에서 중요한 상태 저장 데이터 (압력 수준, 온도 수준 등)를 수집합니다.

1.2. plugin

Telegraf는 메트릭을 수집, 처리, 집계 및 작성하는 플러그인 중심 에이전트입니다. 입력, 출력, 애그리 게이터 및 프로세서를 포함한 4 가지 범주의 플러그인을 지원합니다.

2. whatap plugin

Telegraf의 whatap output plugin(tcp)을 통해 Telegraf에서 수집되는 매트릭스 정보를 와탭 수집서버로 전송합니다.

2.1. Telegraf 설치

Telegraf 오픈 소스에 whatap plugin을 추가하기 위해 리뷰가 진행 중입니다.
정식 배포 전에는 아래 다운로드 설치 및 컴파일 설치로 Telegraf를 설치합니다.

2.1.2. 컴파일 설치

사전 준비 사항
설치 절차

${GOPATH}/src/github.com/influxdata/telegraf 이하 Makefile로 빌드를 진행합니다.

  1. 의존성 설치를 진행합니다. 의존성 설치는 go dep을 사용하기 때문에 go dep이 먼저 설치되어야 합니다.

    # make deps
  2. 실행파일을 빌드합니다.
    ${GOPATH}/bin 디렉토리에 실행파일(telegraf)이 생성됩니다.

    # make go-install

설치 패키지가 필요하다면 make package 명령어로 생성할 수 있습니다. 크로스 컴파일을 진행하여 운영체제 별로 패키지 파일을 생성합니다.

# make package
상세한 빌드의 설명은 Telegraf github 내용을 참고해 주세요
https://github.com/influxdata/telegraf

2.2. 설정

Telegraf의 config 파일(telegraf.conf)에 아래 outputs.whatap 설정을 활성화합니다.

whatap plugin이 포함된 config 파일은 아래와 같이 생성할 수 있습니다.

# telegraf config > telegraf.conf

2.2.1. whatap 프로젝트 정보

http://whatap.io 에서 프로젝트의 정보를 설정합니다. 연결할 프로젝트의 에이전트 설치 안내에서 확인 가능합니다.

  • 프로젝트 라이선스 키 : 프로젝트를 식별하는 라이선스 키 입니다.

  • 프로젝트 코드: 프로젝트를 식별하는 숫자형 코드 입니다.

  • 수집서버 정보 (아이피, 포트) : 수집정보를 전달할 와탭 수집서버의 아이피와 포트 입니다.

2.2.2. config 설정(toml)

  • [[outputs.whatap]] 주석(#)을 삭제합니다.

  • license의 주석(#)을 삭제합니다. 프로젝트의 라이선스 키 정보를 입력합니다. (문자형으로 입력합니다.)

  • pcode의 주석(#)을 삭제합니다. 프로젝트 코드를 입력합니다. (숫자형으로 입력합니다.)

  • servers의 주석(#)을 삭제합니다. 수집서버 정보(아이피,포트) 를 설정합니다.
    프로토콜은 tcp만 지원합니다.문자 형식으로 "tcp://아이피:포트"를 등록합니다.
    배열 형식으로 등록합니다. 콤마(,)로 구분하여 배열 형식으로 등록합니다.

# # Configuration for WhaTap
[[outputs.whatap]]
#   ## You can create a project on the WhaTap site(https://www.whatap.io)
#   ## to get license, project code and server IP information.
#
#   ## WhaTap license. Required
license = "x2tggtnopk2t9-xxxxxxxxxx-aaaaaaaaaa"
#
#   ## WhaTap project code. Required
pcode = 118
#
#   ## WhaTap server IP. Required
#   # Put multiple IPs with / as delimiters. e.g. "1.1.1.1/2.2.2.2"

servers = ["tcp://1.2.3.4:6600", "tcp://5.6.7.8:6600"]

#   ## Connection timeout.
#   # timeout = "60s"
Telegraf 를 재시작하면 변경된 설정이 적용됩니다.

3. 데이터 확인

태그 카운트 보드를 통해서 자유롭게 대시보드를 구성할 수 있습니다. 태그 카운트 조회, 태크 가운트 차트로 데이터를 확인할 수 있습니다.

3.1. 태그 카운트 보드

사용자가 자유롭게 구성 가능한 대시보드 입니다.
원하는 데이터를 선별하여 대시보드를 구성할 수 있습니다.
수정모드를 통해 차트를 추가하고 배치를 변경할 수 있습니다.

tag board view
tag board
tag board edit
tag board edit category
tag board edit field

3.2. 태그 카운트 조회

시간, 카테고리, 태그, 필드 등을 선택하여 데이터를 조회할 수 있습니다.

tag view

3.3. 태그 카운트 차트

시간, 카테고리, 태그, 필드 등을 선택하여 차트를 조회할 수 있습니다. 여러개의 차트를 추가하여 비교할 수 있습니다.

tag chart

3.4. 사전정의 태그 보드

태크 카운트를 주제에 맞게 사전 정의한 대시보드 입니다.

3.4.1. Apache

Apache에 대한 대시보드를 제공합니다.

telegraf apache
  • CPULoad CPULoad를 그래프로 보여줍니다. 호스트네임을 기준으로 여려개의 서버를 비교해서 볼 수 있습니다.

  • User CPU 사용자 CPU 사용율을 그래프로 보여줍니다. 호스트네임을 기준으로 여려개의 서버를 비교해서 볼 수 있습니다.

  • Used Memory 시스템 메모리 사용율을 그래프로 보여줍니다. 호스트네임을 기준으로 여려개의 서버를 비교해서 볼 수 있습니다.

  • ReqPerSec 초당 요청 수의 평균을 그래프로 보여줍니다. 호스트네임을 기준으로 여려개의 서버를 비교해서 볼 수 있습니다.

  • BytesPerSec 초당 전송 바이트의 평균을 그래프로 보여줍니다. 호스트네임을 기준으로 여려개의 서버를 비교해서 볼 수 있습니다.

  • BytesPerReq 요청당 전송 바이트의 평균을 그래프로 보여줍니다. 호스트네임을 기준으로 여려개의 서버를 비교해서 볼 수 있습니다.

  • Worker BusyWorkers(요청을 처리하는 작업 수), IdelWorkers(쉬고 있는 작업 수)를 그래프로 보여줍니다. 호스트네임을 지정하여 변경된 데이터를 볼 수 있습니다.

  • Scoreboard 스코어보드를 그래프로 보여줍니다. Open slot에 대한 정보는 대부분 고정적이고 다름 지표와 차이가 많이나서 제외합니다. 호스트네임을 지정하여 변경된 데이터를 볼 수 있습니다.

3.4.2. Nginx

Nginx 에 대한 대시보드를 제공합니다.

telegraf nginx
  • Active 처리중인 커넥션 수를 그래프로 보여줍니다. 호스트네임을 기준으로 여려개의 서버를 비교해서 볼 수 있습니다.

  • User CPU 사용자 CPU 사용율을 그래프로 보여줍니다. 호스트네임을 기준으로 여려개의 서버를 비교해서 볼 수 있습니다.

  • Used Memory 시스템 메모리 사용율을 그래프로 보여줍니다. 호스트네임을 기준으로 여려개의 서버를 비교해서 볼 수 있습니다.

  • Server accepts, handled, requests 항목을 그래프로 보여줍니다. 호스트네임을 선택하여 해당 서버의 정보를 확인할 수 있습니다.

  • Server(Delta) 누적데이터인 accepts, handled, requests 항목의 증가값을 그래프로 보여줍니다. 호스트네임을 선택하여 해당 서버의 정보를 확인할 수 있습니다.

  • Reading reading, writing, waiting 항목을 그래프로 보여줍니다. 호스트네임을 선택하여 해당 서버의 정보를 확인할 수 있습니다.