참고
- Ubuntu 18.04 LTS에서 TIG Stack (Telegraf, InfluxDB, Grafana) 설정
- Ubuntu 18.04 LTS에서 TIG Stack (Telegraf, InfluxDB, Grafana) 설정
- 리눅스 권한 관리 명령어 사용법 정리 (chmod, chown, chgrp 명령어)
- Cloud Z Monitoring 사용자 가이드 (그라파나)
InfluxDB
- Go로 작성된 오픈 소스 시간 시퀀스 데이터베이스입니다.
- 빠른 고 가용성 스토리지에 최적화되어 있으며
- DevOps 모니터링, 로그 정보, 소프트웨어 메트릭, IoT 센서 정보 및 실시간 분석과 함께 대량의 타임 스탬프 정보가 포
- 함 된 모든 사용 사례에 대한 지식 소매 업체로 사용됩니다.
Telegraf
- 메트릭 축적, 처리, 집계 및 작성을위한 에이전트입니다.
- 그것은 influxdb, Graphite, Kafka, OpenTSDB 등과 비슷한 수많은 출력 플러그인을 도와줍니다.
Grafana
- 개방형 공급 정보 시각화 및 모니터링 제품군입니다.
- Graphite, Elasticsearch, Prometheus, influxdb 및 수많은 추가 데이터베이스를 지원합니다.
- 이 소프트웨어는 앱 또는 인프라 효율성 모니터링에서 개인 대시 보드를 처리하고 생성 할 수있는 유연성을 갖춘 뛰어난 대
- 시 보드 및 메트릭 분석 기능을 제공합니다.
InfluxDB가 설치되는 리눅스 가상머신에 디스크를 추가한 경우 파티션 구성하는 방법
- InfluxDB 설치
- 데이터 디렉터리 변경
- InfluxDB 데이터베이스 및 사용자 생성
- Telegraf Agent 설치/구성
- for linux
- for windows
- Grafana 설치
- Grafana 데이터 소스 설정
- Grafana 대시 보드 설정
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
팁
- show meansurements
- show tag keys
- show field keys
- use <database-name>
- InfluxDB 용어와 개념
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)
- Input Plugin : 시스템, 서비스, 서브파티 API로부터 메트릭 수집
- Processor Plugin : 매트릭 설명, 변환 등을 지원
- Aggregator Plugin : mean, min, max, quantiles와 같은 다양한 종합 매트릭 지원
- 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를 통해 접속 가능한 상태인지 확인
'IT > 개발환경' 카테고리의 다른 글
TIG (Telegraf Influxdb Grafana) (3/4) - 그라파나 알림 구성 (0) | 2023.05.03 |
---|---|
TIG (Telegraf Influxdb Grafana) (2/4) - 그라파나 그래프 구성 (0) | 2023.05.03 |
리눅스 디스크 (1/4) - 디스크 추가 (0) | 2023.05.03 |
Teamcity Backup/Restore (0) | 2023.05.03 |
pkg 만들기 (0) | 2023.04.27 |