본문으로 건너뛰기

Google Cloud App Engine

Custom Docker

구글 앱 엔진(Google Cloud App Engine)에 PHP 모니터링 에이전트를 설치하기 위해서는 Custom docker를 이용해야 합니다.

구글 앱 엔진 PHP의 기본형은 PHP 확장형 모듈 및 서비스 데몬을 실행할 수 없습니다. Docker Container를 통해 설치하세요.

구글 앱 엔진의 설정 파일인 app.yaml 파일에 flex 환경, custom 런타임으로 설정하세요.

$ vi app.yaml
env: flex
runtime: custom

Custom Docker로 실행하기 위해서는 flex 환경과 custom 런타임으로 설정된 app.yaml 파일과 동일한 위치에 Dockerfile을 생성해야 합니다. 구글 앱 엔진의 기본 php Docker 이미지를 참조하세요.

# google-appengine php php56, php70, php71
FROM gcr.io/google-appengine/php56

PHP 모니터링 에이전트 설치

PHP 모니터링 에이전트를 설치하세요.

  1. 라이브러리(wget)를 설치하세요.

    RUN apt-get install wget -y
  2. php-fpm 실행 명령어 링크를 생성하세요.

    RUN ln -s /opt/php/sbin/php-fpm /usr/bin/php-fpm
  3. whatap 리포지토리 및 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
  4. PHP 확장 모듈 및 whatap-php 서비스를 설정하세요.

    #RUN (echo "[ 발급된 액세스 키 ]"; echo "[ 발급된 서버 IP ]")|/usr/whatap/php/install.sh
    RUN (echo "xxxxxxxx"; echo "1.1.1.1/2.2.2.2")|/usr/whatap/php/install.sh
    노트

    PHP 모니터링 프로젝트 생성 후 액세스 키와 서버 IP가 발급됩니다. / 구분자로 여러 개의 IP 발급이 가능합니다.

  5. supervisor를 통해 whatap-php 서비스를 실행하세요.

    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

방화벽 규칙 추가

구글 앱 엔진에서 사용하는 네트워크를 대상으로 방화벽 규칙을 추가하세요. 발급받은 서버 IP에 대해 6600 포트를 통한 TCP 송신을 허용해야 합니다.

배포 및 인스턴스 확인

Google Cloud SDK를 통해서 설정된 app.yaml 파일과 Dockerfile 을 배포하세요.

$ gcloud app deploy

구글 클라우드 콘솔에서 앱 엔진의 생성된 인스턴스를 확인하세요.