본문으로 건너뛰기

Docker 환경 설치

Docker 컨테이너 기반으로 실행하는 PHP 애플리케이션에 와탭 모니터링 에이전트를 적용하고 컨테이너 이미지를 패키징하는 과정을 다음과 같이 안내합니다.

에이전트 다운로드

PHP 애플리케이션 도커 이미지 빌드 시 whatap-php 패키지를 설치하세요.

x64
RUN wget https://s3.ap-northeast-2.amazonaws.com/repo.whatap.io/alpine/x86_64/whatap-php.tar.gz
RUN tar -xvzf whatap-php.tar.gz -C /

에이전트 설정

  • 다음 명령어를 이용해 설치 스크립트를 설정하세요. 와탭 액세스 키, 서버 IP 정보를 입력하면 PHP 환경 정보를 자동으로 수집합니다.

    RUN (echo "[액세스 키]"; echo "[서버 IP]")|/usr/whatap/php/install.sh
  • 다음과 같이 PHP 환경 정보를 직접 입력할 수 있습니다.

    # RUN /usr/whatap/php/install.sh -l [액세스 키] -s [서버 IP] -v [PHP 버전 x.x] -i [php.ini의 전체 경로] -p [프로세스명] -z [thread safety]
    RUN /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]
노트

액세스 키가 Docker Public 상태의 이미지에 노출되지 않도록 주의하세요.

컨테이너 환경변수 설정

Docker 빌드 후 쿠버네티스 환경 내 컨테이너 환경변수를 설정하세요. 애플리케이션 배포 yaml 파일에 다음 내용을 추가하세요.


env:
- name: NODE_IP
valueFrom: {fieldRef: {fieldPath: status.hostIP}}
- name: NODE_NAME
valueFrom: {fieldRef: {fieldPath: spec.nodeName}}
- name: POD_NAME
valueFrom: {fieldRef: {fieldPath: metadata.name}}

다음 예시를 참조하세요.

apiVersion: v1
kind: Pod
metadata:
name: # Pod Name
labels: # Pod Labels
spec:
containers:
env:
- name: NODE_IP
valueFrom: {fieldRef: {fieldPath: status.hostIP}}
- name: NODE_NAME
valueFrom: {fieldRef: {fieldPath: spec.nodeName}}
- name: POD_NAME
valueFrom: {fieldRef: {fieldPath: metadata.name}}
노트

환경변수 역할

  • NODE_IP: 현재 Pod가 호스팅된 노드(Node)의 IP 주소를 수집합니다.

  • NODE_NAME: 현재 Pod가 실행 중인 노드의 이름을 수집합니다.

  • POD_NAME: 현재 Pod의 이름을 수집합니다.

에이전트 실행

애플리케이션 시작 명령어 앞에 추가로 whatap-php 시작 명령어를 추가하세요.

sh -c "/usr/whatap/php/whatap-php start && [애플리케이션 시작 명령어]"

다음 명령어를 실행해 와탭 서비스가 정상 실행되었는지 확인하세요. 애플리케이션 서버가 실행되면 에이전트가 모니터링 정보를 수집하기 시작합니다.


ps -ef | grep whatap_php

에이전트 설치 확인

에이전트를 제대로 설치했는지 확인하려면 대시보드 > 애플리케이션 서비스 대시보드 메뉴로 이동하세요.

다운로드한 파일을 직접 설치한 다음, 대시보드 메뉴에서 에이전트를 확인할 수 없다면 다음 사항을 확인하세요.

  • 컨테이너에서 ps -ef | grep whatap 명령어를 실행해 에이전트 옵션을 적용했는지 확인하세요.

  • 컨테이너의 /usr/whatap/php/logs 경로의 내용을 확인하세요. 에이전트 로그는 logs/whatap-{boot or install}-yyyymmdd.log 형식의 파일명으로 출력됩니다.