본문 바로가기
IT/개발환경

TIG (Telegraf Influxdb Grafana) (1/4) - 구성 방법

by rapker 2023. 5. 3.
반응형

 

참고

 

 

InfluxDB

  • Go로 작성된 오픈 소스 시간 시퀀스 데이터베이스입니다. 
  • 빠른 고 가용성 스토리지에 최적화되어 있으며
  • DevOps 모니터링, 로그 정보, 소프트웨어 메트릭, IoT 센서 정보 및 실시간 분석과 함께 대량의 타임 스탬프 정보가 포
  • 함 된 모든 사용 사례에 대한 지식 소매 업체로 사용됩니다.

Telegraf

  • 메트릭 축적, 처리, 집계 및 작성을위한 에이전트입니다.
  • 그것은 influxdb, Graphite, Kafka, OpenTSDB 등과 비슷한 수많은 출력 플러그인을 도와줍니다.

Grafana

  • 개방형 공급 정보 시각화 및 모니터링 제품군입니다.
  • Graphite, Elasticsearch, Prometheus, influxdb 및 수많은 추가 데이터베이스를 지원합니다.
  • 이 소프트웨어는 앱 또는 인프라 효율성 모니터링에서 개인 대시 보드를 처리하고 생성 할 수있는 유연성을 갖춘 뛰어난 대
  • 시 보드 및 메트릭 분석 기능을 제공합니다.




InfluxDB가 설치되는 리눅스 가상머신에 디스크를 추가한 경우 파티션 구성하는 방법

  1. InfluxDB 설치
    1. 데이터 디렉터리 변경
  2. InfluxDB 데이터베이스 및 사용자 생성
  3. Telegraf Agent 설치/구성
    1. for linux
    2. for windows
  4. Grafana 설치
  5. Grafana 데이터 소스 설정
  6. Grafana 대시 보드 설정


github - InfluxDB Source

 

728x90

 

1단계 InfluxDB 설치


https://portal.influxdata.com/downloads/ <- ubuntu 외 리눅스인경우 공식페이지의 다운로드 방법 참조

유입 데이터키 추가

sudo curl -sLhttps://repos.influxdata.com/influxdb.key | sudo apt-key add -

 

유입 데이터 저장소 추가

source /etc/lsb-release
echo "deb https://repos.influxdata.com/$ {DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

 

저장소 업데이트

sudo apt update

 

influxdb 패키지 설치

sudo apt install influxdb -y


서비스 시작하고 시스템 재시작 될 때마다 서비스 시작되도록

sudo systemctl start influxdb
sudo systemctl enable influxdb


시스템에서 열린 포트 확인

sudo netstat -plntu






influxdb 서비스는 실행중인데 8088, 8086 포트가 확인이 안되는경우

/etc/influxdb/influxdb.conf 에서

auth-enabled = true로 활성화 해줘야 합니다.


                

influxdb.conf 수정

sudo vi /etc/influxdb/influxdb.conf



서비스 재시작 후 포트 확인

sudo systemctl restart influxdb 
sudo netstat -plntu

 

 

반응형

 

1-1 단계 InfluxDB의 데이터 디렉터리 변경


이 단계는 InfluxDB의 데이터를 마운트된 디스크의 경로로 설정해주는 내용입니다.

Windows 이거나 디스크를 추가 하지 않은 Linux 의 경우 스킵하셔도 됩니다.


Linux에서 디스크 마운트 하는방법을 통해 /data 디렉토리에 디스크가 마운트 되어 있다는 가정하에 진행합니다.


influxDB에서 사용될 디렉터리 생성

sudo mkdir /data/influxdb
sudo mkdir /data/influxdb/meta
sudo mkdir /data/influxdb/data
sudo mkdir /data/influxdb/wal



생성한 디렉터리의 소유권을 influxdb로 설정

sudo chown -R influxdb:influxdb /data/influxdb



influxdb 환경설정에 마운트된 경로 설정

sudo vi /etc/influxdb/influxdb.conf



서비스 재시작 후 influx에 터미널에 연결 되는지 확인

sudo service influxdb restart
influx



exit로 influx 빠저나오기

exit

 




2단계 InfluxDB 데이터베이스 및 사용자 생성


텔레그래프 에이전트의 모든 데이터를 저장하려면 influxdb에 접속하여 데이터베이스와 사용자를 설정해야 합니다.

influx 터미널에 접속

influx



사용자 생성 - user : <userid>, password : <password>

create database telegraf
create user rapker with password 'rapker'


권한 추가

grant all privileges to <username>
grant all privileges to rapker


database와 user 확인

show databases
show users



influx에서 빠져나오기

exit

 




influx 터미널 진입하여 커맨드 입력시 오류

어떠한 커맨드를 입력해도 아래와 같은 오류만 출력될 때 - 참고링크
ERR: error authorizing query: create admin user first or disable authentication


                        

모든 권한을 갖고 있는 유저를 생성하고 생성된 사용자로 접속합니다.

create user admin with password 'admin' with all privileges
auth admin admin
show users

 


3-1단계 Telegraf Agent 설치 Linux


Telegraf는 influxdb를 만든 동일한 조직인 influxdata에 의해 만들어 졌습니다.
따라서 influxdata 키와 리포지토리를 시스템에 추가하면 두 응용 프로그램을 모두 설치할 수 있습니다.

도움될만한 링크 : Telegraft 설정 가이드

Telegraf 구성

 


Telegraf는 플러그인 형식의 Agent이며 4가지 유형이 있습니다. (Telegraf plugins)

  1. Input Plugin : 시스템, 서비스, 서브파티 API로부터 메트릭 수집
  2. Processor Plugin : 매트릭 설명, 변환 등을 지원
  3. Aggregator Plugin : mean, min, max, quantiles와 같은 다양한 종합 매트릭 지원
  4. Output Plugin : 다양한 목적지에 매트릭 저장


데이터 수집 방식

push 방식

  • 모니터링 대상 서버에 telegraf나 FluentD 또는 자체 개발한 프로그램을 백그라운드로 실행하여 모니터링 서버로 push서버마다 agent를 설치해야 하는 불편함

pull 방식

  • 모니터링 서버에서 각 서버에 접속하여 pull
  • 모니터링 서버가 보안 위험에 노출될경우 다른서버들로 접속이 가능한 위험
  • 모니터링 서버에 수집 부하가 집중되는 문제



호스트 OS에 접근할 수 없는 paas제품의 경우 pull방식을 사용하지만 되도록 push방식 사용을 권장합니다.

push 방식으로 호스트OS에 agent 설치하는 방법에 대해 진행합니다.


Telegraf 설치

 https://portal.influxdata.com/downloads/<- ubuntu 외 리눅스인경우 공식페이지의 설치 방법 참조

influxdb와 telegraf는 같은 조직에서 만들어 졌습니다.
이미 influx가 설치되어 있는 상태라면 저장소와 키 설정은 되어 있으므로 저장소, 키 설정은 스킵해도 괜찮습니다.

패키지 설치 준비 (저장소, 키 설정)

키 설정

sudo curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -

 

저장소 설정

source /etc/lsb-release
echo "deb https://repos.influxdata.com/$ {DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

 

저장소 업데이트

sudo apt update

 

telegraf 패키지 설치

sudo apt install telegraf -y


telegraf 서비스 시작하고 시스템 재시작 될 때마다 서비스 실행되도록

  • sudo systemctl start telegraf
  • sudo systemctl enable telegraf


telegraf 서비스 확인

sudo systemctl status telegraf



구성파일 생성

새로운 구성파일을 생성하기 위해 기본 구성파일 이름 변경

cd /etc/telegraf
sudo mv telegraf.conf telegraf.conf.default

 

각종 System 모니터링 지표 및 MySQL 모니터링 데이터를 수집하고 InfluxDB로 저장하도록 샘플 telegraf.conf를 생성

sudo telegraf -sample-config -input-filter cpu:disk:kernel:mem:net:netstat:system:diskio:processes:swap:redis:sqlserver:ping -output-filter influxdb > telegraf.conf

 


설정내용 확인

cat telegraf.conf



구성파일 설정

sudo vim telegraf.conf

vi 명령어 팁
i - 편집모드
/ - 검색
n - 검색 후 다음 찾기
:q! - 저장하지 않고 종료
:wq - 저장하고 종료


 
Telegraf 서비스를 재시작 하여 오류가 없는지 확인

sudo systemctl restart telegraf


아래 명령을 사용하여 텔레스래프 설정 테스트

sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter cpu
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter net
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter mem

 




3-2단계 Telegraf Agent 설치 Window 


참고문서
Windows에서 telegraf 사용하기

telegraf 다운로드
 https://portal.influxdata.com/downloads/ 



다운로드 후 압축을 풀었을때 파일 구성
telegraf.conf : 설정파일
telegraf.exe : agent


telegraf 경로 설정
경로 설정없이 telegraf를 바로 실행하면 다음과 같은 오류가 생깁니다.



telegraf를 실행하기에 앞서 두 가지 방법 중 하나로 telegraf.conf파일의 위치를 잡아줘야 합니다.

  • telegraf.conf파일의 위치를 TELEGRAF_CONFIG_PATH 이름으로 시스템 환경변수에 추가 하거나
  • (추천) C:\Program Files\Telegraf\ 경로로 telegraf.conf을 이동

 


telegraf.conf 설정
이벤트들이 기록될 influxdb의 ip:port와 database 이름을 작성하고 주석(#)을 풀어 줍니다.

 


telegraf 서비스 설치

서비스 등록시 .conf파일의 전체 경로로 작성해야 합니다.

telegraf --service install --config "C:\Program Files\Telegraf\telegraf.conf"

  • 팁 : sc delete <service-name>
    • telegraf --service uninstall
    • telegraf --service start
    • telegraf --service stop

텔레그래프 작동하는지 확인

telegraf --config "C:\Program Files\Telegraf\telegraf.conf" --test

대략 아래와 같이 출력되면 테스트는 성공입니다.

 


telegraf 서비스 시작

net start telegraf

 



만약 서비스 시작시 오류가 발생한다면 대부분 서비스 등록시 .conf 파일의 경로가 잘못된 경우 입니다.


4단계 Grafana 설치



 https://grafana.com/docs/grafana/latest/<- ubuntu 외 리눅스인경우 공식페이지의 다운로드 방법 참조

도움된 문서 : Grafana ubuntu 설치하기

키 추가

wget -q -O -https://packages.grafana.com/gpg.key| sudo apt-key add -



레포지토리 추가

sudo add-apt-repository "debhttps://packages.grafana.com/oss/deb stable main"

 


저장소 업데이트 후 grafana 설치

sudo apt update
sudo apt-get install grafana
sudo apt-get install -y apt-transport-https

 

서비스 시작하고 시스템 부팅 때마다 시작되도록 설정

sudo systemctl start grafana-server
sudo systemctl enable grafana-server

 

Grafana 기본 포트인 3000이 활성화 되어 있는지 확인

sudo netstat -plntu


Grafana 페이지 확인


기본 계정으로 최초 로그인
id : admin / pw : admin



6단계 Grafana 데이터 소스 설정




garafana에서 가시화 할 데이터 소스를 influxdb로 설정합니다.


데이터소스 추가



InfluxDB 선택



접속정보, DB 명, 사용자 정보 추가



Save & Test를 통해 접속 가능한 상태인지 확인



 

 

 

반응형
LIST