Ubuntu における PHP エージェント
SixthSense 用の PHP エージェントにより、以下の機能が提供されます。
- アプリケーションを監視し、パフォーマンスの問題の根本原因を特定して見つけやすくします。
- ビジネスデータを収集および分析することで、エージェントのパフォーマンスを拡張し、顧客体験の向上を支援します。
- データ主導のビジネス上の意思決定を支援します。
前提条件
- エージェントのインストールに必要な事前準備については、「エージェントのインストールに必要な事前準備の確認」を参照してください。
- SixthSense エージェント:カスタマーサポートから提供されます。
- SixthSense コレクターの URL/IP(カスタマーサポートから提供されるテナント URL)
- SixthSense ポータルからのアクセス トークン。トークンへのアクセスについては 「SixthSense ポータルを利用開始する」にある アクセス トークンの取得 を参照してください。
- 変数: SixthSenseポータルからのアクセストークン。 「SixthSense ポータルを利用開始する」の アクセストークンへのアクセス を参照してください。
note
エージェントがリクエストを傍受できるように、リクエストは php-fpm で処理する必要があります。
Debian パッケージからのインストール
- エージェントをセットアップするマシンに Debian パッケージをダウンロードします(ファイルはカスタマーサポートと共有されます)。 Debian パッケージは、PHP のバージョンと OS に依存します。同様の環境(アーキテクチャ、OS、PHP のバージョンの詳細を共有)でビルドされたパッケージをインストールする必要があります。
- 依存関係をインストールします。
apt install libboost-all-dev
apt install php<php-version>-curl
- Debianパッケージをインストールします。
dpkg -i <sixthsense-agent-name>.deb
Debian パッケージの削除
dpkg -r ss-php-agent
note
パッケージにより、php 拡張(.so ファイル)と GRPC/protobuf (.so) ファイルが /usr/local/lib ディレクトリにインストールされます。既存の GRPC、protobuf .so ファイルは上書きされます。パッケージを削除すると、インストールされたすべてのファイルが削除されます。
上記の方法でうまくいかない場合は、以下の手順にてソースからインストールします。
PHP エージェントのダウンロード
- カスタマーサポートから提供される PHP エージェントをダウンロードします。
- Ubuntu に gPRC と Protobuf をインストールします。
PHP エージェントのインストール
PHP エージェントは PHP 拡張モジュールとしてインストールされ、システムからのすべての着信および発信コールのインストルメンテーションを担当します。そのため、ソースファイルから PHP 拡張モジュールをビルドする必要があります。以下の手順は、エージェントのビルドに有用です。
Ubuntu に gPRC と Protobuf をインストールする
note
cmake のバージョン3.13 以降が必要です。
cmakeのバージョンが満たされていない場合は、次のコマンドを使用して手動でインストールします。
curl -L -o cmake-3.19.1.tar.gz https://github.com/Kitware/CMake/releases/download/v3.19.1/cmake-3.19.1.tar.gz \
&& tar zxf cmake-3.19.1.tar.gz \
&& cd cmake-3.19.1 && ./bootstrap && make -j$(nproc) && make install
GRPC_RELEASE_TAG=ss-php-agent
GIT_SSL_NO_VERIFY=1
sudo apt-get update && sudo apt-get install -y \
autoconf automake libtool curl make g++ unzip \
build-essential libtool pkg-config \
git ca-certificates cmake libcurl4-openssl-dev re2c
sudo git clone --depth 1 -b ${GRPC_RELEASE_TAG} https://artifacts-observability.sixthsense.rakuten.com/sixthsense-repositories/grpc.git /var/local/git/grpc
cd /var/local/git/grpc && sudo git config --global url.https://github.com/.insteadOf git://github.com/
cd /var/local/git/grpc && sudo git submodule update --init --recursive
cd /var/local/git/grpc/third_party/protobuf && sudo ./autogen.sh && sudo ./configure && sudo make -j$(nproc) && sudo make install && sudo make clean && sudo ldconfig
cd /var/local/git/grpc && sudo mkdir -p cmake/build && cd cmake/build && sudo cmake ../.. -DBUILD_SHARED_LIBS=ON -DgRPC_INSTALL=ON && sudo make -j$(nproc) && sudo make install && sudo make clean && sudo ldconfig
Protobuf をインストールした後、以下の操作を行います。
- LD_LIBRARY_PATH をエクスポートします。エクスポート先は、$LD_LIBRARY_PATH:/usr/local/lib:/usr/local/lib64 とします。
- LD_RUN_PATH をエクスポートします。エクスポート先は、$LD_RUN_PATH:/usr/local/lib:/usr/local/lib64 とします。
Ubuntu に SixthSense エージェントをインストールする
- SixthSense エージェントを /tmp ディレクトリにコピーし、以下のコマンドを使用してエージェントをビルドおよびインストールします。
cd /tmp/sixthsense-php-agent && sudo phpize && sudo ./configure && sudo make && sudo make install
sudo cp php.ini/Php extension directory base/conf.d/ext-skywalking.ini
- $PHP_INI_DIR/conf.d/ext-skywalking.ini ファイルを開き、以下のフィールドを更新します。
PHP
;;;;;;;;;;;;;;;;;;;
; About php.ini ;
;;;;;;;;;;;;;;;;;;;
; PHP's initialization file, generally called php.ini, is responsible for
; configuring many of the aspects of PHP's behavior.
skywalking
extension=skywalking.so
skywalking.app_code = <Your_service_name>
skywalking.authentication = <Your_auth_token>
skywalking.teamID = <Your_team_id>
skywalking.enable = 1
skywalking.version = 8
skywalking.grpc = grpc-collector-observability.sixthsense.rakuten.com:443 (Not applicable for OneCloud Platform)
skywalking.log_enable = 1
skywalking.grpc_tls_enable = 1
skywalking.grpc_tls_pem_root_certs=
skywalking.grpc_tls_pem_private_key=
skywalking.grpc_tls_pem_cert_chain=
skywalking.proxy= <proxy url >
以上の手順にて、エージェントがインストールおよび初期化されます。これにより、アプリケーションに流れるトラフィックがキャプチャされ、SixthSense ダッシュボードで表示できるようになります。