Apache OTel Receiver
1. PHP/Apache 用の OTel Receiver の確認
YAMLファイル ~/workshop/k3s/otel-apache.yaml を確認し、以下のコマンドで内容を検証します:
このファイルには、PHP/Apacheデプロイメントを監視するためのOpenTelemetryエージェントの設定が含まれています。
2. OpenTelemetry 設定における観測ルール
上記のファイルには、OTel receiver_creator を使用したApacheの観測ルールが含まれています。このReceiverは、観測されたエンドポイントが設定されたルールに一致するかどうかに基づいて、実行時に他のReceiverをインスタンス化できます。
設定されたルールは、検出された各エンドポイントに対して評価されます。ルールがtrueと評価された場合、そのルールのReceiverは、一致したエンドポイントに対して設定どおりに開始されます。
上記のファイルでは、OpenTelemetryエージェントに対して、名前が apache に一致し、ポート 80 が開いているPodを探すように指示しています。見つかると、エージェントは設定されたURLからApacheメトリクスを読み取るApache Receiverを設定します。上記のYAML内のサービス用のK8s DNSベースのURLに注目してください。
Apache設定を使用するには、以下のコマンドで既存のSplunk OpenTelemetry Collector Helmチャートをアップグレードして otel-apache.yaml ファイルを使用します:
注意
デプロイメントの REVISION 番号が変更されました。これは変更を追跡するのに便利な方法です。
3. Kubernetes ConfigMaps
ConfigMapは、アプリケーションに注入できるキーと値のペアで構成されるKubernetesのオブジェクトです。ConfigMapを使用すると、設定をPodから分離できます。
ConfigMapを使用すると、設定データのハードコーディングを防ぐことができます。ConfigMapは、機密性のない暗号化されていない設定情報を保存および共有するのに便利です。
OpenTelemetry Collector/エージェントは、ConfigMapを使用してエージェントとK8s Cluster Receiverの設定を保存します。変更後にエージェントの現在の設定を確認するには、以下のコマンドを実行します:
ワークショップの質問
Collectorで使用されているConfigMapはいくつありますか?
NamespaceからConfigMapのリストを取得したら、otel-agent 用のものを選択し、以下のコマンドで表示します:
注意
オプション -o yaml は、ConfigMapの内容を読みやすいYAML形式で出力します。
ワークショップの質問
otel-apache.yaml の設定は、CollectorエージェントのConfigMapに表示されていますか?