Docker環境インストール
Dockerコンテナベースで実行するPHPアプリケーションに、WhaTapモニタリングエージェントを適用し、コンテナイメージをパッケージングする手順を次のように案内します。
エージェントダウンロード
PHPアプリケーションのDockerイメージビルド時、whatap-phpパッケージをインストールしてください。
- x64
- AArch64
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 /
RUN wget https://s3.ap-northeast-2.amazonaws.com/repo.whatap.io/alpine/aarch64/whatap-php.tar.gz
RUN tar -xvzf whatap-php.tar.gz -C /
エージェント設定
-
次のコマンドを使用してインストールスクリプトを設定してください。 WhaTapアクセスキー、サーバー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ビルド後、Kubernetes環境内のコンテナ環境変数を設定します。 アプリケーションのリリーズ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の名前を収集します。
エージェント実行
- Command
- Supervisor
アプリケーション開始コマンドの前にwhatap-php開始コマンドを追加します。
sh -c "/usr/whatap/php/whatap-php start && [アプリケーション開始コマンド]"
Supervisorでアプリケーションを起動する場合は、次のコードを参考してwhatap-phpサービスを追加してください。
RUN echo "[program:whatap-php]" >> /etc/supervisor/conf.d/whatap.conf
RUN echo "command = sh -c ‘/usr/whatap/php/whatap-php start’" >> /etc/supervisor/conf.d/whatap.conf
RUN echo "user = root" >> /etc/supervisor/conf.d/whatap.conf
RUN echo "startsecs = 0" >> /etc/supervisor/conf.d/whatap.conf
RUN echo "autostart = true" >> /etc/supervisor/conf.d/whatap.conf
RUN echo "autorestart = false" >> /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
次のコマンドを実行して、WhaTapサービスが正常に実行されているかを確認してください。 アプリケーションサーバーが実行されると、エージェントがモニタリング情報を収集します。
ps -ef | grep whatap_php
エージェントのインストール確認
エージェントが正常にインストールされたかを確認するには、ダッシュボード > ダッシュボードメニューへ移動してください。
ダウンロードしたファイルをインストールした後にダッシュボードメニューからエージェントが表示されない場合は、次の事項を確認してください。
-
コンテナで
ps -ef | grep whatap
コマンドを実行し、エージェントオプションを適用されていることを確認してください。 -
該当コンテナ内の_/usr/whatap/php/logs_経路の内容を確認してください。 エージェントログは、logs/whatap-
{boot、またはinstall}
-yyyymmdd.log 形式のファイル名として出力されます。