パート2:Collectorの設定を編集して新しいコンポーネントを追加する 🔗
新しいコンポーネント、機能、または設定を追加する必要がある場合は、Collectorの設定ファイルを編集します。たとえば、Splunk Distribution of OpenTelemetry Collectorには、メトリクスを収集し、CollectorがSplunk Observability Cloudにデータをエクスポートする準備を整えるためのCollectorコンポーネントが設定されています。
前のステップでは、Collectorをインストールし、Collectorの設定ファイルについて学びました。次の手順では、Collectorのデフォルトの設定にいくつかのコンポーネントを追加し、Collectorサービスを再起動してその変更を適用します。以下のコンポーネントを追加します:
Syslog receiver to collect logs over TCP.
レシーバーを使用して収集したデータをフィルターリングするためのフィルタープロセッサー。
See Tutorial: Configure the Splunk Distribution of OpenTelemetry Collector on a Linux host for an overview of the tutorial.
Locate the default configuration file 🔗
お好みのコードエディターまたはテキストエディターを使用して、/etc/otel/collectorのagent_config.yamlファイルを開きます。パート1でCollectorをホスト監視モードでデプロイしたので、これが編集する必要のある設定ファイルになります。
少し時間を取って、設定ファイルを読んでみましょう。Splunkディストリビューションに含まれるエージェント構成には、ホストメトリクスレシーバーやHECエクスポーターなど、いくつかの重要なコンポーネントがすでに含まれていることに注目してください。
Add the syslog receiver 🔗
次に、Syslogレシーバーを追加します。設定ファイルを開き、receivers
セクションの中に syslog:
を追加します:
receivers:
syslog:
コンポーネントはデフォルト値を使うことが多いので、前の例のように空のエントリーを追加するだけで十分な場合もあります。syslogレシーバーの場合は、アドレスとプロトコルを定義する必要がある場合もあります:
receivers:
syslog:
tcp:
listen_address: "0.0.0.0:54526"
protocol: rfc5424
After you’ve added the Syslog receiver, make sure to add it to the receivers’s list under service.pipelines
. In this case, the pipeline type is logs
, since the Syslog receiver collects logs:
service:
pipelines:
#
# Other pipelines
#
logs:
# Add syslog at the end of the list
receivers: [fluentforward, otlp, syslog]
processors:
- memory_limiter
- batch
- resourcedetection
exporters: [splunk_hec, splunk_hec/profiling]
agent_config.yaml設定ファイルを保存し、次のステップに進みます。
Add the filter processor 🔗
これで、Collectorがsyslogログを受信するように設定できたので、次にフィルタープロセッサーを追加し、重大度レベル5(情報)のsyslogメッセージをすべて除外して、より重大度の高いログだけをエクスポートするようにします。
For example, suppose you want to filter the following log:
*Apr 29 03:02:42: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to down
agent_config.yamlファイルで、processors
セクションを探して、フィルタープロセッサーを追加します。以下のスニペットは、重大度レベル5以下のすべてのメッセージを除外するようにログをフィルターリングしています:
processors:
filter/severity_text:
logs:
exclude:
match_type: regexp
severity_texts:
- -[5-7]-
このフィルタープロセッサーは、正規表現とOpenTelemetry変換言語(OTTL)を使用する複数のフィルター操作をサポートしています。初めてプロセッサーを設定する際は、時間をかけてドキュメントを読んでください。詳しくは、GitHub の OpenTelemetry Transformation Language (OTTL) を参照してください。
最後に、処理を必要とする同じログパイプラインにこのフィルタープロセッサーを追加します:
service:
pipelines:
#
# Other pipelines
#
logs:
# Add syslog at the end of the list
receivers: [fluentforward, otlp, syslog]
processors:
- memory_limiter
- batch
- resourcedetection
- filter/severity_text
exporters: [splunk_hec, splunk_hec/profiling]
agent_config.yaml設定ファイルを保存し、次のステップに進みます。
Collector の再起動 🔗
ご利用のLinuxマシンで動作しているCollectorに設定を適用するには、Collectorサービスを再起動します:
sudo systemctl restart splunk-otel-collector
サービスを再起動することで、Collectorが新しい設定を読み取り、それに従って動作するようになります。
Next step 🔗
これでチュートリアルのパート2は完了です。Collectorの設定を編集して新しいコンポーネントを追加し、ホスト上のCollectorにその設定を適用しました。
しかし、うまくいかない場合もあります。Collectorの設定に関する一般的な問題のトラブルシューティング方法を学習する場合は、Part 3: Troubleshoot common Collector configuration issues に進んでください。
さらに詳しく 🔗
To learn more about the Collector installation and components, see the following resources: