PHP エージェント(CentOS)
前提条件
- エージェントのインストールに必要な前提条件の確認については、エージェントのインストールに必要な前提条件の確認 を参照してください。
- SixthSense エージェント:カスタマーサポートから提供されます。
- SixthSense コレクターの URL/IP(カスタマーサポートから提供されるユーザーのテナント URL)。
- SixthSense ポータルからのアクセス トークン。トークンへのアクセスについては「SixthSense ポータルを利用開始する」の アクセス トークンの取得 を参照してください。
- 変数: SixthSenseポータルからのアクセストークン。 「SixthSense ポータルを利用開始する」の アクセストークンへのアクセス を参照してください。
エージェントのダウンロードとインストール
RPMパッケージからのインストール
- エージェントをセットアップしたいマシンに RPM パッケージをダウンロードします(カスタマーサポートが共有するファイル)。
- RPM パッケージは、PHP バージョンとOS に依存します。そのため同様の OS アーキテクチャと PHP バージョンに基づいてビルドされたパッケージをインストールする必要があります。また、OS と PHP バージョンの詳細を共有する必要があります。
依存関係のインストール
yum install boost-devel
yum install php-curl
RPM パッケージのインストール
rpm -i <sixthsense-agent-name>.rpm
RPM パッケージの削除
rpm -e ss-php-agent
note
- このパッケージは、PHP 拡張機能 (.so ファイル) および GRPC/protobuf .so ファイルを /usr/local/lib ディレクトリにインストールします。
- 既存の GRPC、protobuf の .so ファイルは上書きされます。パッケージを削除すると、インストールされたすべてのファイルが削除されます。
- PHP エージェント RPM パッケージを削除した後、構成用の ini ファイルを削除します。
パッケージによって追加されたファイルの一覧を表示するには、次のコマンドを実行します。
rpm -qlp <rpm-file-name>
環境変数:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/local/lib64
エージェントの確認には、以下のコマンドを実行します。
ldd <path-to-php-extension>/skywalking.so
不足している共有ライブラリがないか確認し、PHP エージェントの ini ファイルを構成します。
上記のインストール手順でうまくいかない場合は、以下の手順でソースからインストールしてください。
ソースからエージェントをインストールする
PHP エージェントは PHP の拡張モジュールとしてインストールされ、システムからのすべての着信および発信コールの計測を担当します。そのため、ソースファイルから PHP 拡張モジュールをビルドする必要があります。以下の手順は、エージェントのビルドに有用です。
CentOS に gPRC とプロトコルバッファをインストールする
note
cmake バージョン3.13 以降が必要です。
GRPC_RELEASE_TAG=ss-php-agent
GIT_SSL_NO_VERIFY=1
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/local/lib64
LD_RUN_PATH=$LD_RUN_PATH:/usr/local/lib:/usr/local/lib64
sudo yum install -y git make openssl unzip curl libcurl-devel autoconf gcc-c++ automake libtool openssl-devel epel-release cmake3
sudo yum install -y centos-release-scl && yum install -y devtoolset-7 scl-utils # (this is to change gcc version to 7)
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 cmake3 ../.. -DBUILD_SHARED_LIBS=ON -DgRPC_INSTALL=ON && sudo make -j$(nproc) && sudo make install && sudo make clean && sudo ldconfig
CentOS に SixthSense エージェントをインストールする
- エージェントをビルドしてインストールするには、SixthSense エージェントを /tmp ディレクトリにコピーします。
- phpize コマンドが動作していることを確認します。動作していない場合は、PHP のバージョンに対応す るphp-devel をインストールします。
scl enable devtoolset-7 bash # (to change gcc version to v7)
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 ファイルの設定
sixsense.ini ファイルを開き、以下のフィールドを更新します(php --ini
で ini ファイルを表示します)。
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 url>
skywalking.log_enable = 1
skywalking.proxy = http://35.200.147.154:3128
skywalking.http = https://http-collector-observability.sixthsense.rakuten.com/oap
skywalking.segmentSize = 3000
skywalking.httpTimeout = 30
skywalking.segmentFlushInterval = 3
skywalking.proxy= <proxy url >
OneCloud Platform の場合は、次のコマンドを使用します。
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.log_enable = 1
In case of restricted environment, set the following parameters in the config.ini file:
skywalking.proxy = <proxy used for your internet access>
skywalking.http = https://sixthsense-backend.jpe2-caas1-prod1.caas.jpe2b.r-local.net/oap/
skywalking.segmentSize = 3000
skywalking.httpTimeout = 30
skywalking.segmentFlushInterval = 3
skywalking.proxy= <proxy url >
php-fpm を実行するには、次のコマンドを使用します。
sudo php-fpm --nodaemonize & (won't work without the nodaemonize option)
systemctl を使用して実行中に libprotobuf.so.3.12.2.0 ファイルが見つからずエラーが表示された場合は、次のコマンドを実行してください。
ln /usr/local/lib64/libprotobuf.so.3.12.2.0 /usr/lib64/libprotobuf.so.3.12.2.0