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 모니터링 에이전트를 설치하세요.
-
라이브러리(wget)를 설치하세요.
RUN apt-get install wget -y
-
php-fpm 실행 명령어 링크를 생성하세요.
RUN ln -s /opt/php/sbin/php-fpm /usr/bin/php-fpm
-
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 -
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 발급이 가능합니다.
-
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
구글 클라우드 콘솔에서 앱 엔진의 생성된 인스턴스를 확인하세요.