PHP Agent Guide

Similar documents
Server Agent Guide

Infrastructure Monitoring Agent install Guide 이문서는와탭 APM 서비스사용자가에이전트설치를돕기위해작성된문서입니다. 이문서는와탭랩스의고유한자산으로재배포또는사용을위해서는 와탭랩스 에연락주시기바랍니다.

Python Agent Guide

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

[Brochure] KOR_TunA

Windows 8에서 BioStar 1 설치하기

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

Install stm32cubemx and st-link utility

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

게시판 스팸 실시간 차단 시스템

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

Microsoft Word - src.doc

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

Cloud Friendly System Architecture

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

ISP and CodeVisionAVR C Compiler.hwp

untitled

Java Agent Plugin Guide

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2003) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2003 Exchange Server 2003 GFI MailEssentials 2010 fo

The Pocket Guide to TCP/IP Sockets: C Version

PowerPoint 프레젠테이션

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

Microsoft PowerPoint - 10Àå.ppt

서버 모니터링 서비스 가이드

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

슬라이드 1

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

1217 WebTrafMon II

View Licenses and Services (customer)

슬라이드 1

Mango220 Android How to compile and Transfer image to Target

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Page 1 / 솔루션소개 Magento Magento 는강력한기능을제공하는오픈소스쇼핑몰제작관리도구입니다. 커스터마이징가 능한글로벌쇼핑몰구축시에사용을권장하며, 자체마켓플레이스를보유하고있을정도 로다양한기능을유 / 무료로추가할수있습니다. 2. 설치버전 하기명시된

작성자 : 기술지원부 김 삼 수

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Secure Programming Lecture1 : Introduction

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Microsoft Word - release note-VRRP_Korean.doc

System Recovery 사용자 매뉴얼

Tibero Agent Guides

PowerPoint 프레젠테이션

메뉴얼41페이지-2

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

RHEV 2.2 인증서 만료 확인 및 갱신

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

Remote UI Guide

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

목차 1.1. Java 애플리케이션모니터링 에이전트기능제어 enabled transaction_enabled counter_enabled stat_

Getting Started

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

슬라이드 1

chapter1,2.doc

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

아래 항목은 최신( ) 이미지를 모두 제대로 설치하였을 때를 가정한다

Microsoft Word - Armjtag_문서1.doc

Microsoft PowerPoint - [Practice #1] APM InstalI.ppt

.

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

Microsoft PowerPoint - 04-UDP Programming.ppt

슬라이드 1

SAS9.2_SAS_Enterprise_Miner_install_guide_single_user_v2

슬라이드 1

PowerPoint 프레젠테이션

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Microsoft Word - CAE 클러스터 환경 구축-ABAQUS.doc

ICAS CADWorx SPLM License 평가판설치가이드

Windows Server 2012

gcloud storage 사용자가이드 1 / 17

단계

PRO1_04E [읽기 전용]

Microsoft PowerPoint 자동설치시스템검증-V05-Baul.pptx


운영체제실습_명령어

슬라이드 1

MF Driver Installation Guide

DBMS & SQL Server Installation Database Laboratory

TTA Journal No.157_서체변경.indd

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

PowerPoint 프레젠테이션

Microsoft PowerPoint - CSharp-10-예외처리

Page 1 / 솔루션소개 WordPress WordPress는세계에서가장인기있는오픈소스웹사이트제작관리도구입니다. 웹표준, 접근성, SEO( 검색엔진최적화 ) 등의강점이있으며다양한테마와확장기능을제공합니다. 2. 설치버전 하기명시된버전은권장설치버전이며필요시다른

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

Transcription:

PHP Agent Guide WhaTap Support Version 1.0.0

Table of Contents PHP Agent Guide........................................................................................... 1 1. Install............................................................................................... 2 1.1. 에이전트실행및모니터링개요.......................................................................... 2 1.2. 프로젝트생성및라이센스발급.......................................................................... 3 1.3. 에이전트설치...................................................................................... 6 1.4. 설치오류해결..................................................................................... 16 2. Data............................................................................................... 21 2.1. 트랜잭션성능추적.................................................................................. 21 2.2. 통계 ( 리스트데이터 )................................................................................ 23 2.3. 성능카운터....................................................................................... 27 3. 에이전트제어와상태조회............................................................................... 30 3.1. 부트환경......................................................................................... 30 3.2. 환경변수......................................................................................... 30 3.3. 모듈의존성....................................................................................... 30 3.4. 에이전트상태..................................................................................... 30 3.5. 설정............................................................................................ 30 3.6. 에이전트로그..................................................................................... 30 4. 설정................................................................................................ 31 4.1. 에이전트네이밍.................................................................................... 31 4.2. 에이전트기능제어.................................................................................. 31 4.3. 에이전트통신..................................................................................... 33 4.4. 에이전트로그관리.................................................................................. 33 4.5. 트랜잭션프로파일링................................................................................ 34 4.6. HTTP 트랜잭션추적................................................................................. 35 4.7. DB, SQL......................................................................................... 35 4.8. HTTPC, API Call................................................................................... 36 4.9. 사용자수......................................................................................... 36 4.10. 트랜잭션추적옵션................................................................................. 37 4.11. 트랜잭션연계추적................................................................................. 37 4.12. 통계........................................................................................... 38

Preface PHP Agent Guide 제목 : PHP Agent Guide 작성자 : WhaTap Support 이메일 : support@whatap.io 날짜 : 2019-03-29 버전 : 1.0.0 설명 : 본문서는 WhaTap PHP Monitoring 에이전트에대해설명합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 1

1.1. 에이전트실행및모니터링개요 Chapter 1. Install 1.1. 에이전트실행및모니터링개요 와탭 PHP 애플리케이션모니터링은 PHP 기반웹애플리케이션서버모니터링서비스를제공합니다. 1.1.1. 에이전트설치방식개요 PHP 모니터링서비스를사용하기위해서는모니터링대상애플리케이션에모니터링에이전트를설치해야합니다. 설치방식은리눅스패키지 설치로가능합니다. 와탭저장소 (Repository) 를설치합니다. whatap-php 리눅스패키지를 (yum, apt-get) 설치합니다. 설정스크립트를실행합니다. Apache 또는 PHP-FRPM을재시작합니다. 설정스크립트를통해서트레이서는 PHP 확장모듈 (PHP Extension module) 로등록되고, 에이전트는 whatap-php 서비스 (Service) 로 실행됩니다. 1.1.2. 구성파일 모니터링정보를수집하기위한트레이서, 수집된정보를서버에전송하기위한에이전트, 트레이서와에이전트를서버에동적으로적용하기위한 설치스크립트파일로구성됩니다. PHP 모니터링서비스를구성하는각파일의역할은다음과같습니다. 파일명 whatap_#_#.so 설명 트레이서 PHP 확장모듈 (PHP Extension module) 로추가되어정보를수집하고수집된정보를에이전트로전송하는라이브러리입니다. whatap-php(whatap_php) 에이전트, 트레이서에서 UDP 로전달된정보를수집서버로전송하는프로그램입니다. /etc/init.d/whatap-php 서비스스크립트 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 2

1.2. 프로젝트생성및라이센스발급 whatap_php whatap.ini whatap-install-#.log whatap-boot-#.log 서비스실행파일 애플리케이션서버의데이터를수집하는 PHP 확장모듈 (PHP Extension module) 의설정정보, 수집서버의주소와서버의프로젝트라이센스키가입력되는파일입니다. 설치과정에대한로그파일입니다. (/usr/whata/php/logs) 에이전트로그파일입니다. (/usr/whata/php/logs) install.sh 웹애플리케이션서버에트레이서를적용하기위한쉘스크립트입니다. WhaTap.php (sample.php) PHP 소스코드에서사용할 API 레퍼런스클래스 (/usr/whatap/php/lib/whatap.php) 및예제소스파일 (sample.php) 입니다. 1.1.3. 에이전트이름식별 와탭은모니터링정보수집대상인애플리케이션서버식별을위한정보로기본적으로애플리케이션서버로부터수집한정보를활용합니다. 기본적으로활용하는정보는애플리케이션서버종류, 애플리케이션서버의 IP, 서비스포트를조합하여애플리케이션서버를고유식별자로사용하게되며필요에따라사용자가지정한명칭을사용하거나패턴을변경하여사용하는것도가능합니다. 이때에는꼭고유한값이어야합니다. 애플리케이션서버로부터추출한정보를활용하는이유는애플리케이션서버정지, 네트워크단절또는에이전트문제로인한수집서버와 에이전트의통신단절상태가복구되었을경우, 재접속된에이전트로부터송신되는정보가기존에이전트로부터송신된정보와의연속성을 유지하기위해서입니다. 와탭이애플리케이션서버를식별하기위해사용하는기본패턴은다음과같습니다. default: {type}-{ip2}-{ip3}-{process} 기본패턴에대한변경은 whatap.ini 에서설정에서가능합니다. object_name default: {type}-{ip2}-{ip3}-{process} 설정 Type 설명 app_name Ip# Ip 를. 으로나누었을때 # 번째자리 (0 부터 ) Process hostname app_process_name 호스트명 1.2. 프로젝트생성및라이센스발급 1.2.1. 프로젝트생성 서버를등록하기위해우선프로젝트를생성합니다. 추가버튼을선택하면아래와같이프로젝트생성창이나타납니다. PHP 아이콘을선택한뒤, 희망하는프로젝트명과데이터서버지역 (Region), 소속하게될그룹을선택한뒤프로젝트를생성합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 3

1.2. 프로젝트생성및라이센스발급 이후, 생성된프로젝트를클릭하여관리화면에진입합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 4

1.2. 프로젝트생성및라이센스발급 1.2.2. 라이센스발급 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 5

1.3. 에이전트설치 프로젝트관리화면에서는우선적으로라이선스를발급받습니다. 라이센스키는프로젝트별로귀속되기때문에, 유출되거나배포되어서는 안됩니다. 반드시본인프로젝트에서버를등록할때에만이용하시기바랍니다. 1.3. 에이전트설치 1.3.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-php Debian/Ubuntu Copyright c 2019 WhaTap Labs Inc. All rights reserved. 6

1.3. 에이전트설치 패키지저장소 (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-php 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-php FreeBSD 패키지설치 $ wget https://s3.ap-northeast-2.amazonaws.com/repo.whatap.io/freebsd/10/whatap-php-0.4.7.txz $ pkg install whatap-php-0.4.7.txz 1.3.2. PHP 확장모듈 (PHP Extension module) 및 whatap-php 서비스 (Service) 등록 PHP 확장모듈 (PHP Extension module) 및 whatap-php 서비스 (Service) 를자동으로설치할경우에아래와같이적용합니다 $ sudo /usr/whatap/php/install.sh Input license key xxxxxxxxxxxxxxxx # 발급된라이센스 key 입력 Input whatap.server.host 192.x.x.x # 발급된서버 IP 입력 PHP 확장모듈 (PHP Extension module) 및 whatap-php 서비스 (Service) 를자동으로인식하지못하는경우아래와같이선택설치를진행해야 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 7

1.3. 에이전트설치 합니다. 주로 Apache 명령어 (apachectl, httpd, apache2) 및 PHP 명령어 (CLI) 가기본경로 ($PATH) 에설정되어있지않거나, 여러개의 PHP 가설치되어 PHP 명령어 (CLI) 가여러개일경우에 (php5, php70, php-zts, zts-php ) 실제로적용하고있는버전을선택하여진행합니다. $ sudo /usr/whatap/php/install.sh manual Input license key xxxxxxxxxxxxxxxx # 발급된라이센스 key 입력 Input whatap.server.host 192.x.x.x # 발급된서버 IP 입력 Input : which apache or php-fpm ex)/usr/sbin/httpd, /usr/sbin/apache2, /usr/sbin/php-fpm... /usr/sbin/httpd # apache 및 php-fpm 명령어위치입력 Input : which php ex) /usr/bin/php, /usr/bin/php5, /usr/bin/php70... /usr/bin/php5 # php 명령어위치입력 설정스트립트 install.sh Usage: install.sh [ commands manual remove ] install.sh -l <license> -s <server> -v <php version> -i <php config file> -p <process_name> [-z ] install.sh -l <license> -s <server> -e <php command> -p <process_name> [-z ] Commands auto(default) Auto scan web server and php environment manual User input web server and php environment remove Remove php extension and service(whatap-php) Options -v <php version> PHP version ex) 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2 -v 5.3, --php-version 5.3 -i <php config file> PHP config file -i /etc/php.ini, --php-ini /etc/php.ini -e <php cli> PHP CLI(command line interface) -e /usr/bin/php, --php-exe: /usr/bin/php-fpm -p <process name> Web server or PHP-FPM process name. for get used memory -p httpd, -p httpd.worker, -process-name: php-fpm -l <license> License key -l xxxxxxxxxxxxxxx, --license: xxxxxxxxxxxxx -s <server> WhaTap Server Host -s xx.xx.xx.xx/yy.yy.yy.yy, --server xxx.xxx.xxx.xxx -z PHP thread safe -z, --php-zts license 발급된라이센스 key server 발급된서버 IP php version 서버에설치된 php 버전정보 (5.2. 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2 ) php config file 서버에설치된 php.ini 의전체경로 (/etc/php.ini) PHP Extension 에대한설정을진행합니다. php cli 커맨드라인으로실행가능한 php 명령어의전체경로 (/usr/bin/php) 해당명령어로 PHP 기본환경을확인합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 8

1.3. 에이전트설치 process name Apache 실행프로세스명 (httpd, apache2, httpd.worker ) 또는 PHP-FPM 의실행프로세스명 (php-fpm, php5-fpm) 해당프로세스명으로 사용메모리정보를수집합니다. zts Zend Thread Safe 지원여부를설정합니다. PHP 버전지정설치 $ /usr/whatap/php/install.sh -l [ 발급된라이센스 key] -s [ 발급된서버 IP] -v [PHP 버전 x.x] -i [php.ini 의전체경로 ] -p [ 프로세스명 ] $ /usr/whatap/php/install.sh -l xxxxx -s 1.1.1.1/2.2.2.2 -v 7.0 -i /etc/php.ini -p httpd [-z] PHP Cli 명령어지정설치 $ /usr/whatap/php/install.sh -l [ 발급된라이센스 key] -s [ 발급된서버 IP] -e [PHP Cli] -p [ 프로세스명 ] $ /usr/whatap/php/install.sh -l xxxxx -s 1.1.1.1/2.2.2.2 -e /opt/php/bin/php -p apache2 $ /usr/whatap/php/install.sh -l xxxxx -s 1.1.1.1/2.2.2.2 -e /opt/php/bin/php-fpm -p php-fpm 애플리케이션재기동 설치가완료된후 Apache 또는 PHP-FPM 서비스 (Service) 를재시작하면설정된 PHP 확장모듈 (PHP Extension module) whatap.so 파일이 로딩됩니다. 1.3.3. 설치확인 PHP 확장모듈 PHP 추가 INI 경로에 whatap.ini 생성되어있는지확인합니다. $ find / grep whatap.ini PHP 확장모듈 (PHP Extension module) 경로에 whatap.so 파일생성되어있는지확인합니다. $ find / grep whatap.so PHP 확장모듈 (PHP Extension module) 실행되고있는지확인합니다. $ sudo php -m [PHP Modules] bz2 calendar Core ctype curl date whatap [Zend Modules] # whatap 모듈실행확인 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 9

1.3. 에이전트설치 whatap-php 서비스 (Service) 상태를확인합니다. $ service whatap-php status PHP 모니터링연결확인 애플리케이션서버목록에서설정된서버가추가되었는지확인합니다 1.3.4. 실행 애플리케이션재기동 설치가완료된후 Apache 또는 PHP-FPM 서비스 (Service) 를재시작하면설정된 PHP 확장모듈 (PHP Extension module) whatap.so 파일이 로딩됩니다. whatap-php 서비스 (Service) 재시작 whatap-php 서비스 (Service) 가실행중이지않거나오류가발생한경우재시작합니다. Redhat/CentOS $ service whatap-php restart Debian/Ubuntu $ sudo service whatap-php restart FreeBSD $ service whatap_php restart 1.3.5. 업데이트 패키지업데이트는기존설정을유지한채로 PHP 모니터링서비스를업데이트합니다. 0.2.7 이후버전부터정상적인업데이트가지원됩니다. 이전 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 10

1.3. 에이전트설치 버전은삭제후설치를진행해야합니다. Redhat/CentOS 패키지정보갱신을위해캐시정보를삭제합니다. $ yum clean all Apache 또는 PHP-FPM 서비스 (Service) 를중지합니다. whatap-php 패키지를업데이트합니다. $ yum update whatap-php Apache 또는 PHP-FPM 서비스 (Service) 를시작합니다 Debian/Ubuntu 패키지정보갱신을위해캐시정보를갱신합니다. $ sudo apt-get update Apache 또는 PHP-FPM 서비스 (Service) 를중지합니다. whatap-php 패키지를업데이트합니다. $ sudo apt-get install --only-upgrade whatap-php Apache 또는 PHP-FPM 서비스 (Service) 를시작합니다 FreeBSD 에이전트삭제후재설치를진행합니다. 아래항목을참조하여순서대로진행합니다. Apache 또는 PHP-FPM 서비스 (Service) 를중지 # 에이전트삭제후재설치 $ /usr/whatap/php/install.sh remove $ wget https://s3.ap-northeast-2.amazonaws.com/repo.whatap.io/freebsd/10/whatap-php-0.4.7.txz $ pkg install whatap-php-0.4.7.txz # PHP 확장모듈 (PHP Extension module) 및 whatap-php 서비스 (Service) 등록 $ /usr/whatap/php/install.sh Apache 또는 PHP-FPM 서비스 (Service) 를시작합니다 1.3.6. 중지 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 11

1.3. 에이전트설치 일시중지 PHP 확장모듈 (PHP Extension module) 중지 whatap.ini 파일의 extension= 구문을주석처리합니다. 수동설정으로 php.ini 에직접설정한경우도동일하게 extension= 구문을주석처리합니다. 주석은세미콜론 ( ; ) 으로설정합니다. $ sudo vi whatap.ini extension=whatap.so ; 주석 ;extension=whatap.so Apache 또는 PHP-FPM 서비스 (Service) 를재시작합니다. whatap-php 서비스 (Service) 중지 Redhat/CentOS $ sudo service whatap-php stop Debian/Ubuntu $ sudo service whatap-php stop FreeBSD $ service whatap_php stop 에이전트삭제 설치스크립트를이용하여트레이서 (PHP Extension module) 및 whatap-php 서비스 (Service) 를삭제합니다. 이후패키지 (yum, apt-get) 삭제를진행하고필요에따라서 /usr/whatap/php 아래에로그파일및기타파일을삭제합니다. PHP 확장모듈 (PHP Extension module) 및 whatap-php 서비스 (Service) 삭제 $ /usr/whatap/php/install.sh remove 패키지삭제 Redhat/CentOS $ sudo yum remove whatap-php Copyright c 2019 WhaTap Labs Inc. All rights reserved. 12

1.3. 에이전트설치 Debian/Ubuntu $ sudo apt-get purge whatap-php FreeBSD $ pkg delete whatap-php Apache 또는 PHP-FPM 서비스 (Service) 를재시작합니다. /usr/whatap/php 디렉토리삭제 1.3.7. 구글앱엔진 (Google Cloud App Engine) 설치 :imagesdir:./images/install/tinified 구글앱엔진에 PHP 모니터링을설치하기위해서는 custom docker 를사용해야합니다. 구글앱엔진 PHP 의기본형은 PHP 모니터링의 PHP Extension 및 Service ( 데몬 ) 의실행이불가능하여 Docker Container 를통하여설치합니다. app.yaml 파일설정 구글앱엔진의설정파일인 app.yaml 파일에 flex 환경, custom 런타임으로설정합니다. $ vi app.yaml env: flex runtime: custom Dockerfile 생성및설정 Custom Docker 로실행하기위해서는 flex/custom 으로설정된 app.yaml 파일과동일한위치에 Dockerfile 을생성해야합니다. 구글앱엔진의 기본 php Docker 이미지를참조합니다. # google-appengine php php56, php70, php71 FROM gcr.io/google-appengine/php56 PHP 모니터링 Agent 를설치합니다. 라이브러리설치합니다. (wget) php-fpm 실행명령어링크를생성합니다. whatap 레포지터리및 whatap-php 패키지를설치합니다. PHP Extension 및 whatap-php 서비스를설정합니다. supervisor 를통해 whatap-php 서비스를실행하도록설정합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 13

1.3. 에이전트설치 # WhaTap. Install Lib RUN apt-get install wget -y # WhaTap. Link php-fpm RUN ln -s /opt/php/sbin/php-fpm /usr/bin/php-fpm # WhaTap. Install repository and whatap-php RUN wget http://repo.whatap.io/debian/release.gpg -O - apt-key add - RUN wget http://repo.whatap.io/debian/whatap-repo_1.0_all.deb RUN dpkg -i whatap-repo_1.0_all.deb RUN apt-get update RUN apt-get install whatap-php # WhaTap. Configure PHP agent #RUN (echo "[ 발급된라이센스 key ]"; echo "[ 발급된서버 IP ]") /usr/whatap/php/install.sh RUN (echo "xxxxxxxx"; echo "1.1.1.1/2.2.2.2") /usr/whatap/php/install.sh # WhaTap. Add supervisor/conf.d/whatap.conf. Run whatap-php service RUN echo "[program:whatap-php]" >> /etc/supervisor/conf.d/whatap.conf RUN echo "command = /etc/init.d/whatap-php start" >> /etc/supervisor/conf.d/whatap.conf RUN echo "stdout_logfile = /dev/stdout" >> /etc/supervisor/conf.d/whatap.conf RUN echo "stdout_logfile_maxbytes=0" >> /etc/supervisor/conf.d/whatap.conf RUN echo "stderr_logfile = /dev/stderr" >> /etc/supervisor/conf.d/whatap.conf RUN echo "stderr_logfile_maxbytes=0" >> /etc/supervisor/conf.d/whatap.conf RUN echo "user = root" >> /etc/supervisor/conf.d/whatap.conf RUN echo "autostart = true" >> /etc/supervisor/conf.d/whatap.conf RUN echo "autorestart = true" >> /etc/supervisor/conf.d/whatap.conf RUN echo "priority = 10" >> /etc/supervisor/conf.d/whatap.conf 방화벽설정 PHP 모니터링프로젝트생성후라이센스키와서버 IP( / 구분자로여러개의 IP) 가발급됩니다. 구글앱엔진에서사용하는네트워크를대상으로방화벽규칙을추가합니다. 발급받은서버 IP 에대해 6600 포트를통한 TCP 송신을허용해야합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 14

1.3. 에이전트설치 배포 Google Cloud SDK 를통해서설정된 app.yaml 파일과 Dockerfile 을배포합니다. $ gcloud app deploy 구글앱엔진인스턴스확인 구글클라우드콘솔에서앱엔진의생성된인스턴스를확인합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 15

1.4. 설치오류해결 1.4. 설치오류해결 1.4.1. PHP 확장모듈 (PHP Extension module) 및 whatap-php 서비스 (Service) 수동설정 PHP 확장모듈 (PHP Extension module), whatap-php 서비스 (Service) 설치및선택설치 (install.sh ) 가정상적으로이루어지지않을경우 수동으로설정하는방법을설명합니다. PHP 컴파일 (Compile) 설치등의이유로환경정보를확인할수없는경우사용합니다. whatap.ini 생성 $ cp /usr/whatap/php/template.ini /usr/whatap/php/whatap.ini $ vi /usr/whatap/php/whatap.ini # 상단에내용추가 ; Enable whatap extension module extension=whatap.so whatap.license= # 발급된라이센스 key whatap.server.host= # 발급된서버 IP whatap.app_name= # 웹서버구분 APHP, FPHP (apache : APHP, php-fpm : FPHP) whatap.app_process_name= # apache, php-fpm 의프로세스이름 (httpd,php-fpm) 설정 whatap.license 설명 프로젝트 > 관리 > 에이전트설치페이지에서발급된라이센스키를확인할수있습니다. whatap.server.host 프로젝트 > 관리 > 에이전트설치페이지에서발급된서버 IP 를확인할수있습니다. whatap.app_name Apache 서버는 APHP, php-fpm 은 FPHP 를사용합니다. whatap.app_process_name Apache 또는 php-fpm 의실행프로세스이름설정으로정확한프로세스명입력하면, 해당프로세스에대한사용메모리를수집합니다. 예 ) httpd, apach2, php-fpm, php-fpm 등. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 16

1.4. 설치오류해결 PHP 명령어 (CLI) 경로확인 $ which php /usr/bin/php whatap-php 서비스 (Service) 환경변수설정 $WHATAP_PHP_BIN 환경변수에 PHP CLI 명령어의경로를설정합니다. $ sudo vi /etc/init.d/whatap-php export WHATAP_PHP_BIN= # PHP 명령어위치 (/usr/bin/php) PHP API 버전확인 $WHATAP_PHP_BIN 환경변수에 PHP CLI 명령어의경로를설정합니다. $ sudo php -i grep 'PHP API' PHP API => 20100412 PHP ZTS(Zend Thread Safe) 지원여부확인 apache $ sudo apachectl -V grep MPM Server MPM: Prefork Server MPM: Worker # ZTS 지원안함 # ZTS 지원 PHP-FPM $ sudo php-fpm -i grep Thread Thread Safety => disabled Thread Safety => enabled # ZTS 지원안함 # ZTS 지원 PHP 확장모듈 (PHP Extension module) 경로확인및설정 PHP 확장모듈 (PHP Extension module) 경로확인 $ sudo php -i grep extension_dir extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules PHP 확장모듈 (PHP Extension module) 설정 PHP API 버전, PHP ZTS 지원여부를확인하여환경에적합한라이브러리를선택하여 PHP 확장모듈 (PHP Extension module) 경로에 whatap.so 파일명으로복사합니다. PHP ZTS 를지원할경우 - whatap_zts_[php API 버전 ].so Copyright c 2019 WhaTap Labs Inc. All rights reserved. 17

1.4. 설치오류해결 PHP ZTS 를지원하지않을경우 - whatap_[php API 버전 ].so $ sudo cp /usr/whatap/php/modules/x64/whatap_20100412.so /usr/lib64/php/modules/whatap.so whatap-php 서비스 (Service) 환경변수설정 $WHATAP_PHP_EXT_HOME 환경변수에 PHP 확장모듈경로를설정합니다. $WHATAP_PHP_EXT_SRC 환경변수에와탭라이브러리전체파일경로를설정합니다. $ sudo vi /etc/init.d/whatap-php export WHATAP_PHP_EXT_HOME= export WHATAP_PHP_EXT_SRC= # PHP Extension 경로 (/usr/lib64/php/modules) # 와탭라이브러리경로및파일명 # (/usr/whatap/php/modules/x64/whatap_20100412.so)] whatap.ini 설정 PHP 추가 ini 설정경로확인 $ sudo php -i grep '.ini files' Scan this dir for additional.ini files => /etc/php.d whatap.ini 를해당경로에복사합니다. $ sudo cp /usr/whatap/php/whatap.ini /etc/php.d/whtap/ini PHP 추가 ini 설정경로확인불가 PHP 컴파일 (Compile) 설치옵션 --with-config-file-scan-dir=path 이설정안된경우에발생합니다. $ sudo php -i grep '.ini files' Scan this dir for additional.ini files => (none) whatap.ini 파일내용을 php.ini 마지막에추가합니다. $ php -i grep 'php.ini' Loaded Configuration File => /etc/php.ini $ sudo vi php.ini # 파일마지막에추가 [whatap] Enable whatap extension module extension=whatap.so whatap.ext.error_enabled=true whatap.ext.exception_enabled=true whatap.trace_user_enabled=true whatap.trace_user_using_ip=false Copyright c 2019 WhaTap Labs Inc. All rights reserved. 18

1.4. 설치오류해결 이외옵션은 /usr/whatap/php/whatap.ini 를사용합니다. whatap-php 서비스 (Service) 환경변수설정 $WHATAP_CONFIG_HOME 환경변수에 whatap.ini 경로를설정합니다. PHP 추가 ini 경로를확인할수없는경우 whatap.ini 를생성한 /usr/whatap/php 경로를설정합니다. $ sudo vi /etc/init.d/whatap-php export WHATAP_CONFIG_HOME= # whatap.ini 경로 (/etc/php.d) 서비스재시작 Apache 및 PHP-FPM 서비스 (Service) 를재시작합니다. whatap-php 서비스 (Service) 를재시작합니다. Error: Not found PHP API PHP 명령어 (CLI) 를찾지못하는경우발생합니다. PHP 명령어 (CLI) 의위치를정확히찾고, PHP 확장모듈 (PHP Extension module) 및 whatap-php 서비스 (Service) 선택설치 항목을 진행합니다. PHP API 버전정보확인 $ sudo php -i grep 'PHP API' PHP API => 20100412 1.4.2. Error: Not found PHP ini directory PHP 환경중 Scan this dir for additional.ini files 항목의값을확인하지못하는경우발생합니다. PHP 컴파일 (Compile) 설치옵션 --withconfig-file-scan-dir=path 이설정안된경우에해당환경정보가없습니다. PHP 명령어의 (CLI) 경로를정확히찾고, PHP 확장모듈 (PHP Extension module) 및 whata-php 서비스 (Service) 수동설정 항목을진행합니다. $ sudo php -i grep '.ini files' Scan this dir for additional.ini files => (none) 1.4.3. 응답시간분포도 ( 히트맵 ) 에트랜잭션이표시되지않는경우 CPU, Memory의그래프는표기되지만응답시간분포도 ( 히트맵 ) 가표기되지않는현상은에이전트가수집서버와정상적으로연결되었지만, 트레이서가정상적으로 PHP 확장모듈 (PHP Extension module) 로적용되지않았거나, 설정후 Apache 및 PHP-FRPM 서비스 (Service) 를재시작하지않은경우에발생합니다. PHP 확장모듈 (PHP Extension module) 확인 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 19

1.4. 설치오류해결 $ sudo php -m [PHP Modules] bz2 calendar Core ctype curl date whatap [Zend Modules] # 와탭모듈로드확인 PHP 확장모듈 (PHP Extension module) 적용을확인한경우 Apache 및 PHP-FRPM 서비스 (Service) 를재시작합니다. 적용이안된경우는정상 설치되지않은것으로 whatap.so 또는 whatap.ini 파일경로가 PHP 환경과일치하는지확인합니다. PHP 명령어 (CLI) 경로확인, PHP 확장 모듈 (PHP Extension module) 경로확인, PHP 추가 ini 설정경로확인 을확인합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 20

2.1. 트랜잭션성능추적 Chapter 2. Data 와탭에이전트는트랜잭션성능, 주요성능통계그리고서비스와자원에대한카운터를수집합니다. 2.1. 트랜잭션성능추적 2.1.1. 트랜잭션시작과종료 트랜잭션이란사용자브라우저의요청을처리하기위한서버사이드의 LUW(Logical Unit of Work) 를말합니다. 개별웹서비스 (URL) 요청에대한처리과정이바로트랜잭션인것입니다. 웹어플리케이션에서트랜잭션은웹서비스 (URL) 에대한 HTTP Request를받아 Response를반환하는과정입니다. 애플리케이션의성능은이트랜잭션들의성능으로요약할수있습니다. 트랜잭션성능은트랜잭션시작에서부터종료시점, 그리고응답시간및자원사용량혹은트랜잭션호출자의속성등의정보들을포함합니다. 기본적으로트랜잭션응답분포와트랜잭션통계를통해서트랜잭션성능을분석할수있습니다. 트랜잭션의이름 트랜잭션의이름은 URL 입니다. 단 Get 파라미터 (Query String) 는제외됩니다. 브라우저요청 http://www.whatap.io/hr/apply.do?name='kim' 트랜잭션이름 /hr/apply.do 와탭에서는 " 웹서비스이름 " 과 " 트랜잭션이름 " 을혼용해서사용합니다. 서비스특정 URL과그에대한요청을처리하기위한 모듈로볼수있고트랜잭션그요청에대한처리하나를의미하기때문에둘의이름은동일하게 URL 이라고할수있습니다. 트랜잭션이름정규화 MSA 기반의시스템이발전하면서 URL? 파라미터형식보다는 URL 패스에파라미터를넣는방식을많이사용하게된다. http://www.whatap.io/hr/kim/apply.do 이렇게패스파라미터를그대로트랜잭션이름으로사용하게되면통계적관점의성능분석이어렵게됩니다. 따라서정규화할필요가있습니다. 와탭은이때정규화를위한옵션과기능을제공하고있습니다. whatap.ini trace_normalize_urls=/hr/{name}/apply.do 위와같이설정하면트랜잭션이름이 /hello/kim /hello/:name 이렇게치환되어수집됩니다. 만약대상 url 설정은그대로두고기능만 off 하고자 한다면다음과같이옵션을지정할수있습니다. 기본값은 true 입니다. whatap.ini trace_normalize_enabled=false Copyright c 2019 WhaTap Labs Inc. All rights reserved. 21

2.1. 트랜잭션성능추적 2.1.2. 트랜잭션프로파일 트랜잭션성능이트랜잭션시작과종료사이의요약지표들이나속성들을의미한다면트랜잭션프로파일은트랜잭션이수행되는과정중이스텝들을 추적하는것입니다. 트랜잭션이느리거나오류가있다면그원인을추적하기위해서수행이력을스텝별로추적할필요가있는데이것을트랜잭션프로파일링이라고 합니다. 와탭이수집하는스텝의종류에는크게 SQL 스텝, HTTP CALL 스탭, 메세지스텝, SOCKET 오픈스텝, DB 연결스텝, 메소드스텝등이있습니다. DB 연결스텝 수집방식 : END RDB 에대한연결에대한성능을포함합니다. 스텝정보에는이름, 응답시간을포함합니다. SQL 스텝 수집방식 : END SQL 에대한성능을포함합니다. 스탭정보에는연결정보,SQL 문이포함되어있습니다. HTTP Call 스텝 수집방식 : END 외부 http 서비스호출에대한성능을포함합니다. 스텝정보에는 url, host, port, 응답시간이포함됩니다. Message 스텝수집방식 : ADD 메세지스텝을프로파일을수집하는과정에서비정형적인모든구간에대한이력을수집할때사용됩니다. file오픈등등혹은사용자도임의의위치를지정하는데사용할수있습니다. SOCKET 스탭 수집방식 : ADD Socket 오픈을표현하는스텝입니다. METHOD 스탭 수집방식 : END 메소드응답시간을추적합니다. 1 초이상의메소드를자동으로추적합니다. 2.1.3. 트랜잭션스탭수집방식 자바에이전트는선형수집방식과환형수집방식을제공합니다. 선형수집 개별트랜잭션프로파일은무한정스텝을수집할수없습니다. 트랜잭션별로길이가제한된버퍼에프로파일스텝을저장합니다. 각트랜잭션은 최대로수집할수있는스텝의수가옵션으로지정되어있습니다. profile_step_max_count default: 1024 최대로수집가능한스텝수 profile_step_normal_count default: 800 일반적으로아무런제약없이수집되는스텝수 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 22

2.2. 통계 ( 리스트데이터 ) profile_step_heavy_count default : 1000 normal count 를초과한경우에스텝은응답시간이느린스텝과액티브스택스텝만수집합니다. profile_step_heavy_time default:100 heavy count 이내에서의수집되는스텝의기준시간은 profile_step_heavy_time 입니다. Figure 1. Profile Step Buffer 수집되는프로파일의스텝수가 heavy count 를초과하는경우에는액티브스택만이수집됩니. 단이경우에도최대스텝수는 profile_step_max_count 를넘을수없습니다. 2.2. 통계 ( 리스트데이터 ) 와탭에이전트는트랜잭션이나 SQL 처럼중요한서비스수행이력통계를수집합니다. 매 5 분마다목록을만들고서버로전송합니다. 0 분,5 분,15 분등매 5 분마다통계를수집하고서버로전송합니다. 2.2.1. 트랜잭션통계 트랜잭션통계를수집합니다. 매 5 분마다최대 5000 개의 URL 별수행통계를수집하여서버에전송합니다. 만약서로다른 URL 의수가 5 분동안 5000 개가넘으면무시됩니다. 칼럼설명타입 hash URL 해쉬 u4 count 건수 u4 error 에러건수 u4 time_sum 응답시간의합 u8 time_max 최대응답시간 u4 sql_count SQL 수행건수 u4 sql_time SQL 수행시간의합 u8 httpc_count HTTP Call 건수 u4 httpc_time HTTP Call 시간의합 u8 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 23

2.2. 통계 ( 리스트데이터 ) 칼럼설명타입 malloc_sum 메모리사용량 SUM u8 cpu_sum CPU 사용량 SUM u8 2.2.2. SQL 수행통계 5 분동안의 SQL 수행통계를수집합니다. 5 분동안서로다른 SQL 문장이최대 5000 까지만허용이됩니다. 칼럼설명타입 dbc DB 연결정보의 Hash u4 sql SQL 문 Hash u4 count_total 수행건수 u4 time_sum 응답시간의합 u8 time_max 최대응답시간 u4 service SQL 을수행한 service 중에하나 u4 service(url) hash 는 5 분동안해당 SQL 을호출한 URL 중하나 ( 마지막호출 URL) 를분석활용을위해수집합니다. 2.2.3. HTTPCall 수행통계 5 분동안의 Http Call 수행통계를수집합니다. 5 분동안서로다른 Http Call 문장이최대 5000 까지만허용이됩니다. 칼럼설명타입 url 타겟 URL hash u4 host Host or ip u4 port Tcp Port u4 count_total 수행건수 u4 time_sum 응답시간의합 u8 time_max 최대응답시간 u4 service Http Call 을수행한 service 중에하나 u4 2.2.4. 에러통계 5 분동안발생한서비스에러에대한통계입니다. 서로다른에러 + 트랜잭션이름을키로발생건수를수집합니다. 5 분당최대 1000 가지서로다른 에러를통계화합니다. 칼럼설명타입 classhash 에러클래스 u4 service 트랜잭션 HASH u4 msg 메세지 hash u4 count 발생건수 u4 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 24

2.2. 통계 ( 리스트데이터 ) 2.2.5. IP 별호출건수 IP 별로호출한트랜잭션건수을통계적으로수집합니다. 5 분당수집가능한서로다른 IP 수는인스턴스당최대 70000 개입니다. 칼럼설명타입 ip ip 주소 u4 count 건수 u4 2.2.6. UserAgent 별호출건수 User Agnet 문자열의 Hash 별로호출건수를수집합니다. 5 분당수집가능한서로다른 UserAgent Hash 는인스턴스당최대 500 개입니다. 칼럼설명타입 hash hash u4 count 건수 u4 2.2.7. 트랜잭션 Caller 통계 멀티서버가 rest 호출로연결된경우 Caller 와 Callee 간의연관통계를수집할수있다. 이데이터를수집하기위해서는다음의옵션을먼저설정해야 한다. whatap.ini //mtrace_rate=100 mtrace_spec=v1 stat_mtrace_enabled=true Figure 2. MSA 시스템 위와같은아키텍처에서 caller&callee 통계는 api1 와 api2 에서만조회할수있습니다. 사용자브라우저에서호출되는시스템에서는 Caller 통계를 조회할수없습니다. 하지만 Caller 쪽서버에서데이터를전송해야하기때문에모든서버에적절한설정이들어가야합니다. whatap.conf of [front] mtrace_rate=100 mtrace_spec=v1 stat_mtrace_enabled=true whatap.conf of [api1] & [api2] mtrace_spec=v1 stat_mtrace_enabled=true 수집되는통계데이터는다음과같습니다. Callee 쪽에서조회되어야합니다. 칼럼설명타입 caller_pcode Caller 의프로젝트 ( 와탭 ) 코드 u8 caller_spec Caller 의버전문자열 hash u4 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 25

2.2. 통계 ( 리스트데이터 ) 칼럼설명타입 caller_url Caller 의 URL hash u4 spec Callee 의버전문자열 hash u4 url Callee URL hash u4 count 수행건수 u4 error 에러건수 u4 time 응답시간의합 u8 2.2.8. 트랜잭션도메인통계 와탭에이전트는도메일별트랜잭션통계를수집할수있습니다. 하나의서버에비즈니스적인이유등으로여러개의도메인을분리하여서비스하는 시스템에서는도메인별분석이필요할수있습니다. 그래서 front 서버에서유효하다 whatap.conf stat_domain_enabled=true 수집되는데이터는도메인별 URL 의처리현황을파악할수있습니다 칼럼설명타입 domain 서비스도메인 hash u4 url 트랜잭션 URL hash u4 count 수행건수 u4 error 에러건수 u4 time 응답시간의합 u8 2.2.9. 트랜잭션 REFERER 통계 와탭에이전트는 Referer 별트랜잭션통계를수집할수있습니다. 업무에딸서는 Referer 별분석이필요할수있습니다. whatap.conf stat_domain_enabled=true 수집되는데이터는도메인별 URL 의처리현황을파악할수있습니다 칼럼설명타입 referer Referer hash u4 url 트랜잭션 URL hash u4 count 수행건수 u4 error 에러건수 u4 time 응답시간의합 u8 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 26

2.3. 성능카운터 2.3. 성능카운터 와탭에이전트가수집하는성능카운터는크게 3 가지로분류할수있습니다. Counters User : 실시간사용자혹은방문사용자 Service : 트랜잭션,SQL, 외부호출건수및응답, 에러율등 Resource : 시스템, 프로세스자원사용량 2.3.1. User Counter 사용자는모니터링대상시스템을사용하는클라이언트를말한다. 클라이언트에는다른시스테또한포함될수있지만일반적으로는브라우저를 기준으로사용자를카운팅한다. 웹시스템성능에서사용자는부하를발생시키는시작이기때문에중요하다사용자추적을위해서는사용자는어떤기준으로구분할것이며어떻게 카운팅할것인가에대한고려가필요하다 사용자구분 와탭에이전트사용자를구분하기위해다양한옵션을제공합니다. 기본값은쿠키를사용하며 PHP 기본쿠키 (PHPSESSID) 및프레임워크 쿠키 (ci_session, Laravel_session) 를기준으로사용자를구분합니다. RemoteIP 가장기본은 remote ip 를사용하여사용자를구분하는것입니다. 하지만 remote ip 실제사용자를구분하는데한계가있습니다. Cookie(WHATAP) 쿠키를사용하여사용자를구분할수있습니다. whatap.ini whatap.trace_user_using_ip=false whatap.trace_user_set_cookie=true 모든접속클라이언트에대한 UUID 가 "WHATAP" 이라는쿠키에셋팅합니다. Header Key http header 에전달되는값으로사용자를구분할수있습니다..whatap.ini whatap.trace_user_header_ticket=user 사용자카운팅 사용자를카운팅하는방법에따라서다른목적으로사용될수있다. 동시사용자는현재시스템을사용하는사용자의수를알기위해서측정하고일일 액티브사용자는하룻동안해당서비스에관심을갖는사용자가몇명인지에대한비즈니스적인관리를위해측정합니다. 실시간사용자 최근 5 분동안사용자수를카운팅합니다. 매 5 초마다 shifting 하면사용자를카운팅합니다. 각서버에서카운팅된숫자는 HyperLogLog 알고리즘을 통해서머지됩니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 27

2.3. 성능카운터 일일방문 ( 액티브 ) 사용자 (DAU) 하룻동안시스템에접속한사용자를카운팅합니다. 24 시간동안발생한사용자를 hyperloglog 를통해서계산합니다. 와탭에서는장기간사용자를카운팅하기위해사용자데이터에대한 byte block을서버로수집합니다. 이데이터를 hyperloglog 로머지하면이론적으로한달이상의맥티브사용자를계산할수있습니다. 2.3.2. Service Counter 서비스카운터에는트랜잭션과트랜잭션이사용하는 SQL 혹은외부호출등에대한건수응답시간에러건수등에대한성능지표가표함된다. Transaction Counter 트랜잭션을수행하면측정하는카운터입니다. 건수 응답시간 에러건수 Active Transaction Counter 진행중인트랜잭션의수를카운팅합니다. 건수 Active Status 진행상태는 METHOD,SQL,HTTPC,DBC,SOCKET 5가지상태로고정되어있습니다. 1. METHOD - 일반함수를호출하는상태 2. SQL - db sql을수행중인상태 3. HTTPC - 외부 Http Api( 서비스 ) 를호출중인상태 4. DBC - DB연결을요청한상태, 일반적으로 Pool에서가져옴 5. SOCKET - TCP세션을 Connecting 중인상태 SQL SQL 수행현황을카운팅합니다. 건수 응답시간 에러건수 패치건수 HTTP Call 외부 Http 호출에대한현황을카운팅합니다. 건수 응답시간 에러건수 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 28

2.3. 성능카운터 2.3.3. Resource Counter 서버자원사용량을카운팅합니다. CPU(sys,usr,wait,steal,irq, cores) CPU 사용량 % 입니다. 각종류별로수집됩니다. 가상환경에서만 Steal 이의미가있습니다. Cput Core 갯수를같이수집하고있습니다. Process CPU 자바프로세스가사용하는 CPU % 입니다. Memory 시스템메모리사용율 (%) 입니다. Swap Swap 메모리사용율 (%) 입니다. Disk Disk 는 Java Process 의 Current 디렉토리의사용율 (%) 입니다. Heap(Total, Used) 시스템전체메모리를 Total 로표시하며, Apache 또는 PHP-FPM 실행프로세스의메모리사용량을합산하여 Used 로표시합니다. 데이터단위는 KBytes 입니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 29

3.1. 부트환경 Chapter 3. 에이전트제어와상태조회 각에이전트동작을제어하거나상태를조회할수있습니다. 3.1. 부트환경 에이전트는시작하면주요환경정보를모아서버로전송합니다. 이정보는기동시의에이전트환경상태를확인할때사용될수있습니다. Yard 서버에 저장해두기때문에에이전트가종료되어도조회할수있습니다. 와탭의버전, Hostname, uptime 등의정보들을조회할수있습니다. 3.2. 환경변수 에이전트에서는현재의환경변수를조회할수있습니다. 화면의요청을받았을때조회됩니다. 따라서프로세스가정지된상태에서는조회할수 없습니다. 3.3. 모듈의존성 현재로딩되어사용되고있는 PHP extension 모듈과그버전을조회할수있습니다. 3.4. 에이전트상태 서비스로동작하는 whatap-php 프로세스에대해서최근하루의상태를확인합니다. CPU, Memory, Network 상태를확인할수있습니다. 3.5. 설정 에이전트실행옵션을설정할수있습니다. whatap.ini 에값을운영중에변경할수있습니다. Configure 쳅터에서소개하고있는대부분의옵션은 whatap.conf 에적용할수있습니다 일반적으로설정은런타임에바로 reload 됩니다. 다만해당설정의메커니즘상 Apache 또는 PHP-FPM 이기동될때적용되는 옵션들은재기동해야할수있습니다. 3.6. 에이전트로그 현재에이전트 HOME 에서./logs/ 에기록된로그를조회합니다. ## OPEN LOG FILE agent 20181106 00:00:00.610 ## WhaTap Version 1.5.4 20180928 pid=47448 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 30

4.1. 에이전트네이밍 Chapter 4. 설정 4.1. 에이전트네이밍 whatap.object_name Default : {type}-{ip2}-{ip3}-{process} Type : String 애플리케이션을식별하는에이전트이름 (ONAME) 체계입니다. ONAME을토대로 OID가생성됩니다. Apache 및 PHP-FPM 의재시작후적용됩니다. 명칭 설명 {type} whatap.app_name 에설정된값을사용합니다. {ip#} IP 를나누었을때 # 번째자리를사용합니다. {process} whatap.app_process_name 에설정된값을사용합니다. {hostname} 서버호스트명을사용합니다. whatap.app_name Default : NONE Type : String 애플리케이션을식별하는에이전트이름 (ONAME) 체계에사용되는애플리케이션명. object_name의 {type} 에해당하는값이다. Apache 및 PHP-FPM 의재시작후적용됩니다. whatap.app_process_name Default : NONE Type : String 애플리케이션을식별하는에이전트이름 (ONAME) 체계에사용되는애플리케이션프로세스명. 애플리케이션서버의 CPU, Heap Memory등을수집할대상프로셋를설정합니다. object_name의 {process} 에해당하는값이다. Apache 및 PHP-FPM 의재시작후적용됩니다. 4.2. 에이전트기능제어 whatap.stat_enabled Default : true 통계정보추적기능을활성화합니다. 5 분단위로수집되는트랜잭션, SQL, HTTPCALL, UserAgent, Client IP 등의통계데이터등이해당됩니다. whatap.license Default : NONE Type : String 에이전트설치시서버로부터부여받은라이센스를지정합니다. 라이센스에는에이전트가속한프로젝트와보안통신을위한암호키를포함하고있습니다. whatap.realtime_user_thinktime_max Default : 300000 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 31

4.2. 에이전트기능제어 Type : Milliseconds 실시간사용자측정시동일사용자로인정되는최대호출간격을지정합니다. whatap.time_sync_interval_ms Default : 300000 Type : Milliseconds 에이전트와서버간시간동기화주기를지정합니다. 동기화하지않을경우 0으로지정합니다. whatap.text_reset Default : 0 Type : Int 와탭에이전트는한번보낸텍스트유형데이터는 hash 처리되므로다음날까지재전송하지않습니다. 이전설정값과다른값을설정하는경우재전송합니다. 트랜잭션 URL, SQL String 등이텍스트유형데이터에해당합니다. whatap.ext.error_enabled Default : true PHP 확장모듈 (PHP Extension module) 에서오류 (Error) 정보를수집하는기능을활성화합니다. PHP 컴파일설치로 php.ini 에 [whatap] 항목이있으면 whatap.ini가아닌 php.ini 에추가합니다. Apache 및 PHP-FPM 의재시작후적용됩니다. whatap.ext.exception_enabled Default : true PHP 확장모듈 (PHP Extension module) 에서예외처리 (Exception) 정보를수집하는기능을활성화합니다. PHP 컴파일설치로 php.ini 에 [whatap] 항목이있으면 whatap.ini가아닌 php.ini 에추가합니다. Apache 및 PHP-FPM 의재시작후적용됩니다. whatap.profile_method_enabled Default : true 실행시간이 1초 (whatap.profile_method_time) 를초과하는사용자함수의정보를트랜잭션상세정보에서확인할수있습니다. Apache 및 PHP-FPM 의재시작후적용됩니다. whatap.profile_method_time Default : 1000 Type : Milliseconds whatap.profile_method_enabled 설정수집되는함수의실행시간을설정할수있습니다. NOTE: Apache 및 PHP-FPM의재시작후적용됩니다. whatap.profile_method_stack_enabled Default : false 사용자함수의스택정보를트랜잭션상세정보에서확인할수있습니다. Apache 및 PHP-FPM 의재시작후적용됩니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 32

4.3. 에이전트통신 4.3. 에이전트통신 whatap.server.host Default : 127.0.0.1,127.0.0.1 Type : ip_address 에이전트가수집한데이터를전송할서버를지정합니다. 수집서버이중화로 2개이상의 IP를가진경우콤마 (,) 로분리하여지정할수있습니다. 지정된 IP 에는수집서버 proxy 데몬이리스닝상태로서비스되어야합니다. whatap.server.port Default : 6600 Type : tcp_port 수집서버 PORT 를지정합니다. 포트는하나만지정할수있으므로 whatap_server_host 에지정된수집서버들은동일 PORT 를사용해야합니다. whatap.tcp_so_timeout Default : 60000 Type : Millisecond 수집서버와통신하는 TCP세션의 Socket Timeout 값을지정합니다. whatap.tcp_connection_timeout Default : 5000 Type : Millisecond 수집서버와통신하는 TCP세션의 Connection Timeout 값을지정합니다. whatap.net_send_max_bytes Default : 5242880 Type : Byte 수집서버로데이터를전송할때한번에전송되는최대크기를지정합니다. whatap.net_send_buffer_size Default: 1024 Type: byte 데이터전송을하기위해가지고있는최대바이트크기입니다. whatap.net_udp_port Default : 6600 Type : tcp_port 와탭에이전트는트레이서에서 UDP를통해수집한데이터를수집서버로전송합니다. 처음 UDP서버의포트를지정할수있다. 기본값으로제공되는 6600포트가사용중일때이옵션을사용합니다. PHP 컴파일설치로 php.ini 에 [whatap] 항목이있으면 whatap.ini가아닌 php.ini 에추가합니다. Apache 및 PHP-FPM 의재시작후적용됩니다. 4.4. 에이전트로그관리 whatap.log_keep_days Default : 7 Type : Day 로그파일보관기간을설정합니다 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 33

4.5. 트랜잭션프로파일링 4.5. 트랜잭션프로파일링 whatap.profile_step_normal_count Default: 1000 Type : Int 트랜잭션프로파일의최대스텝수를지정합니다. whatap.profile_step_max_count Default: 1024 Type : Int 수집가능한프로파일스텝의최대개수를설정합니다. 수집된프로파일스텝수가이값을초과하면이후수집되는스텝들은모두버려집니다. whatap.profile_step_heavy_count Default: 1000 Type : Int 기본스텝의수집개수가초과되면, 실행시간이 profile_step_heavy_time을초과하는스텝만수집합니다. 해당스텝의수집가능한개수를설정합니다. Default 설정일경우 profile_step_normal_count가 800 이면최대 200개의스텝이수집됩니다. whatap.profile_step_heavy_time Default: 100 Type : Millisecond Heavy한스텝의기준을지정합니다. 지정된값보다수행시간이긴경우 profile_step_normal_count 를초과하는경우라도 profile_step_heavy_count 이내에서기록됩니다. whatap.profile_basetime Default: 500 Type : Millisecond 트랜잭션이설정된값이하의시간내에종료된경우프로파일정보를수집하지않습니다. 단, 5 분단위로최초호출된 URL, 에러가발생한트랜잭션에대한프로파일정보는수집됩니다. whatap.query_string_enabled Default: false 트랜잭션 URL의쿼리스트링을함께수집하는기능을활성화합니다. whatap.query_string_urls 에등록된 URL만적용됩니다. whatap.query_string_urls Default : NONE Type : String 트랜잭션에서쿼리스트링을수집할 URL들을등록합니다. whatap.whatap.profile_compile_file_enabled Default :false compile_file, compile_string 함수의추적여부를설정합니다. PHP 내부함수인 compile_file, compile_string 함수는스크립트실행전에컴파일하는함수로 Main, include, require 및 autoload 스크립트의컴파일시점을확인할수있습니다. 스크립트파일경로와실행시간을확인할수있습니다 Apache 및 PHP-FPM 의재시작후적용됩니다. whatap.profile_compile_file_basetime Default : 200 Type : Millisecond Copyright c 2019 WhaTap Labs Inc. All rights reserved. 34

4.6. HTTP 트랜잭션추적 실행시간의기준을설정합니다. 설정한시간을초과하여실행되는경우만정보를수집합니다. whatap.profile_compile_file_basetime Apache 을너무작게설정할경우너무많이수집하게되어서버에부하를줄수있습니다. 및 PHP-FPM 의재시작후적용됩니다. 4.6. HTTP 트랜잭션추적 whatap.profile_http_header_enabled Default : false 프로파일내역에 http 헤더정보를기록하고자할때사용합니다. whatap.profile_http_parameter_enabled Default : false 프로파일내역에 http 파라미터정보를기록하고자할때사용합니다. 파라미터는별도보안키를입력해야조회할수있습니다. whatap.profile_http_parameter_url_prefix Default : / Type : String 프로파일내역에 http 파라미터정보를기록할대상 URL의 prefix를정의할때사용합니다. whatap.profile_http_host_enabled Default : false 트랜잭션의 Host 정보를출력합니다. False일경우트랜잭션의 URL에 URI 만표기하고 True 일경우 /xxx.aaa.com/url 형식으로출력됩니다. 4.7. DB, SQL whatap.trace_sql_normalize_enabled Default : true SQL문에서리터럴부분을추출하여 SQL문을정규화하는기능을활성화합니다. 리터럴부분은 "#" 으로표기됩니다. whatap.profile_sql_resource_enabled Default : false 프로파일에서 SQL 이수집될때해당스텝에서사용한 CPU 와메모리사용량을추적합니다. whatap.profile_sql_param_enabled Default : false 프로파일내역에 SQL 파라미터정보를기록하고자할때사용합니다. 파라미터는별도보안키를입력해야조회할수있습니다. 보안 키는 WAS 서버 /usr/whatap/php/paramkey.txt 파일내에 6 자리로지정합니다. paramkey.txt 파일이존재하지않는경우랜덤값으로자동생성됩니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 35

4.8. HTTPC, API Call 4.8. HTTPC, API Call whatap.profile_httpc_resource_enabled Default : false 프로파일에서 HTTP Call 스텝이수집될때해당스텝에서사용한 CPU 와메모리사용량을추적합니다. whatap.trace_httpc_normalize_enabled Default : true 트랜잭션내 HTTPC URL 을파싱하여정규화하는기능을활성화합니다. whatap.trace_httpc_normalize_urls Default : NONE Type : String 정규화할 HTTPC URL 패턴을정의한다. 호출 URL 패턴을파싱하여패스파라미터를제거합니다. ex) /a/{v}/b 라고선언하면 a/123/b a/{v}/b 로치환한다 여러개를등록할때는콤마 (,) 를사용합니다. 치환패턴정리후보완필요 4.9. 사용자수 whatap.trace_user_enabled Default : true 실시간사용자집계여부를지정합니다. 이값을활성화하는경우아이피또는 PHP 기본쿠키 (PHPSESSID) 및프레임워크쿠키 (ci_session, Laravel_session) 를기준으로사용자를추적합니다. PHP 컴파일설치로 php.ini 에 [whatap] 항목이있으면 whatap.ini가아닌 php.ini 에추가합니다. Apache 및 PHP-FPM 의재시작후적용됩니다. whatap.trace_user_using_ip Default : false 실시간사용자의구분을 IP로하고자하는경우설정합니다. 이데이터는 Real Time User에서확인가능합니다. false 일경우 PHP 기본쿠키및프레임워크쿠키 (PHPSESSID, ci_session, Laravel_session) 를기준으로사용자구분을합니다. PHP 컴파일설치로 php.ini 에 [whatap] 항목이있으면 whatap.ini가아닌 php.ini 에추가한다. Apache 및 PHP-FPM 의재시작후적용됩니다. whatap.trace_user_header_ticket Default : false 사용자의구분을 HTTP 헤더의특정값으로구분하고싶을때사용할 HTTP 키를지정합니다. 단, trace_user_using_ip 배타적으로설정을동시에적용할수없다. HTTP키를찾지못하는경우 Cookie를기준으로사용자를구분합니다. PHP 컴파일설치로 php.ini 에 [whatap] 항목이있으면 whatap.ini가아닌 php.ini 에추가합니다. Apache 및 PHP-FPM 의재시작후적용됩니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 36

4.10. 트랜잭션추적옵션 whatap.trace_user_set_cookie Default : false 사용자의구분을하기위해쿠키에 WHATAP 키이름으로사용자구분값을설정한다. trace_user_using_ip 설정되는경우반영되지않습니다. trace_user_header_ticket이설정되는경우 header key를찾지못하는경우설정됩니다. HTTP키를찾지못하는경우 Cookie를기준으로사용자를구분합니다. PHP 컴파일설치로 php.ini 에 [whatap] 항목이있으면 whatap.ini가아닌 php.ini 에추가합니다. Apache 및 PHP-FPM 의재시작후적용됩니다. whatap.trace_http_client_ip_header_key Default : "" Type : String Client IP(Remote IP) 의정보를특정 HTTP 헤더의값으로변경하여설정하는기능을추가하였습니다. Proxy( 프락시 ) 환경에서 X-Forwarded-For 헤더값을 Client IP 로설정할수있습니다. Apache 및 PHP-FPM 의재시작후적용됩니다. 4.10. 트랜잭션추적옵션 whatap.trace_active_transaction_slow_time Default : 3000 Type : Millisecond 수집정보를확인하는대시보드의엑티브트랜잭션아크이퀄라이저그래프에서 Slow 구간으로표기될수있는트랜잭션응답시간의기준을지정합니다. 트랜잭션의응답시간이지정시간을초과할경우 Slow 액티브트랜잭션의개수에포함됩니다. whatap.trace_active_transaction_very_slow_time Default : 8000 Type : Millisecond whatap.trace_active_transaction_lost_time Default : 30000 Type : Millisecond 트랜잭션의종료를기다리는제한시간. 5분안에트랜잭션이끝나지않는경우트랜잭션을정보를더이상수집하지않습니다. 트랜잭션의프로파일정보에서 Lost Connection 를확인할수있습니다. whatap.trace_normalize_enabled Default : true 트랜잭션 URL을변환하여일반화하는기능을활성화합니다. whatap.trace_normalize_urls Default : NONE Type : String 트랜잭션 URL을변환하고일반화할대상 URL을지정합니다. 호출 URL패턴을변환하여패스파라미터를제거합니다. 예를들어 /a/{v}/b 라고설정하면해당형식으로호출되는트랜잭션 URL은 /a/{v}/b 형식으로변환됩니다. 여러개를등록할때는콤마 (,) 를사용합니다. 4.11. 트랜잭션연계추적 mtrace_enabled Copyright c 2019 WhaTap Labs Inc. All rights reserved. 37

4.12. 통계 Default : false 트랜잰션연계추적기능 (MTID) 을사용여부를설정합니다. MTID 를추적하면등록된모든애플리케이션간의호출을확인할수있습니다. mtrace_rate Default : 10 Type : Percentage 최초트랜잭션이발생할때발급받는 MTID(Multi Transaction ID) 의발급비율을설정하는옵션입니다. mtrace_poid_key Default : x-wtap-po Type : String MTID 추적에사용할 Caller 프로젝트정보를전달할 Key Name을설정합니다. mtrace_caller_key Default : x-wtap-mst Type : String MTID 추적에사용할 Caller Key Name을정합니다. mtrace_callee_key Default : x-wtap-tx Type : String MTID 추적에사용할 Callee Key Name을정합니다. mtrace_send_url_length Default : 80 Type : Int Http Caller는 Callee에게자신의 URL을넘져줍니다. 이때 URL길이를제한하고있습니다. 이길이를지정합니다. 4.12. 통계 whatap.stat_domain_enabled Default : false 도메인별트랜잭션통계를수집합니다. whatap.stat_domain_max_count Default : 7000 Type : Int 5분동안수집할도메인별트랜잭션통계의최대레코드수입니다. whatap.stat_mtrace_enabled Default : false 멀티서버트랜잭션에서 Callser&Callee간에버전별의존성통계를수집합니다. whatap.mtrace_spec Default: v1 Type : String 현인스턴스의애플리케이션버전을지정합니다. 임의의문자열을지정할수있습니다. 이데이터는호출통계를위해사용됩니다. NOTE: Apache 및 PHP-FPM의재시작후적용됩니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 38

4.12. 통계 whatap.stat_mtrace_max_count Default : 7000 Type : Int 멀티서버트랜잭션에서 Callser&Callee간에버전별의존성통계의최대레코드수입니다. whatap.stat_referer_enabled Default : false Referer별트랜잭션통계를수집합니다. whatap.stat_referer_max_count Default : 7000 Type : Int 5분동안한 JVM에서수집할 Referer별트랜잭션통계의최대레코드수입니다. whatap.tx_caller_meter_enabled Default : false 트랜잭션정보로토폴로지통계를생성합니다. whatap.sql_dbc_meter_enabled Default : false Database 연결정보로토폴로지통계를생성합니다 whatap.httpc_host_meter_enabled Default : false Http 외부호출정보로토폴로지통계를생성합니다. whatap.okind Default : "" Type : String 그룹토폴로지를위해임의로부여합니다. 여러에이전트를같이지정하여ㅡ해당그룹명으로토폴로지를확인할수있습니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 39