本文へスキップ

Docker環境インストール

Dockerコンテナベースで実行するPHPアプリケーションに、WhaTapモニタリングエージェントを適用し、コンテナイメージをパッケージングする過程を次のように案内します。

ノート

EKS Fargateは、対応予定です。

エージェントダウンロード

PHPアプリケーションのDockerイメージビルド時、whatap-phpパッケージをインストールしてください。

Red Hat/CentOS

RUN rpm -Uvh https://repo.whatap.io/centos/5/noarch/whatap-repo-1.0-1.noarch.rpm
RUN yum install -y whatap-php

エージェント設定

  • 次のコマンドを使用してインストールスクリプトを設定してください。 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の名前を収集します。

エージェント実行

アプリケーション開始コマンドの前にwhatap-php開始コマンドを追加してください。

sh -c "/usr/whatap/php/whatap-php start && [アプリケーション開始コマンド]"

次のコマンドを実行して、WhaTapサービスが正常に実行されているかを確認してください。 アプリケーションサーバーが実行されると、エージェントがモニタリング情報を収集し始めます。


ps -ef | grep whatap_php

エージェントのインストール確認

エージェントが正常にインストールされたかを確認するには、ダッシュボード > ダッシュボードメニューへ移動してください。

ダウンロードしたファイルをインストールした後にダッシュボードメニューからエージェントが表示されない場合は、次の事項を確認してください。

  • コンテナでps -ef | grep whatapコマンドを実行し、エージェントオプションを適用されていることを確認してください。

  • 該当コンテナ内の_/usr/whatap/php/logs_経路の内容を確認してください。 エージェントログは、logs/whatap-{boot、またはinstall}-yyyymmdd.log 形式のファイル名として出力されます。