1. 기본 구조
1) 수집 형태
2) 제품 선택 (EMK vs ITG)
A. 저장 데이터베이스
I. ElasticSearch
(ㄱ) 장점 : 현재 회사에서 사용 중, 시간 단위로 데이터를 저장에 적합
(ㄴ) 단점 : Kibana MS-SQL 계열의 템플릿 중 x-pack(사용버전)만 지원하는 하는 내용이 있음
II. InfluxDB
(ㄱ) 장점 : 시계열 데이터베이스로서 가장 많이 사용되고 있는 DB로 모니터링에 적합
(ㄴ) 단점 : 시계열 데이터베이스 자체의 사용이 적어 기술적 레퍼런스 적음
B. 데이터 수집
I. Metricbeat
(ㄱ) 장점 : 수집, 저장, 출력 이 모두 같은 업체 제품으로 가능하여 템플릿 구성이 잘되어 있음
(ㄴ) 단점 : windows는 6 버전, MS-SQL는 7버전부터 지원하고 아직 다양한 정보를 가져오지 못함
II. telegraf
(ㄱ) 장점 : influxData 제품으로 influxDB와 템플릿으로 호환되며 windows Perfmon에서 지원하는 내용을 대부분 가져옴
(ㄴ) 단점 : influxDB와만 대부분 호환 가능
C. 데이터 디스플레이
I. Kibana
(ㄱ) 장점 : 다양한 템플릿을 elastic에서 직접 공유하여 편히 사용가능
(ㄴ) 단점 : 아직 windows 와 MS-SQL 지표는 템플릿 부족
II. grafana
(ㄱ) grafana vs Chronograf : influxData에서 자체적으로 지원하는 출력 툴인 Chronograf가 있으나 아직 초기 개발단계라 다양한 시작적 효과 미비, grafana가 influxDB를 지원함으로 이용 가능함
(ㄴ) 장점 : 현재 회사에서 사용 중, 다양한 그래프 및 문자 출력 용이
(ㄷ) 단점 : 그래프 변수 전달 시 알람 기능 사용불가
D. 결정 : windows 및 MS-SQL 데이터를 더 다양하게 가져올 수 있는 제품으로 생각하여 ITG 선택
2. 설치
1) telegraf
A. 다운로드 : https://portal.influxdata.com/downloads/
B. 설정
I. https://github.com/influxdata/telegraf/blob/master/docs/CONFIGURATION.md
II. 주요 설정 값 :
(ㄱ) flush_jitter : 설정한값으로 가지고 있는 값을 flush함
설정 값 - 5s(5초)
(ㄴ) logfile : 로그파일의 위치와 파일 설정
설정 값 : ./logs/telegraf.log
(ㄷ) hostname : 서버호스트명으로 셋팅
(ㄹ) [[outputs.influxdb]] 셋팅
① urls : influxDB 주소
설정 값 : urls = ["http://127.0.0.1:10000"]
② database : 저장 데이터베이스명
설정 값 : database = "telegraf"
(ㅁ) windows 버전을 받으면 기본적으로 input이 windows 시스템으로 구성되어 있음
아래 값을 추가적으로 수집
[[inputs.win_perf_counters]]
[[inputs.win_perf_counters.object]]
# Process metrics, in this case for IIS only
ObjectName = "Process"
Counters = ["% Processor Time","Handle Count","Private Bytes","Thread Count","Virtual Bytes","Working Set"]
Instances = ["*"]
Measurement = "win_proc"
#IncludeTotal=false #Set to true to include _Total instance when querying for all (*).
(ㅂ) [[inputs.sqlserver]] 추가
① MS-SQL 정보 input 받기 위해서 값 추가
② MS-SQL 연결 정보 셋팅
설정 값 : servers = ["Server=127.0.0.1;Port=1433;User Id=admin_dba;Password=shr#lsghd0ks;app name=telegraf;log=1;",]
③ query_version 버전이 2개 존재하는 데 최신 버전인 사용
설정 값 : query_version = 2
2) influxDB
A. 다운로드 : https://portal.influxdata.com/downloads/
B. 설정
I. https://docs.gitlab.com/ee/administration/monitoring/performance/influxdb_configuration.html
II. 메타 정보 저장 위치 설정
설정 값 : dir = "D:\\MONITORING\\influxdb\\meta"
III. 데이터 파일 저장 위치 설정
설정 값 : dir = "D:\\MONITORING\\influxdb\\data"
IV. wal(로그) 파일 저장 위치 설정
설정 값 : wal-dir = "D:\\ influxdb-1.7.2-1\\influxdb\\wal"
V. 디비 연결 포트 설정 : (포트값 4자리까지만 인지)
설정 값 : bind-address = ":8001"
3) grafana
A. 다운로드 : https://grafana.com/get
B. 설정
I. defaut.ini 를 복사하여 custom.ini 생성
II. custom.ini의 연결 포트 변경
설정 값 : http_port = 3001
4) 테스트
A. influxDB 실행
I. 설치 폴더로 이동
II. influxd.exe --config=influxdb.conf
B. telegraf 실행
I. 설치 폴더로 이동
II. telegraf --config=telegraf-dw.conf
C. grafana 실행
I. 설치 폴더의 bin 폴더로 이동
II. grafana-server.exe
D. 웹 브라우저로 grafana 접근
3. 대쉬보드 셋팅
1) DB 등록
A. Grafana > Configuration 이동
B. Add data source 클릭 -> InfluxDB 선택
C. DB 연결 정보 입력
HTTP – URL : 접속 셋팅한 URL (http://localhost:8001)
InfluxDB Detail :
- Database : telegraf
- user : admin
- password : admin
2) 대쉬보드 import
A. 대쉬보드 템플릿 다운로드
I. MSSQL : https://grafana.com/dashboards/9386 (sql-servers_rev2.json)
II. Windows Server : https://grafana.com/dashboards/1902 (sql-server-telegraf_rev1.json)
III. 저장한 경로 : DW 장비 > D:\MONITORING\grafana\public\dashboards
B. pie 그래프를 사용하기 위한 plugin 설치
I. 설치 폴더로 이동
II. grafana-cli plugins install grafana-piechart-panel 로 설치
C. Grafna > Create > import
D. Upload .json File > 다운로드한 json 선택
I. Name 설정
II. influxdb-telgraf 설정 : 등록한 DB 선택
4. Windows Service 등록
1) 윈도우 서비스 등록 프로그램
B. 간단한 명령어
I. 서비스 설치(윈도우 서비스 관리에 등록)
nssm install <servicename>
nssm install <servicename> <program>
nssm install <servicename> <program> [<arguments>]
nssm set <servicename> AppDirectory <path>
II. 서비스 삭제(윈도우 서비스 관리에서 제거)
nssm remove
nssm remove <servicename>
nssm remove <servicename>confirm
III. 서비스 시작과 중지
nssm start <servicename>
nssm stop <servicename>
nssm restart <servicename>
IV. 서비스 상태 질의
nssm status <servicename>
V. 서비스 제어 전송
nssm pause <servicename>
nssm continue <servicename>
nssm rotate <servicename>
C. 출처:
https://gafani.tistory.com/entry/윈도우에서-서비스-등록하는-프로그램
https://bigdatalab.tistory.com/9
2) Grafana service 등록
A. nssm 설치 경로 > 64bit 이동
B. 서비스 등록
cmd 창 > nssm install Grafana
Install service
Grafana > 마우스 오른쪽 버튼 > 시작
3) InfluxDB 서비스 등록
A. nssm 설치 경로 > 64bit 이동
B. 서비스 등록
cmd 창 > nssm install InfluxDB
Install service
InfluxDB > 마우스 오른쪽 버튼 > 시작
C. 데이터 보관 기간 설정
설치 경로로 이동 > influx.exe 실행
> show retention policies on telegraf (보관 기간 확인 0s면 무제한)
> alter retention policy augen on telegraf duration 5w(5주로 변경)
4) Telegraf 서비스 등록
A. https://github.com/influxdata/telegraf/blob/master/docs/WINDOWS_SERVICE.md
B. 서비스 등록
cmd 를 관리자 권한으로 실행 > telefgraf 설치 폴더로 이동
telegraf --service install --service-name=Telegraf_DW --config "D:\MONITORING\telegraf\telegraf_dw.conf"
Telegraf Data Colletot Serviec > 마우스 오른쪽 버튼 > 실행
'Database > SQL Server' 카테고리의 다른 글
확장 이벤트를 통한 Dead Lock 캡처 (0) | 2021.04.22 |
---|---|
Lock 과 DeadLock (0) | 2021.04.22 |
Flyway 이용한 형상관리 (0) | 2021.04.16 |
SQL Server 및 OS 성능 지표 정리 (0) | 2021.04.16 |
SQL Server Graph DB 간단한 테스트 (0) | 2021.04.15 |
최근댓글