Moodle 5.2では、OpenTelemetry(OTel)の組み込みサポートが導入されました。OpenTelemetryはオープンソースのオブザーバビリティ標準で、管理者および開発者はこれを使用して、Moodleサイトのパフォーマンスと動作をリアルタイムでトレース、監視、把握できます。
この最初のリリースでは自動インストルメンテーションに重点が置かれており、Moodleのコードを変更する必要はありません。設定が完了すると、Moodleはテレメトリのスパンデータを生成します。このデータは、OpenTelemetry互換の任意の監視ツールで収集および可視化できます。
何が自動的にトレースされますか?
設定が完了すると、Moodleは次のテレメトリスパンを生成します:
- すべてのウェブリクエストおよびCLI操作
- ルーティング:各リクエストを処理したコントローラおよびアクション
- スケジュールタスクおよびアドホックタスク(cron)
- イベントディスパッチおよびイベントの一括処理
- ウェブサービス呼び出し:外部関数の呼び出しごとに1つのスパン
要件
OpenTelemetryのサポートには、Moodleの外部で以下を設定する必要があります:
- PECLでインストールするOpenTelemetry PHP拡張モジュール:pecl install opentelemetry
- Moodleのインストール環境に追加するComposerパッケージ:composer require moodlehq/moodle-package-otel
- OTelエクスポータ:composer require open-telemetry/exporter-otlp
OpenTelemetryの設定はすべてphp.iniまたは環境変数で定義する必要があります。Moodleの管理画面からは設定できません。
データの表示
トレースは、SigNoz(オープンソース)、Jaeger、Grafana Tempo、Honeycomb、DatadogなどのOpenTelemetry互換の任意のバックエンドを使用して可視化できます。
インストルメンテーションの無効化
環境変数を使用して、この統合を完全に無効にすることも、個々のコンポーネントをオフにすることもできます:
- すべてを無効にする:OTEL_PHP_DISABLED_INSTRUMENTATIONS=moodlelms
- cronのみを無効にする:OTEL_PHP_DISABLED_INSTRUMENTATIONS=moodlelms.cronlistener
詳細情報
- GitHub上のmoodle-package-otelパッケージ:https://github.com/moodlehq/moodle-package-otel