PHP

에이전트 구성

구성 파일

모니터링 정보를 수집하기 위한 트레이서, 수집된 정보를 서버에 전송하기 위한 에이전트, 트레이서와 에이전트를 서버에 동적으로 적용하기 위한 설치 스크립트 파일로 구성됩니다.

PHP 모니터링 서비스를 구성하는 각 파일의 역할은 다음과 같습니다.

파일명

설명

whatap_#_#.so

트레이서 PHP 확장 모듈(PHP Extension module)로 추가되어 정보를 수집하고 수집된 정보를 에이전트로 전송하는 라이브러리입니다.
extension 모듈은 php 버전(PHP API Version)별로, Thread safe 여부로 구별됩니다.
예)
whatap_zts_20041225.so : php 5.2 버전 Zend Thread safe enable whatap_20041225.so : php 5.2 버전 Non Thread Safe

whatap-php(whatap_php)

에이전트, 트레이서에서 UDP로 전달된 정보를 수집 서버로 전송하는 프로그램입니다.

/etc/init.d/whatap-php

서비스 스크립트

whatap_php

서비스 실행파일

whatap.ini

애플리케이션 서버의 데이터를 수집하는 PHP 확장 모듈(PHP Extension module)의 설정 정보, 수집 서버의 주소와 서버의 프로젝트 라이센스 키가 입력되는 파일입니다.

whatap-install-#.log

설치 과정에 대한 로그 파일입니다.
기본 저장 경로는 /usr/whata/php/logs 입니다.
날짜별로 파일이 생성 됩니다. 기본 7일 기간 동안의 로그만 유지됩니다.
파일명은 whatap-install-20221109.log 형식으로 기록 됩니다.

whatap-boot-#.log

에이전트 로그 파일입니다.
기본 저장 경로는 /usr/whata/php/logs 입니다.
날짜별로 파일이 생성 됩니다. 기본 7일 기간 동안의 로그만 유지됩니다.
파일명은 whatap-boot-20221109.log 형식으로 기록 됩니다.

install.sh

설치 스크립트 입니다.
php extension (whatap.so)를 apache 또는 php-fpm 에 설치, whatap-php 서비스 설치를 진행합니다.

WhaTap.php (sample.php)

PHP 소스코드에서 사용할 API 레퍼런스 클래스 (/usr/whatap/php/lib/WhaTap.php) 및 예제 소스 파일(sample.php)입니다.

에이전트 이름 식별

와탭은 모니터링 정보 수집 대상인 애플리케이션 서버 식별을 위한 정보로 기본적으로 애플리케이션 서버로부터 수집한 정보를 활용합니다. 기본적으로 활용하는 정보는 애플리케이션 서버 종류, 애플리케이션 서버의 IP, 서비스 포트를 조합하여 애플리케이션 서버를 고유 식별자로 사용하게 되며 필요에 따라 사용자가 지정한 명칭을 사용하거나 패턴을 변경하여 사용하는 것도 가능합니다. 이때에는 꼭 고유한 값이어야 합니다.

애플리케이션 서버로부터 추출한 정보를 활용하는 이유는 애플리케이션 서버 정지, 네트워크 단절 또는 에이전트 문제로 인한 수집 서버와 에이전트의 통신 단절 상태가 복구되었을 경우, 재 접속된 에이전트로부터 송신되는 정보가 기존 에이전트로부터 송신된 정보와의 연속성을 유지하기 위해서입니다. 와탭이 애플리케이션 서버를 식별하기 위해 사용하는 기본 패턴은 다음과 같습니다.

  • default: {type}-{ip2}-{ip3}-{process}-{dockerid}-{ips}

기본 패턴에 대한 변경은 whatap.ini에서 설정에서 가능합니다.

object_name default: {type}-{ip2}-{ip3}-{process}-{dockerid}-{ips}

설정

설명

type

app_name

Ip#

Ip를 .으로 나누었을 때 #번째 자리(0부터)

process

app_process_name

hostname

호스트 명

dockerid

도커 컨테이너 아이디

ips

전체 아이피 정보 (ip4, ip6)