본문으로 건너뛰기

Google App Engine에 PHP 에이전트 설치

정보

리포지토리 등록 URL을 HTTP에서 HTTPS로 변경했습니다. 서비스 설치 화면은 HTTPS를 사용하고 있어 독스를 맞췄습니다. 변경한 URL은 모두 정상 응답을 확인했습니다.

확인 요청: HTTPS URL로 리포지토리 등록과 whatap-php 패키지 설치가 실제로 동작하는지 확인 부탁합니다.

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 https://repo.whatap.io/debian/release.gpg -O -| apt-key add -
    RUN wget https://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

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