OPcache
Collectd OPcache モニターには、この Splunk Observability Cloud インテグレーションを使用してください。メリット、インストール、設定、メトリクスを参照してください
Splunk Distribution of OpenTelemetry Collectorは、Smart Agentレシーバーと collectd/opcache モニタータイプを使用し、opcache_get_status() 関数を使用してOPcacheからメトリクスを取得します。これは、コンパイル済みのスクリプトバイトコードを共有メモリに格納することでPHPのパフォーマンスを向上させます。
このインテグレーションはKubernetesとLinuxで利用できます。
メリット
インテグレーションを設定すると、これらの機能にアクセスできるようになります:
-
メトリクスを表示します。独自のカスタムダッシュボードを作成することができ、ほとんどのモニターは組み込みのダッシュボードも提供しています。ダッシュボードの詳細については、「Splunk Observability Cloudでダッシュボードを表示する」を参照してください。
-
Infrastructure Monitoring に表示される環境内の物理サーバー、仮想マシン、AWS インスタンス、およびその他リソースのデータ駆動型の視覚化を表示します。ナビゲータの詳細については、「Splunk Infrastructure Monitoring でナビゲーターを使用する」を参照してください。
-
Metric Finder へアクセスし、モニターから送信されたメトリクスを検索します。詳細は、「メトリクス・ファインダーとメタデータ・カタログを検索する」を参照してください。
インストール
このインテグレーションを導入するには、以下の手順に従ってください:
-
Splunk Distribution of OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします:
-
設定のセクションで説明するように、モニターを設定します。
-
Splunk Distribution of OpenTelemetry Collector を再起動します。
PHPセットアップ
以下のPHPスクリプトをPHPウェブサーバーにインストールしてください:
<?php
header('Content-Type: application/json');
$status=opcache_get_status();
echo json_encode($status,JSON_PRETTY_PRINT);
以下はNGINXを使用した例です:
location ~ /monitoring/.*\.php$ {
#access_log off;
allow 127.0.0.1;
allow ::1;
deny all;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/var/log:/usr/bin:/srv/http/monitoring";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass php-handler;
}
opcache_stat.php スクリプトを /srv/http/monitoring に入れ、以下のコマンドを実行します:
curl http://localhost/monitoring/opcache_stat.php
{
"opcache_enabled": true,
"cache_full": false,
"restart_pending": false,
"restart_in_progress": false,
"memory_usage": {
"used_memory": 82614848,
"free_memory": 183437232,
"wasted_memory": 2383376,
"current_wasted_percentage": 0.88787674903869629
},
#...
設定
Smart Agent モニターとCollector のインテグレーションを使用するには、以下の手順に従います:
-
Smart Agent レシーバーを設定ファイルに含めます。
-
レシーバーセクションおよびパイプラインセクションの両方で、Collector 構成にモニタータイプを追加します。
-
「Collector でSmart Agent モニターを使用する」を参照してください。
-
Smart Agent レシーバーの設定方法を参照してください。
-
一般的な構成オプションのリストについては、「モニターの共通設定」を参照してください。
-
Collector の詳細については、「はじめに:Collector を理解して使用する」を参照してください。
-
例
このインテグレーションを有効にするには、Collector構成に以下を追加します:
receivers:
smartagent/opcache:
type: collectd/opcache
... # Additional config
次に、設定ファイルの service.pipelines.metrics.receivers セクションにモニターを追加します:
service:
pipelines:
metrics:
receivers: [smartagent/opcache]
例:エンドポイントを設定する
ステータススクリプトの結果が /opcache_stat.php 以外のエンドポイントになる場合は、次の例のように path 設定オプションを使用します:
monitors:
- type: collectd/opcache
host: localhost
port: 80
path: "/opcache"
次の例に示すように、url 設定オプションを使って完全な URL を定義することもできます:
monitors:
- type: collectd/opcache
host: localhost
port: 80
useHTTPS: true
url: "http://{{.host}}:{{.port}}/opcache"
# useHTTPS is ignored.
コンフィギュレーション設定
次の表に、このモニターの設定オプションを示します:
|
オプション |
必須 |
タイプ |
説明 |
|---|---|---|---|
|
|
いいえ |
|
Web サーバーのホスト名。たとえば、 |
|
|
いいえ |
|
Web サーバーのポート番号。たとえば、80 のようになります。デフォルトの値は |
|
|
いいえ |
|
true の場合、モニターは HTTPS 接続を使用します。デフォルト値 は |
|
|
いいえ |
|
OPcache スクリプトのスクレイプ URL のパス。デフォルト値 は |
|
|
いいえ |
|
最終的なURLか、Goテンプレート( host、
|
|
|
いいえ |
|
モニターの名前。 |
メトリクス
https://raw.githubusercontent.com/signalfx/splunk-otel-collector/main/internal/signalfx-agent/pkg/monitors/collectd/opcache/metadata.yaml
備考
-
Splunk Observability Cloud で利用可能なメトリクスタイプの詳細は、「メトリクスタイプ」を参照してください。
-
ホストベースのサブスクリプションプランでは、デフォルトのメトリクスは、ホスト、コンテナ、バンドルメトリクスなど、Splunk Observability Cloud のホストベースのサブスクリプションに含まれるメトリクスです。カスタムメトリクスはデフォルトでは提供されていないため、料金が発生する場合があります。詳細については、「メトリクスカテゴリ」を参照してください。
-
MTSベースのサブスクリプションプランでは、すべてのメトリクスがカスタムです。
-
メトリクスを追加するには、「その他のメトリクスの追加」で
extraMetricsの設定方法を参照してください。
トラブルシューティング
__ ___ ___ _ ______ _____________ _____ ________ ___ ___ ___ ____ __ ___ ____ ____ __ ______ _____________ ______ ___ ___ ___ ____ __ ___ _________ _____
_________ __ ______ _____________ _____ _________
-
______ _ ____ __ ___ ______ _______ _______
-
_______ ______ ________
_________ __ ___________ _________ ___ ____ _____ _____
-
___ _ ________ ___ ___ _______ _______ _________ _______ __ ______ ________
-
____ ___ ______ ______________ ____ _____ _____ _______ __ ___________ ____ __________ _________ ___ ______ _________ __________ __ _____ ___ ____ _______