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

설명 : 본 문서는 WhaTap Telegraf 에이전트에 대해 설명합니다.

1. Install

1.1. 에이전트 실행 및 모니터링 개요

Telegraf 수집 데이터를 와탭 수집서버로 전송하는 기능을 제공합니다.

1.1.1. 지원

운영체제
  • Linux Redhat 6.x x64 이상

  • Ubuntu 12.x x64 이상

  • FreeBSD 10.x x64 이상

Telegraf

socket_writer ouput plugin을 지원하는 버전만 가능합니다.

  • Telegraf 1.3 이상

1.1.2. 에이전트 설치 방식 개요

  • 와탭 저장소(Repository)를 설치합니다.

  • whatap-telegraf 리눅스 패키지를(yum, apt-get) 설치합니다.

  • 라이센스 및 와탭 서버 정보를 설정합니다.

  • Telegraf 의 socket_writer output plugin을 설정하여 데이터를 연동합니다.

1.1.3. 구성 파일

Telegraf 정보를 수집하기 위한 에이전트 파일로 구성됩니다.

telegraf 에이전트를 구성하는 각 파일의 역할은 다음과 같습니다.

파일명

설명

whatap_telegraf

서비스 실행파일, Telegraf에서 전달된 정보를 수집서버로 전송하는 프로그램입니다.

/etc/init.d/whatap-telegraf (FreeBSD /usr/local/etc/whatap_telegraf)

서비스 스크립트

whatap.conf

설정파일입니다. 수집서버의 주소와 서버의 프로젝트 라이센스 키가 입력되는 파일입니다.

whatap-telegraf-#.log

에이전트 로그 파일 입니다. (/usr/whata/telegraf/logs)

1.1.4. 에이전트 이름 식별

와탭은 모니터링 정보 수집 대상인 애플리케이션 서버 식별을 위한 정보로 기본적으로 애플리케이션 서버로부터 수집한 정보를 활용합니다. 기본적으로 활용하는 정보는 애플리케이션 서버 종류, 애플리케이션 서버의 IP, 서비스 포트를 조합하여 애플리케이션 서버를 고유 식별자로 사용하게 되며 필요에 따라 사용자가 지정한 명칭을 사용하거나 패턴을 변경하여 사용하는 것도 가능합니다. 이때에는 꼭 고유한 값이어야 합니다.

애플리케이션 서버로부터 추출한 정보를 활용하는 이유는 애플리케이션 서버 정지, 네트워크 단절 또는 에이전트 문제로 인한 수집 서버와 에이전트의 통신 단절 상태가 복구되었을 경우, 재 접속된 에이전트로부터 송신되는 정보가 기존 에이전트로부터 송신된 정보와의 연속성을 유지하기 위해서 입니다. 와탭이 애플리케이션 서버를 식별하기 위해 사용하는 기본 패턴은 다음과 같습니다.

기본 패턴에 대한 변경은 whatap.conf에서 설정에서 가능합니다.

object_name default: Telegraf-{hostname}-{ip2}-{ip3}-{docker}

설정

설명

Type

app_name, 기본 telegraf

Hostname

호스트네임

Ip#

Ip를 .으로 나누었을 때 #번째 자리(0부터)

Process

app_process_name

docker

도커 컨테이너 아이디

1.2. 에이전트 설치

1.2.1. 패키지 설치

RedHat/CentOS
패키지 저장소(Repository) 등록

와탭 저장소(Repository)를 등록합니다.

$ sudo rpm -Uvh http://repo.whatap.io/centos/5/noarch/whatap-repo-1.0-1.noarch.rpm
패키지 설치

아래 명령어를 통해 패키지를 설치합니다.

$ sudo yum install whatap-telegraf
설정 스크립트를 실행하여 서비스를 시작합니다.
echo "license=[발급받은 라이센스]" |sudo tee /usr/whatap/telegraf/whatap.conf
echo "whatap.server.host=[와탭 서버 주소]" |sudo tee -a /usr/whatap/telegraf/whatap.conf
sudo service whatap-telegraf restart
Debian/Ubuntu
패키지 저장소(Repository) 등록

와탭 저장소(Repository)를 등록합니다.

$ wget http://repo.whatap.io/debian/release.gpg -O -|sudo apt-key add -
$ wget http://repo.whatap.io/debian/whatap-repo_1.0_all.deb
$ sudo dpkg -i whatap-repo_1.0_all.deb
$ sudo apt-get update
패키지 설치
$ sudo apt-get install whatap-telegraf
설정 스크립트를 실행하여 서비스를 시작합니다.
echo "license=[발급받은 라이센스]" |sudo tee /usr/whatap/telegraf/whatap.conf
echo "whatap.server.host=[와탭 서버 주소]" |sudo tee -a /usr/whatap/telegraf/whatap.conf
sudo service whatap-telegraf restart
Amazon Linux
패키지 저장소(Repository) 등록

와탭 저장소(Repository)를 등록합니다.

$ sudo rpm --import http://repo.whatap.io/centos/release.gpg
$ echo "[whatap]" | sudo tee /etc/yum.repos.d/whatap.repo > /dev/null
$ echo "name=whatap packages for enterprise linux" | sudo tee -a /etc/yum.repos.d/whatap.repo > /dev/null
$ echo "baseurl=http://repo.whatap.io/centos/latest/\$basearch" | sudo tee -a /etc/yum.repos.d/whatap.repo > /dev/null
$ echo "enabled=1" | sudo tee -a /etc/yum.repos.d/whatap.repo > /dev/null
$ echo "gpgcheck=0" | sudo tee -a /etc/yum.repos.d/whatap.repo > /dev/null
패키지 설치
$ sudo yum install whatap-telegraf
설정 스크립트를 실행하여 서비스를 시작합니다.
echo "license=[발급받은 라이센스]" |sudo tee /usr/whatap/telegraf/whatap.conf
echo "whatap.server.host=[와탭 서버 주소]" |sudo tee -a /usr/whatap/telegraf/whatap.conf
sudo service whatap-telegraf restart
FreeBSD
패키지 설치
$ wget https://s3.ap-northeast-2.amazonaws.com/repo.whatap.io/freebsd/10/whatap-telegraf-0.0.4.txz
$ pkg install whatap-telegraf-0.0.4.txz
설정 스크립트를 실행하여 서비스를 시작합니다.
echo "license=[발급받은 라이센스]" | tee /usr/whatap/telegraf/whatap.conf
echo "whatap.server.host=[와탭 서버 주소]" | tee -a /usr/whatap/telegraf/whatap.conf
sudo service whatap_telegraf restart

1.2.2. Telegraf 연동

Telegraf 설정

Telegraf 에 socket_writer output plugin 설정을 하여 whatap-telegraf 로 수집된 정보를 전달합니다.

  • [[outputs.socket_writer]] 주석을 해제합니다.

  • address 항목에 tcp 연결을 설정합니다.

  • 데이터 유형은 json 형식으로 설정합니다.

# # Generic socket writer capable of handling multiple socket types.
 [[outputs.socket_writer]]

#   ## URL to connect to
    address = "tcp://127.0.0.1:6600"

#   # data_format = "influx"
    data_format = "json"

1.2.3. 실행

애플리케이션 재기동

설치가 완료된 후 whatap-telegraf 서비스를 재시작합니다.

whatap-telegraf 서비스(Service) 재시작

whatap-telegraf 서비스(Service)가 실행 중이지 않거나 오류가 발생한 경우 재시작 합니다.

Redhat/CentOS
$ service whatap-telegraf restart
Debian/Ubuntu
$ sudo service whatap-telegraf restart
FreeBSD
$ service whatap_telegraf restart

1.2.4. 업데이트

패키지 업데이트는 기존 설정을 유지한 채로 업데이트합니다.

Redhat/CentOS

패키지 정보 갱신을 위해 캐시 정보를 삭제합니다.

$ yum clean all

whatap-telegraf 패키지를 업데이트 합니다.

$ yum update whatap-telegraf
Debian/Ubuntu

패키지 정보 갱신을 위해 캐시 정보를 갱신합니다.

$ sudo apt-get update

whatap-telegraf 패키지를 업데이트 합니다.

$ sudo apt-get install --only-upgrade whatap-telegraf
FreeBSD

패키지를 재설치합니다.

# wget https://s3.ap-northeast-2.amazonaws.com/repo.whatap.io/freebsd/10/whatap-telegraf-0.0.4.txz
# pkg install whatap-telegraf-0.0.4.txz

1.2.5. 중지

일시 중지
whatap-telegraf 서비스(Service) 중지
Redhat/CentOS
$ sudo service whatap-telegraf stop
Debian/Ubuntu
$ sudo service whatap-telegraf stop
FreeBSD
$ service whatap_telegraf stop
에이전트 삭제

패키지(yum, apt-get) 삭제를 진행하고 필요에 따라서 /usr/whatap/telegraf 아래에 로그 파일 및 기타 파일을 삭제합니다.

패키지 삭제
Redhat/CentOS
$ sudo yum remove whatap-telegraf
Debian/Ubuntu
$ sudo apt-get purge whatap-telegraf
FreeBSD
$ pkg delete whatap-telegraf
/usr/whatap/telegraf 디렉토리 삭제