OpenTelemetry Collector レシーバー
その他のレシーバー
デフォルトの設定には、他のレシーバーがあることに気づくはずです。 otlp、opencensus、jaeger、zipkin が定義されています。これらは他のソースからテレメトリーデータを受信するために使われます。このワークショップでは、これらのレシーバーについては取り上げませんので、そのままにしておきましょう。
Ninja: レシーバーを動的に生成する
dockerコンテナ、kubernetesポッド、sshセッションのような短時間のタスクを観測するために、receiver creator レシーバーと observer エクステンションを使って、対象のサービスが起動するタイミングで新しいレシーバーを作成することができます。
何が必要なの?
receiver creator とそれに関連する observer エクステンションの使用を開始するには、collector build manifest に追加する必要があります。
詳細は installation を参照してください。
注意事項はある?
短命なタスクの中には、username や password のような追加設定を必要とするものがあります。それらの値は環境変数 を参照したり、 ${file:./path/to/database/password}
のようなスキーム展開構文を使うこともできます。
組織における機密情報の取り扱い規定に従って、どのような方法を取るかを検討してください。
Ninja ゾーン
この Ninja ゾーンに必要なものは2つだけです:
- builder manifestに、 receiver creator レシーバーと observer エクステンションを追加する
- 検出されたエンドポイントを検出するように、設定を作成する
次のようにすると、設定をテンプレート化できます:
receiver_creator:
watch_observers: [host_observer]
receivers:
redis:
rule: type == "port" && port == 6379
config:
password: ${env:HOST_REDIS_PASSWORD}
他の例は receiver creator’s examples にあります。
設定を確認しましょう
これで、レシーバーをカバーできました。ここで、設定のの変更内容をチェックしてみましょう。
Check-in設定をレビューしてください
|
|
これで、レシーバーを通して OpenTelemetry Collector にデータがどのように取り込まれるかを確認しました。次に、コレクターが受信したデータをどのように処理するかを見てみましょう。
警告
ここではコレクターを再起動しないでください! /etc/otelcol-contrib/config.yaml
の変更はまだ完了していません。