On-premise Installation Guide WhaTap Support Version 1.0.4
Table of Contents 수집서버설치가이드......................................................................................... 1 1. 안내사항............................................................................................. 2 1.1. 와탭수집서버모듈................................................................................... 2 1.2. 최소형과확장형..................................................................................... 2 1.3. 라이센스.......................................................................................... 2 1.4. 라이센스만기...................................................................................... 3 2. 수집서버준비......................................................................................... 4 2.1. 공통항목......................................................................................... 4 2.2. 최소형수집서버사양................................................................................ 4 2.3. 확장형수집서버사양................................................................................ 4 2.4. 수집서버 Disk 산정.................................................................................. 4 2.5. 방화벽오픈........................................................................................ 5 2.6. 파일디스크립터설정의상향조정........................................................................ 5 2.7. 수집서버시간동기화................................................................................. 6 3. 설치작업절차......................................................................................... 7 3.1. 설치파일및라이센스업로드........................................................................... 7 3.2. JDK 설치.......................................................................................... 7 3.3. 실행파일편집...................................................................................... 7 3.4. 설정편집.......................................................................................... 7 3.5. 로그경로변경..................................................................................... 10 3.6. 실행............................................................................................ 10 3.7. 실행확인......................................................................................... 13 3.8. 점검............................................................................................ 14 4. 최소형설치예제...................................................................................... 15 4.1. 환경............................................................................................ 15 4.2. 서버설치......................................................................................... 15 4.3. 기동............................................................................................ 16 5. 확장형설치예제...................................................................................... 18 5.1. 환경............................................................................................ 18 5.2. 설치절차......................................................................................... 18 5.3. 기동............................................................................................ 23 5.4. 설치확인......................................................................................... 24 6. 알람연동............................................................................................ 26 6.1. SMTP 연동....................................................................................... 26 6.2. 텔레그램연동..................................................................................... 26 6.3. Slack 연동........................................................................................ 30 7. FAQ................................................................................................ 35 7.1. 재설치........................................................................................... 35 7.2. 사이트관리자패스워드.............................................................................. 35 7.3. 포트변경......................................................................................... 35 7.4. 설치파일다운로드.................................................................................. 35 7.5. MySQL DB 사용.................................................................................... 35 7.6. Windows 환경수집서버의응답지연..................................................................... 37 7.7. 이중화된 Proxy 서버구축시 Agent 커넥션리밸런싱.......................................................... 37 7.8. Windows 환경에서 WindowsServices 등록................................................................ 38 7.9. 문의처........................................................................................... 39
Preface 수집서버설치가이드 제목 : On-premise Installation Guide 작성자 : WhaTap Support 이메일 : support@whatap.io 날짜 : 2020-03-17 버전 : 1.0.4 설명 : 본문서는 WhaTap 설치형수집서버설치에대해설명합니다. 문서에관한문의는 support@whatap.io 로연락주시기바랍니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 1
1.1. 와탭수집서버모듈 Chapter 1. 안내사항 SaaS 형서비스사용시와탭의수집서버를사용하므로별도수집서버설치는불필요합니다. 1.1. 와탭수집서버모듈 와탭수집서버모듈은역할별로나누어져있습니다. 하나의모듈은 JVM Process 하나와대응합니다. Table 1. 수집서버모듈 모듈명역할비고 front UI 프론트 account 계정관리최소형의경우 front 와통합 yard keeper proxy 수집데이터저장, 가공및제공 데몬의정보를관리 에이전트에서수집한데이터를송신하는 Proxy gateway 확장형에서 front 와 yard 간 gateway 역할최소형의경우불필요 eureka 각데몬의서비스정보를찾는 DNS 역할최소형의경우불필요 notihub stmp, sms 등과연계하여알람발송알람연계시구성 1.2. 최소형과확장형 와탭수집서버는최소형과확장형중선택해설치가능합니다. 1000TPS 이상부하환경이거나향후대규모확장요건이있는경우라면확장형, 그이하라면최소형설치로도충분합니다. 최소형설치 1 대의수집서버내에서모든서비스모듈이구동됨 단순한설치와구성 확장형설치 2 대이상수집서버가역할을분담하는구성으로확장이손쉬움 다량의에이전트, 프로젝트, 리전을수용할수있음 1.3. 라이센스 설치형서버는별도의수집서버라이센스를필요로합니다. 일반고객에게직접발급하지않으며기술지원파트너에게발급합니다. 아래정보들을포함해작성후 license@whatap.io 으로이메일요청합니다. 설치환경정보 고객사와사업명정보를기입합니다. 고객담당자 최종사용자의이름, 전화번호, 이메일정보를기입합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 2
1.4. 라이센스만기 라이센스시작 / 종료일 라이센스시작 / 종료일을기입합니다. 영구발행인경우영구로기입합니다. 서버모니터링 대상코어수 / 에이전트수 어플리케이션모니터링 대상코어수 / 에이전트수 DB 모니터링 대상코어수 / 에이전트수 라이센스신청예 mailto: license@whatap.io mailfrom: whatap_engineer@partner.com Tile: XXX주식회사차세대시스템에적용할애플리케이션모니터링라이센스요청드립니다. contents: XXX 주식회사차세대시스템에적용할애플리케이션모니터링라이센스요청드리니검토후발급부탁드립니다. 정보는다음과같습니다. 설치환경정보 : XXX주식회사차세대시스템고객담당자 : 홍길동과장 / 000-0000-0000 / gd.hong@xxxcompany.co.kr 라이센스시작 / 종료일 : 2019-08-15 / 영구서버모니터링 : 0/0 애플리케이션모니터링 : 128 / 32 DB 모니터링 : 0/0 감사합니다. 1.4. 라이센스만기 수집서버는매시정각라이센스사용기간과사용량을체크합니다. 기간만료나수량을초과한경우에이전트데이터수집은정상적으로이루어지나모니터링 UI로접속이제한됩니다. 라이센스연장요청은최초발급과정과동일하며, 연장임을명시하여요청합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 3
2.1. 공통항목 Chapter 2. 수집서버준비 2.1. 공통항목 OS : 안정화버전 Linux 배포판 (Windows 설치가능하나비권장 ) JDK : JDK 1.8 이상사전설치 (1.7 동작하나비권장 ) 높은 File I/O로인한운영체제 file descriptor 설정조정 방화벽사전오픈 서버 NTP 동기화적용 2.2. 최소형수집서버사양 서버 (VM) : 1 대 CPU : 4Core 이상 ( 최소 2Core) Memory : 16G 이상 ( 최소 8G) Disk : 수집서버 Disk 산정기준에따름 (OS 영역별도, SSD 또는고성능스토리지필요 ) 2.3. 확장형수집서버사양 서버 (VM) : 2 대이상 CPU Front : 2Core 이상 Yard : 4Core 이상 ( 최소 2Core) Memory Front : 8G 이상 ( 최소 4G) Yard : 16G 이상 ( 최소 8G) Disk Front : 2G 이상 (OS 영역별도 ) Yard : 수집서버 Disk 산정기준에따름 (OS 영역별도, SSD 또는고성능스토리지필요 ) 2.4. 수집서버 Disk 산정 Table 2. Disk 사용량산출상세 구분데이터보존기간 Disk 용량산출근거 Infra Monitoring 1 년 8.2G / 연 (1EA * Raw Data 100M * 30일 ) (Summary Data 14M * 365일 ) 1 Agent 기준 Application Monitoring 30 일 30G / 월 (1Gb * 30일 ) 100 TPS 기준 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 4
2.5. 방화벽오픈 2.5. 방화벽오픈 2.5.1. 기본 출발지목적지프로토콜포트용도 에이전트 Yard 서버 TCP 6600 모니터링데이터전송 모니터링 PC Front 서버 TCP 8080 모니터링 UI 사용 2.5.2. 확장형 출발지목적지프로토콜포트용도 Front Yard TCP 6500 사용자초대 Front Yard TCP 8800 모니터링 API 조회 Yard Front TCP 6761 서버정보등록 Yard Front TCP 18080 이벤트알림대상조회 Yard 를다중화한경우라면 Yard 끼리서로통신가능해야합니다. Table 3. Yard 를다중화한경우 출발지목적지프로토콜포트 Yard Yard TCP/UDP 6789 Yard Yard TCP 7710 Yard Yard TCP 6610 Yard Yard TCP 6620 Yard Yard TCP 6500 Yard Yard TCP 8800 2.6. 파일디스크립터설정의상향조정 시스템의파일디스크립터설정을상향조정합니다. /etc/sysctl.conf $ sudo vi /etc/sysctl.conf fs.file-max = 999999 1 $ sysctl -p 2 $ sysctl -a grep fs.file-max = 999999 3 1 sysctl.conf 파일내용에 fs.file-max = 999999 설정을추가합니다. 2 추가한설정을적용합니다. 3 추가한설정을확인합니다. 설치형서버를실행할사용자에대해파일디스크립터설정을상향합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 5
2.7. 수집서버시간동기화 /etc/security/limits.conf $ sudo vi /etc/security/limits.conf 1 { 사용자계정또는 @ 그룹명 } soft nofile 999999 { 사용자계정또는 @ 그룹명 } hard nofile 999999 1 /etc/security/limits.conf 파일에사용자또는그룹이름으로 soft, hard 설정을상향합니다. 사용자계정은그대로사용하고, 그룹은앞에 @ 를붙여서설정합니다. 2.7. 수집서버시간동기화 수집서버의시간을동기화합니다. ntpq 또는 rdate $ntpq -p # 또는 $rdate -s time.bora.net 확장형구성에서수집서버간시간이다른경우데이터누락, 통계왜곡이발생하므로반드시 NTP 등을통해올바른시간이 설정되어있어야합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 6
3.1. 설치파일및라이센스업로드 Chapter 3. 설치작업절차 3.1. 설치파일및라이센스업로드 단일서버에구성하는경우, 최소형패키지를활용하며향후확장성을고려할때확장형패키지를활용하여설치를진행합니다. JDK 및와탭 모니터링패키지를설치대상서버에업로드하고압축을해제합니다. 최소형패키지 : whatap_single-*.*.*.****.tar 확장형패키지 : whatap_multi-*.*.*.****.tar JDK 1.8 이상 라이센스파일 : 텍스트파일로별도준비 와탭모니터링패키지를압축해제하면 whatap_package 라는디렉토리로압축이해제됩니다. 본문서에서이후해당경로를 $WHATAP_PACKAGE 로기술합니다. 3.2. JDK 설치 대상서버에 JDK 가설치되어있는경우이를활용합니다. 설치되어있지않은경우 JDK8 이상을사전설치합니다. 본문서에서이후 JDK 설치경로를 $JDK 로기술합니다. 3.3. 실행파일편집 $WHATAP_PACKAGE/bin 하위에는쉘스크립트가존재합니다. 스크립트에실행권한을부여합니다. $WHATAP_PACKAGE/bin $ cd $WHATAP_PACKAGE/bin $ chmod +x *.sh 이후쉘스크립트를편집하여 JAVA_HOME 경로를지정합니다. 예 ) front.sh #!/usr/bin/env bash SERVICE_NAME=front.apm JAVA_HOME=$JDK SERVER_HOME=cd..;pwd LIB_HOME=$SERVER_HOME/lib CONF_PATH=$SERVER_HOME/conf EXE_JAR=ls $LIB_HOME/*.${SERVICE_NAME}.boot* sort tail -1 $JAVA_HOME/bin/java -Djava.security.egd=/dev/./urandom -Dwhatap.log.path=. -Xmx512m -jar $EXE_JAR 최소형설치의경우 front.sh, keeper.sh, yard.sh, proxy.sh 가사용되고, 확장형설치의경우 eureka.sh, account.sh, front.sh / keeper.sh, yard.sh, proxy.sh, gateway.sh 가사용됩니다. 부가적으로이벤트알림설정을추가할경우 notihub.sh 가사용됩니다. 3.4. 설정편집 $WHATAP_PACKAGE/lib 하위에는어플리케이션라이브러리 (jar), $WHATAP_PACKAGE/conf 하위에는설정파일 (conf) 이존재합니다. 실행파일편집시개행코드로인한문제발생시에는 vi 에디터에서 :set ff=unix 로지정하고편집합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 7
3.4. 설정편집 각설정파일에서필수로설정해야하는정보를수정합니다. Table 4. 설치유형별수정대상설정 구분파일명항목명설정 최소형 account.conf owner ifconfig/ipconfig 로식별가능한 IP license 발급받은서버라이센스 front.conf region.proxy.address 에이전트가데이터를전송하게될수집 서버의 IP admin.password 사이트관리자계정패스워드 ( 초기값 : admin) notihub.conf mail.host SMTP 연계를통한초대메일및 알람발송등적용시 mail.port mail.username mail.password mail.sender mail.smtp.auth mail.smtp.ssl.enable mail.smtp.starttls.enable mail.smtp.starttls.required smsformat smssender 이벤트알림중문자발송시고객사커스터마이징설정을지정 smsformat 확장형 account.conf owner ifconfig/ipconfig로확인가능한 account 서버 IP license eureka.addr eureka.hostname eureka_client_ip_address region.id 발급받은서버라이센스 eureka 서버접근정보 eureka 에등록할명칭 ( 복수의서버가동일명칭을가질수있음 ) gateway 에서접근가능한 account 서버 IP 첫번째리전의 ID region.name region.proxy.address mail.host 첫번째리전의 proxy IP( 복수지정가능 ) SMTP 연계를통한초대메일적용시 mail.port mail.username mail.password mail.sender mail.smtp.auth mail.smtp.ssl.enable mail.smtp.starttls.enable Copyright c 2019 WhaTap Labs Inc. All rights reserved. 8
3.4. 설정편집 구분파일명항목명설정 mail.smtp.starttls.required front.conf eureka.addr eureka 서버접근정보 eureka.hostname eureka_client_ip_address eureka 에등록할명칭 ( 복수의서버가동일명칭을가질수있음 ) front 서버 IP admin.password 사이트관리자계정패스워드 ( 초기값 : admin) yard.conf keeper yard에서접근가능한 keeper 서버 IP:Port server.name keeper 에등록할이름 ( 서버단위 ) net_noti_ip yard 에서접근가능한 noti 서버 IP proxy.conf keeper proxy에서접근가능한 keeper 서버 IP:Port server.name keeper 에등록할이름 ( 서버단위 ) gateway.conf eureka.addr eureka 서버접근정보 eureka.hostname eureka_client_ip_address keeper region.name eureka 에등록할명칭 ( 복수의서버가동일명칭을가질수있음 ) account/front 에서접근가능한 gateway 서버 IP gateway 에서접근가능한 keeper 서버 IP:Port region 명첫번째 region 명은 account.conf 에서지정한 region.name 과일치해야함두번째이후 region 명은사이트관리자페이지에서지정한 region 명과일치해야함 notihub.conf eureka.addr eureka 서버접근정보 eureka.hostname eureka_client_ip_address keeper mail.host eureka 에등록할명칭 ( 복수의서버가동일명칭을가질수있음 ) noti 서버 IP noti 에서접근가능한 keeper 서버 IP:Port 이벤트알람중 SMTP 통한메일발송기적용시 mail.port mail.username mail.password mail.sender mail.smtp.auth mail.smtp.ssl.enable mail.smtp.starttls.enable mail.smtp.starttls.required smsformat smssender 이벤트알림중문자발송시고객사커스터마이징설정을지정 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 9
3.5. 로그경로변경 구분파일명항목명설정 smsformat 3.5. 로그경로변경 실행시로그는 $WHATAP_PACKAGE /logs/{server 명 }.log 로출력됩니다. 로그를외부경로에출력할경우다음과같이지정합니다. 로그경로변경 $ cd $WHATAP_PACKAGE $ rmdir logs $ ln -s { 외부경로 } logs $ cd javam/server $ ln -s { 외부경로 } logs 3.6. 실행 서버실행은 $WHATAP_PACKAGE /bin/control.sh 를통해실행하게됩니다. 최소형설치본의경우 $WHATAP_PACKAGE /bin/start.sh, $WHATAP_PACKAGE /bin/stop.sh 파일을통해서도실행 / 정지가가능합니다. 3.6.1. control.sh 를통한실행 최소형서버실행시에는 front 를구성한서버에서다음의명령을실행합니다. control.sh - 최소형./control.sh keeper start./control.sh front start./control.sh yard start./control.sh proxy start./control.sh notihub start ( 이벤트알림설정시 ) 확장형서버실행시에는 front 를구성한서버에서다음의명령을실행합니다. control.sh - 확장형 Front./control.sh eureka start./control.sh account start./control.sh front start./control.sh notihub start yard 구성서버에서다음의명령을실행합니다. control.sh - 확장형 Yard./control.sh keeper start./control.sh yard start./control.sh proxy start./control.sh gateway start control.sh 실행시다음과같이메뉴를선택하여작업을수행할수도있습니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 10
3.6. 실행 control.sh - Usage $ cd $WHATAP_PACKAGE/bin $./control.sh ------------------------------------------------------------------------- [ Usage ]./control.sh [ service_name [ command ]]./control.sh menu./control.sh all (stop/status)./control.sh single (status/start/stop/restart)./control.sh (multi-front/mf) (status/start/stop/restart)./control.sh (multi-yard/my) (status/start/stop/restart)./control.sh front (status/start/stop/restart)./control.sh proxy (status/start/stop/restart)./control.sh yard (status/start/stop/restart)./control.sh keeper (status/start/stop/restart)./control.sh notihub (status/start/stop/restart)./control.sh eureka (status/start/stop/restart)./control.sh gateway (status/start/stop/restart)./control.sh account (status/start/stop/restart) /apps/whatap/bin/admin_console.sh ------------------------------------------------------------------------- Copyright c 2019 WhaTap Labs Inc. All rights reserved. 11
3.6. 실행 control.sh - 메뉴./control.sh menu ===========================# Select type ===========================# 1. service start/stop 2. start-single 3. restart-single 4. start-multi 5. restart-multi 6. status-all 7. stop-all 99. Exit ===========================# number> { 원하는메뉴번호를입력함 } ===========================# Select command ===========================# 1. front start 2. front stop 3. front restart 4. proxy start 5. proxy stop 6. proxy restart 7. yard start 8. yard stop 9. yard restart 10. keeper start 11. keeper stop 12. keeper restart 13. notihub start 14. notihub stop 15. notihub restart 16. billing start 17. billing stop 18. billing restart 19. eureka start 20. eureka stop 21. eureka restart 22. gateway start 23. gateway stop 24. gateway restart 25. account start 26. account stop 27. acdount restart 0. menu 99. Exit ===========================# number> { 원하는메뉴번호를입력함 } Copyright c 2019 WhaTap Labs Inc. All rights reserved. 12
3.7. 실행확인 3.7. 실행확인 기동완료여부는서버의포트리스닝여부와로그를확인합니다. 3.7.1. 포트리스닝확인 구성환경에따른서버의포트리스닝여부를체크합니다. $ netstat -na grep { 체크대상포트 } grep LISTEN 최소형 [single port] images/single_port.png 어플리케이션서버포트프로토콜용도 front (+account) 8080 HTTP 모니터링사이트 keeper 6789 TCP/UDP 서버정보수신 yard 7710 TCP 모니터링데이터조회 6610 TCP 모니터링데이터저장 proxy 6600 TCP 에이전트데이터수신 notihub 6500 TCP/UDP 이벤트알림 확장형 [multi port] images/multi_port.png 어플리이션서버포트프로토콜용도 eureka 6761 TCP 서버위치관리 account 18080 HTTP 계정관리 front 8080 HTTP 모니터링사이트 gateway 8800 TCP 리전요청수신 keeper 6789 TCP/UDP 서버정보수신 yard 7710 TCP 모니터링데이터조회 6610 TCP 모니터링데이터저장 proxy 6600 TCP 에이전트데이터수신 notihub 6500 TCP/UDP 이벤트알림 3.7.2. 로그확인 실행시로그는 $WHATAP_PACKAGE /logs 하위에출력되므로, 본경로의로그를확인하여이상로그출력여부를점검합니다. 서버초기기동시의 상호접속실패로인한로그는이상로그로간주하지않습니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 13
3.8. 점검 설치형태구분 최소형 / 확장형 어플리케이션로그 front.log keeper.log yard.log proxy.log notihub.log 확장형 eureka.log gateway.log 3.7.3. 실행화면확인 front 서버의기동이정상완료되면, admin@whatap.io / admin 계정으로로그인합니다. 본계정은와탭수집서버관리용으로사용되는계정으로, 수집서버관리용으로만사용합니다. 본계정으로는프로젝트를생성하지않습니다. 화면우상단의계정메뉴 ( 이메일클릭시노출 ) 에서사이트관리를선택하여각화면에표시되는내용을확인합니다. 하기의메뉴가노출됩니다. SERVERS: 서버관리현황 ACCOUNTS: 계정관리 PROJECTS: 프로젝트생성현황 NOTICE: 공지사항등록관리 ( 설치형에서는사용불가 ) REGIONS: 수집서버관리리전정보 MAIL: 최소형설치시메일설정변경 SITELOGO: 설치형제품의로고변경옵션 3.8. 점검 이후점검은신규계정을생성하여진행합니다. 최소점검사항은다음과같습니다. 서버라이센스점검 : admin@whatap.io 계정으로접속후 http:// 수집서버주소 /v2/admin/check URL로접속하여라이센스정상등록여부를확인합니다. 계정생성 : 로그인페이지하단의계정생성링크또는사이트관리자메뉴의 ACCOUNTS를통해계정을생성합니다. 사이트관리자메뉴를통해계정을생성하는경우, 패스워드에대한제약이존재하지않습니다. 프로젝트생성 : 새로생성한계정으로프로젝트를생성하여프로젝트생성시이상현상이발생하지않는지확인합니다. 프로젝트라이센스발급 : 프로젝트카드클릭시의설치안내페이지에서라이센스발급버튼을클릭하고, 이상현상발생여부를확인합니다. 에이전트를적용하고기능체크를수행합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 14
4.1. 환경 Chapter 4. 최소형설치예제 최소형서버를실제운영환경에구성해야하는경우구성에앞서예제를통해연습해볼수있습니다. 4.1. 환경 예제에사용되는환경은다음과같습니다. 호스트명항목내용비고 vmsvr03 용도 front 서버 vmsvr03 OS X86 Linux vmsvr03 IP 192.168.122.23 vmsvr03 구동서비스 Keeper Proxy Yard Front Notihub 4.2. 서버설치 예제환경의설치절차는다음과같습니다. 방화벽, JDK 와같은제반환경은사전구성되어있어야합니다. 파일업로드및환경구성 whatap@vmsvr03:/apps$ ls -alrt 1 합계 519544 drwxr-xr-x 24 root root 4096 7월 6 11:48.. -rw-rw-r-- 1 whatap whatap 531998720 12월 17 12:09 whatap_single-1.2.6.2240.tar drwxrwxr-x 2 whatap whatap 4096 12월 17 12:32 whatap@vmsvr03:/apps$ tar -xvf whatap_single-1.2.6.2240.tar 2 whatap@vmsvr03:/apps$ cd whatap/bin whatap@vmsvr03:/apps/whatap/bin$ chmod +x *sh 3 whatap@vmsvr03:/apps/whatap/bin$ rm -f *.bat *.exe *solaris.sh 4 1 최소형서버의설치파일명은 whatap_single 로시작합니다. 2 설치파일압축을해제합니다. 3 실행파일권한추가합니다. 4 Linux 환경에서불필요파일제거합니다. - ( 선택사항 ) Account 설정변경 /apps/whatap/conf/account.conf 파일을편집하여 {} 내항목을아래값으로변경합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 15
4.3. 기동 /apps/whatap/conf/account.conf # Relative path from Home or Absolute path h2.file.path=./db db_driver=org.h2.driver h2_auto_server=true h2_bind_address=127.0.0.1 jpa_ddl_auto=update db_name=account db_name_project=account admin.email=admin@whatap.io #owner={ip address can be showed by ifconfig/ipconfig} #license={server license} owner=192.168.122.21 1 license=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 2 1 {ip address can be showed by ifconfig/ipconfig} 192.168.122.23 2 {server license} 발급된라이센스 Front 설정변경 /apps/whatap/conf/front.conf 파일을편집하여 {} 내항목을아래값으로변경합니다. /apps/whatap/conf/front.conf standalone=true domain=service.whatap.io keeper=127.0.0.1:6789 region.name=local region.id=local #region.proxy.address={ip_address_accessable_from_agent} region.proxy.address=192.168.122.23 1 admin.email=admin@whatap.io admin.password=admin sessiontimeoutsecs=-1 login_footer_visible=false # NotiHub notihub.enable=true notihub=127.0.0.1:6500 1 {IP_ADDRESS_accessable_from_AGENT} 192.168.122.23 4.3. 기동 Keeper, Proxy, Yard, front 기동 1 whatap@vmsvr03:/apps/whatap/bin$./control.sh keeper start whatap@vmsvr03:/apps/whatap/bin$./control.sh proxy start whatap@vmsvr03:/apps/whatap/bin$./control.sh yard start whatap@vmsvr03:/apps/whatap/bin$./control.sh front start # 또는 2 whatap@vmsvr03:/apps/whatap/bin$./start.sh Copyright c 2019 WhaTap Labs Inc. All rights reserved. 16
4.3. 기동 1 control 명령을사용하여각각의데몬을기동할수있습니다. 2 start 명령을사용하여일괄기동할수있습니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 17
5.1. 환경 Chapter 5. 확장형설치예제 확장형서버를실제운영환경에구성해야하는경우구성에앞서예제를통해연습해볼수있습니다. 5.1. 환경 예제에사용되는환경은 UI 용도의서버 1 기, 수집데이터저장용도의서버 1 기이며세부정부는다음과같습니다. 5.1.1. UI 용도 Front #1 호스트명항목내용비고 vmsvr01 용도 front 서버 vmsvr01 OS X86 Linux vmsvr01 IP 192.168.122.21 vmsvr01 구동서비스 Eureka Front Account Notihub 5.1.2. 수집데이터저장용도 Yard #1 호스트명항목내용비고 vmsvr02 용도 yard 서버 vmsvr02 OS X86 Linux vmsvr02 IP 192.168.122.22 vmsvr02 구동서비스 Keeper Gateway Proxy Yard 5.2. 설치절차 예제환경의설치절차는다음과같습니다. 방화벽, JDK 와같은제반환경은사전구성되어있어야합니다. 5.2.1. Front 서버설치 설치파일을업로드하고실행환경을구성합니다. whatap@vmsvr01:/apps$ ls -alrt 1 합계 769828 drwxr-xr-x 25 root root 4096 8월 14 17:15.. drwxr-xr-x 2 whatap whatap 4096 9월 27 12:08. -rw-r--r-- 1 whatap whatap 788295680 9월 27 12:08 whatap_multi-1.1.4.2092.tar whatap@vmsvr01:/apps$ tar -xvf whatap_multi-1.1.4.2092.tar 2 whatap@vmsvr01:/apps$ cd whatap/bin whatap@vmsvr01:/apps/whatap/bin$ chmod +x *sh 3 whatap@vmsvr01:/apps/whatap/bin$ rm -f *.bat *.exe *solaris.sh 4 whatap@vmsvr01:/apps/whatap/bin$ rm -f gateway.sh keeper.sh *yard* proxy.sh billing.sh billing.sh adaptor.sh start.sh stop.sh noti.sh 5 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 18
5.2. 설치절차 1 확장형서버의설치파일명은 whatap_multi 로시작합니다. 2 설치파일압축을해제합니다. 3 실행파일권한추가합니다. 4 Linux 환경에서불필요파일제거합니다. - ( 선택사항 ) 5 Yard 관련모듈제거 - ( 선택사항 ) 운영과정에서발생할수있는혼란방지를위해 Front 에서사용되지않는실행파일을삭제합니다. Account 설정변경 /apps/whatap/conf/account.conf 파일을편집하여 {} 내항목을아래값으로변경합니다. /apps/whatap/conf/account.conf # Eureka # eureka.addr=http://whatap:1qaz$rfv@{eureka_ip_accessable_from_account}:6761/eureka/ # eureka.hostname={account} # eureka_client_ip_address={account_ip_accessable_from_gateway} eureka.addr=http://whatap:1qaz$rfv@192.168.122.21:6761/eureka/ 1 eureka.hostname=account 2 eureka_client_ip_address=192.168.122.21 3 ribbon_protocol=http prefer_ip_address=true # Region Proxy #region.id={first_region_id/name} #region.name={first_region_display_name} #region.proxy.address={proxy_ips_accessable_from_agents} region.id=region-01 4 region.name=region-01 5 region.proxy.address=192.168.122.22 6 prefer_ip_address=true # DB # Relative path from Home or Absolute path h2.file.path=./db db_driver=org.h2.driver h2_auto_server=true h2_bind_address=127.0.0.1 jpa_ddl_auto=update db_name=account db_name_project=account # Admin Account domain=service.whatap.io database.init=true admin.email=admin@whatap.io admin.password=admin # License owner=192.168.122.21 7 license=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 8 1 {EUREKA_IP_accessable_from_ACCOUNT} 192.168.122.21 2 {ACCOUNT} ACCOUNT 3 {ACCOUNT_IP_accessable_from_GATEWAY} 192.168.122.21 4 {FIRST_REGION_ID/NAME} REGION-01 5 {FIRST_REGION_DISPLAY_NAME} REGION-01 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 19
5.2. 설치절차 6 {PROXY_IPs_accessable_from_AGENTS} 192.168.122.22 7 {ip address can be showed by ifconfig/ipconfig} 192.168.122.21 8 {server license} 발급된라이센스 Front 설정변경 /apps/whatap/conf/front.conf 파일을편집하여 {} 내항목을아래값으로변경합니다. /apps/whatap/conf/front.conf # Eureka #eureka.addr=http://whatap:1qaz$rfv@{eureka_ip_accessable_from_front}:6761/eureka/ #eureka.hostname={front} #eureka_client_ip_address={front_ip} eureka.addr=http://whatap:1qaz$rfv@192.168.122.21:6761/eureka/ 1 eureka.hostname=front 2 eureka_client_ip_address=192.168.122.21 3 ribbon_protocol=http prefer_ip_address=true # Front Control standalone=false domain=service.whatap.io whatap.admin=admin@whatap.io loginable=true sessiontimeoutsecs=-1 login_footer_visible=false # NotiHub notihub.enable=true 1 {EUREKA_IP_accessable_from_FRONT} 192.168.122.21 2 {FRONT} FRONT 3 {FRONT_IP} 192.168.122.21 Notihub 설정 /apps/whatap/conf/notihub.conf 파일을편집하여 {} 내항목을아래값으로변경합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 20
5.2. 설치절차 /apps/whatap/conf/notihub.conf # Eureka eureka.enable=true #eureka.addr=http://whatap:1qaz$rfv@{eureka_ip_accessable_from_noti}:6761/eureka/ #eureka.hostname={notihub} #eureka_client_ip_address={notihub_address} eureka.addr=http://whatap:1qaz$rfv@192.168.122.21:6761/eureka/ 1 eureka.hostname=notihub 2 eureka_client_ip_address=192.168.122.21 3 ribbon_protocol=http prefer_ip_address=true # H2 DB # Relative path from Home or Absolute path h2.file.path=./db h2_auto_server=true db_driver_event=org.h2.driver h2_bind_address=0.0.0.0 jpa_show_sql=false jpa_generate_ddl=true jpa_ddl_auto=update # Mail mail.sender=no-reply@whatap.io mail.smtp.debug=false mail.host= mail.username= mail.password= mail.smtp.protocol=smtp mail.port=25 mail.smtp.auth=true mail.smtp.ssl.enable=false mail.smtp.starttls.enable=true mail.smtp.starttls.required=true 1 {EUREKA_IP_accessable_from_FRONT} 192.168.122.21 2 {NOTIHUB} NOTIHUB 3 {NOTIHUB_IP} 192.168.122.21 5.2.2. Yard 서버설치 설치파일을업로드하고실행환경을구성합니다. whatap@vmsvr02:/apps$ ls -alrt 1 합계 769828 drwxr-xr-x 25 root root 4096 8월 14 17:15.. drwxr-xr-x 2 whatap whatap 4096 9월 27 12:08. -rw-r--r-- 1 whatap whatap 788295680 9월 27 12:08 whatap_multi-1.1.4.2092.tar whatap@vmsvr02:/apps$ tar -xvf whatap_multi-1.1.4.2092.tar 2 whatap@vmsvr02:/apps$ cd whatap/bin whatap@vmsvr02:/apps/whatap/bin$ chmod +x *sh 3 whatap@vmsvr02:/apps/whatap/bin$ rm -rf *.bat *.exe *solaris.sh 4 whatap@vmsvr02:/apps/whatap/bin$ rm -f account.sh eureka.sh adaptor.sh billing.sh noti* start.sh *front.sh 5 1 확장형서버의설치파일명은 whatap_multi 로시작합니다. 2 설치파일압축을해제합니다. 3 실행파일권한추가합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 21
5.2. 설치절차 4 Linux 환경에서불필요파일제거합니다. - ( 선택사항 ) 5 Front 관련항목제거 - ( 선택사항 ) 운영과정에서발생할수있는혼란방지를위해 Yard 에서사용되지않는실행파일을삭제합니다. Gateway 설정 /apps/whatap/conf/gateway.conf 파일을편집하여 {} 내항목을아래값으로변경합니다. /apps/whatap/conf/gateway.conf # Eureka #eureka.addr=http://whatap:1qaz$rfv@{eureka_ip_accessable_from_gateway}:6761/eureka/ #eureka.hostname={gateway} #eureka_client_ip_address={gateway_ip_accessable_from_account} eureka.addr=http://whatap:1qaz$rfv@192.168.122.21:6761/eureka/ 1 eureka.hostname=gateway 2 eureka_client_ip_address=192.168.122.22 3 prefer_ip_address=true # Keeper #keeper={keeper_ip_accessable_from_gateway}:6789 keeper=192.168.122.22:6789 4 # Account 의 Region Value #region.name={region_name_displayed_by_siteadminpage} region.name=region-01 5 1 {EUREKA_IP_accessable_from_GATEWAY} 192.168.122.21 2 {GATEWAY} GATEWAY 3 {GATEWAY_IP_accessable_from_ACCOUNT} 192.168.122.22 4 {KEEPER_IP_accessable_from_GATEWAY} 192.168.122.22 5 {REGION_NAME_displayed_by_SiteAdminPage} REGION-01 Proxy 설정 /apps/whatap/conf/proxy.conf 파일을편집하여 {} 내항목을아래값으로변경합니다. /apps/whatap/conf/proxy.conf # Keeper #keeper={keeper_ip_accessable_from_proxy}:6789 #server.name={proxy-01} keeper=192.168.122.22:6789 1 server.name=proxy-01 2 secure_file_name=secure.conf # Self Monitoring selfmon.enabled=false 1 {KEEPER_IP_accessable_from_PROXY} 192.168.122.22 2 {PROXY-01} PROXY-01 Yard 설정 /apps/whatap/conf/yard.conf 파일을편집하여 {} 내항목을아래값으로변경합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 22
5.3. 기동 /apps/whatap/conf/yard.conf # Keeper #keeper={keeper_ip_accessable_from_yard}:6789 #server.name={yard-01} keeper=192.168.122.22:6789 1 server.name=yard-01 2 # Port web.port=7710 data.port=6610 # Self Monitoring selfmon.enabled=false # Noti #net_noti_ip={noti_ip_accessable_from_yard} #net_noti_port=6500 # NotiHub notihub_enabled=true #notihub=127.0.0.1:6500 notihub=192.168.122.21:6500 3 1 {KEEPER_IP_accessable_from_YARD} 192.168.122.22 2 {YARD-01} YARD-01 3 notihub=127.0.0.1:6500 notihub=192.168.122.21:6500 5.3. 기동 5.3.1. Front 서버기동 Eureka, Front, Account 기동 1 whatap@vmsvr01:/apps/whatap/bin$./control.sh eureka start whatap@vmsvr01:/apps/whatap/bin$./control.sh front start whatap@vmsvr01:/apps/whatap/bin$./control.sh account start # 또는 2 whatap@vmsvr01:/apps/whatap/bin$./start_front.sh 1 control 명령을사용하여각각의데몬을기동할수있습니다. 2 start_front 명령을사용하여일괄기동할수있습니다. Notihub 기동 whatap@vmsvr01:/apps/whatap/bin$./control.sh notihub start 5.3.2. Yard 서버기동 Keeper, Gateway, Proxy, Yard 기동 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 23
5.4. 설치확인 1 whatap@vmsvr02:/apps/whatap/bin$./control.sh keeper start whatap@vmsvr02:/apps/whatap/bin$./control.sh gateway start whatap@vmsvr02:/apps/whatap/bin$./control.sh proxy start whatap@vmsvr02:/apps/whatap/bin$./control.sh yard start # 또는 2 whatap@vmsvr02:/apps/whatap/bin$./start_yard.sh 1 control 명령을사용하여각각의데몬을기동할수있습니다. 2 start_yard 명령을사용하여일괄기동할수있습니다. 5.4. 설치확인 브라우저에서 http://192.168.122.21:8080 에 admin@whatap.io 로접속후확인합니다. 1. 우측상단의계정명클릭해 " 사이트관리 " 메뉴로이동 1. 등록항목확인및 REGION-01 정보확인 NOTIHUB, REGION-01, FRONT, ACCOUNT 항목이보여지는지확인후 REGION-01 의화살표버튼을클릭해이동 1. REGION-01 세부정보확인 KEEPER, PROXY, YARD 정보가확인되면정상입니다 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 24
5.4. 설치확인 1. 라이센스정보확인 http:// 서버접속정보 /v2/admin/check URL 로접속하여등록한라이센스정보가올바른지확인합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 25
6.1. SMTP 연동 Chapter 6. 알람연동 6.1. SMTP 연동 SaaS 환경에서는별도설정없이이메일계정을통해알람및초대발송이가능하나설치형환경에서이메일발송을위해대상환경의 SMTP 정보를 등록해주어야합니다. SMTP 연동설정은 ${WHATAP_HOME}/conf/notihub.conf 에서 MAIL 항목을다음과같이변경합니다. /apps/whatap/conf/notihub.conf... # Mail mail.smtp.debug=false 1 mail.host= 2 mail.username= 3 mail.password= 4 mail.smtp.protocol=smtp mail.port=25 5 mail.smtp.auth=true 6 mail.smtp.ssl.enable=false 7 mail.smtp.starttls.enable=true 8 mail.smtp.starttls.required=true 8... 1 상세로그를 ${WHATAP_HOME}/logs/notihub.log 에출력할지여부를설정합니다. 2 SMTP 서버호스트정보를입력합니다. 3 SMTP 계정정보를입력합니다. 4 SMTP 계정에대한비밀번호를입력합니다. 5 SMTP 포트정보를입력합니다. 6 SMTP 인증여부를설정합니다. 계정으로인증하지않는경우 false 로설정합니다. 7 SSL을사용하는경우 ture 로설정합니다. 8 TLS를사용하는경우 ture 로설정합니다. notihub 를재기동합니다. $./control.sh notihub restart 6.2. 텔레그램연동 와탭의알람은텔레그램메신저를통해서도수신할수있습니다. SaaS 서비스와달리설치형서비스에서는텔레그램연동을위해서는토큰정보가등록하고봇을생성하는과정이필요합니다. 텔레그램클라이언트에서 @botfather 사용자를채팅목록에추가합니다. 텔레그램클라이언트에서 @BotFather 를검색하거나웹브라우저에서 https://telegram.me/botfather 주소로접속해 @BotFather 사용자를 추가할수있습니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 26
6.2. 텔레그램연동 Figure 1. botfather 를추가한화면 새로운봇을생성하고토큰을발급받습니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 27
6.2. 텔레그램연동 Figure 2. 봇생성 1 /newbot 을입력합니다. 2 이름을입력합니다. 예 ) 와탭알람테스트 3 계정정보를입력합니다. 계정은영문이며 bot으로끝나야합니다. 예 ) whatap_alarm_bot 4 봇생성이완료되면토큰이발행됩니다. 생성한계정으로봇을검색하고대화방에생성한봇을초대합니다. Figure 3. 생성한계정으로검색후추가 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 28
6.2. 텔레그램연동 발급받은텔레그램토큰은 ${WHATAP_HOME}/conf/notihub.conf 에추가합니다. /apps/whatap/conf/notihub.conf telegram.token= 1 1 telegram.token 속성으로토큰을등록합니다. notihub 를재기동합니다. $./control.sh notihub restart 관리 - 이벤트설정메뉴로이동해텔레그램박스를선택합니다. 생성된봇과의대화창에서 /help 를입력하면사용법이안내됩니다. 알람을받고자하는프로젝트의라이센스를봇에등록하면알람을수신할수있습니다. 프로젝트의라이센스는에이전트설정 (whatap.conf) 에사용된것과동일하며에이전트설치메뉴에서확인가능합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 29
6.3. Slack 연동 /license < 프로젝트라이센스 > 1 1 봇과의대화창에대상프로젝트라이센스를등록합니다. 6.3. Slack 연동 설치형서비스에서 Slack 을연동하기위해서는 Custom App 을생성하고해당인증을사용합니다. Slack 에로그인후 https://api.slack.com/apps 로이동합니다. Figure 4. 만들기버튼 Create an App 버튼을클릭해적당한이름의앱을생성합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 30
6.3. Slack 연동 Figure 5. App 생성메뉴 App Credentials 에서인증정보를확인합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 31
6.3. Slack 연동 Figure 6. 인증정보 OAuth & Permissions 메뉴를선택해 Redirect URLs 에수집서버 URL 을등록합니다. { 수집서버 _URL}/slack/auth 주소를추가합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 32
6.3. Slack 연동 수접서버 {WHATAP_HOME}/conf/front.conf 에확인한인증정보를추가합니다. slack.clientid=508472741975.529883672800 slack.clientsecret=32634xxxxxxxxxxxxxxxxxxxxxxxxb1f 이벤트알림을수신하고자하는프로젝트의관리 - 이벤트설정메뉴로이동해 Add to Slack 버튼을클릭합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 33
6.3. Slack 연동 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 34
7.1. 재설치 Chapter 7. FAQ 7.1. 재설치 설정오류혹은설정변경을통해문제를해결할수없는경우, 재설치하는과정을안내합니다. 재설치시, 기존모니터링정보는폐기합니다. 로그삭제 $ cd $WHATAP_PACKAGE $ rm -rf logs/* 모니터링데이터삭제 $ cd $WHATAP_PACKAGE $ rm -rf yardbase/* DB 삭제 $ cd $WHATAP_PACKAGE $ rm -rf db/*.db 이후재설치과정은신규설치과정과동일합니다. 7.2. 사이트관리자패스워드 사이트관리자계정 (admin@whatap.io) 은변경불가합니다. 사이트관리자계정의패스워드는 front.conf 의 admin.password 를통해설정 가능합니다. 7.3. 포트변경 어플리케이션서버는디폴트로지정된포트가사전점유되어있는경우, 포트번호를 +1 씩증가시켜가용한포트를활용합니다. 임의로포트를 지정하여사용해야할경우다음의옵션을적용합니다. 파일설정용도디폴트 front.conf web.port 사이트접근 8080 proxy.conf data.port 모니터링데이터수신 ( 서버측 ) 6600 whatap.conf whatap.server.port 모니터링데이터전송 ( 에이전트 ) 6600 7.4. 설치파일다운로드 문의처로요청시 Google Drive 및 AWS S3 를통해제공 ( 라이센스요청시별도제공 ) 7.5. MySQL DB 사용 수집된모니터링데이터는 RDB 를사용하지않고와탭만의독자적인저장구조를가지지만이외계정정보, 구성정보, 알림발송이력은내장 DB 인 H2 를사용합니다. 이를 MySQL DB 로변경하는방법입니다. 계정정보및구성정보 DB 로 MySQL 사용은 ${WHATAP_HOME}/conf/account.conf 을변경합니다. MySQL 에서 account 명의 DB 와 CRUD 권한이있는 {whatap_dbuser} 가존재해야합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 35
7.5. MySQL DB 사용 /apps/whatap/conf/account.conf... # DB # Relative path from Home or Absolute path #h2.file.path=./db 1 #db_driver=org.h2.driver 1 #h2_auto_server=true 1 #h2_bind_address=127.0.0.1 1 #jpa_ddl_auto=update 1 #db_name=account 1 #db_name_project=account 1 # DB for MySQL db_driver=com.mysql.jdbc.driver 2 jdbc_url=jdbc:mysql://127.0.0.1:3306 2 db_username={whatap_dbuser} 2 db_password={whatap_dbpassword} 2 db_name=account 2 db_name_project=account 2... 1 기존설정은주석처리하거나삭제합니다. 2 사용할 Mysql DB 정보를입력합니다. 알림이력의 MySQL 사용은 ${WHATAP_HOME}/conf/notihub.conf 에서 DB 항목을다음과같이변경합니다. /apps/whatap/conf/notihub.conf... # H2 DB # Relative path from Home or Absolute path #h2.file.path=./db 1 #h2_auto_server=true 1 #db_driver_event=org.h2.driver 1 #h2_bind_address=0.0.0.0 1 db_driver_event=com.mysql.jdbc.driver 2 jdbc_url_event=jdbc:mysql://127.0.0.1:3306 2 db_username_event=whatap_dbuser 2 db_password_event=whatap_dbpassword 2 db_name_event=account 2... 1 기존설정은주석처리하거나삭제합니다. 2 사용할 Mysql DB 정보를입력합니다. 관련서비스를재기동합니다. $./control.sh account restart $./control.sh notihub restart 자동생성되는 DDL 문제로 MySQL 사용시컬럼정보수정이필요합니다. ALTER TABLE EventPolicy MODIFY Rules TEXT; Copyright c 2019 WhaTap Labs Inc. All rights reserved. 36
7.6. Windows 환경수집서버의응답지연 7.6. Windows 환경수집서버의응답지연 Windows 2012 이상에서 ECN Capability 로인해수집서버의반응지연이발생할수있습니다. 이경우 ECN Capability 기능을 Disable 합니다. CMD 관리자권한 netsh int tcp set global ecncapability=disabled 네트워크가느린시절과도한데이터트래픽으로인한네트워크붕괴현상이문제가되었고이를막기위해 TCP 혼잡제어 (TCP Congestion Control) 알고리즘이제안 / 적용되었습니다. 기본적으로 TCP 혼잡제어는 TCP 데이터송신자측에서패킷유실 발생 ( 혹은그에준하는상태 ) 을감지한이후송신자의데이터전송률을낮추는방식으로동작합니다. 7.7. 이중화된 Proxy 서버구축시 Agent 커넥션리밸런싱 Proxy 서버가이중화된경우점검 / 패치로인한재기동시한 Proxy 로만에이전트가몰리는현상이발생할수있습니다. 이경우라면스크립트를 참고하여 Proxy 상태를파악후이중화된 Proxy 서버를리밸런싱할필요가있습니다. rbproxy.sh 내용 ( 샘플 ) Copyright c 2019 WhaTap Labs Inc. All rights reserved. 37
7.8. Windows 환경에서 WindowsServices 등록 #!/bin/bash CNT1=0; CNT2=0; PROXY1=http://{Proxy1-IP}:{Proxy-Port}; PROXY2=http://{Proxy2-IP}:{Proxy-Port}; RESULT=0; function chkcount() { } RESULT=`curl $1/tcp/agent/count awk -F"= " '{print $2}'`; function rbcount() { } RESULT=`curl $1/tcp/agent/reset?cut=$2`; # Check Count chkcount $PROXY1; CNT1=$RESULT; chkcount $PROXY2; CNT2=$RESULT; echo "[Before-Proxy1] : $CNT1"; echo "[Before-Proxy2] : $CNT2"; # Rebalance if [ $CNT1 -gt $CNT2 ]; then rbcount $PROXY1 $(((CNT1-CNT2)/2)); sleep 10; elif [ $CNT1 -eq $CNT2 ]; then echo "Equal"; else rbcount $PROXY2 $(((CNT2-CNT1)/2)); sleep 10; fi; # ReCheck Count chkcount $PROXY1; CNT1=$RESULT; chkcount $PROXY2; CNT2=$RESULT; echo "[After-Proxy1] : $CNT1"; echo "[After-Proxy2] : $CNT2"; 리밸런싱작업을상시로할필요는없습니다. 용도에따라맞게변형하여 Shell Scripts 수행 or Crontab 을통해사용하시기 바랍니다. 7.8. Windows 환경에서 WindowsServices 등록 Windows 환경에서 WhaTap 수집서버설치시 WindowsServices 에등록이원활하지않은경우아래와같이조치가가능합니다. 7.8.1. 추가파일 다운로드링크 https://s3.ap-northeast-2.amazonaws.com/repo.whatap.io/package/install_windowsserver.zip 파일목록 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 38
7.9. 문의처 install_windowsserver.bat instsrv.exe srvany.exe 7.8.2. 사용법 WhaTap 수집서버의 MiicroServer 를 WindowsServices 에등록하고삭제하는기능을제공합니다. 등록대상 MicroServer keeper / yard / proxy / front / notihub 등록방법 > install_windowsserver.bat create < 등록대상 > ex) install_windowsserver.bat create keeper 삭제방법 > install_windowsserver.bat delete < 삭제대상 > ex) install_windowsserver.bat delete keeper WindowsServices 등록명 1) keeper -> WhaTapKeeper 2) yard -> WhaTapYard 3) proxy -> WhaTapProxy 4) front -> WhaTapFront 5) notihub -> WhaTapNotihub 패치등활용법 # 레지스트리편집기를통한실행커맨드수정 1) 레지스트편집기열기 (regedit) 2) 위치이동 : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\{WhaTap등록명 }\Parameters 3) 'Application' 키 : java 실행커맨드내용수정 Windows 32bit 에서도적용가능하나지향하지않음. 7.9. 문의처 Tel : 02-565-1803 Mail : support@whatap.io Copyright c 2019 WhaTap Labs Inc. All rights reserved. 39