Docs » Splunk Distribution of the OpenTelemetry Collector の利用開始 » Collector for Linux を使い始める » チュートリアル:Linuxホスト上でのSplunk Distribution of OpenTelemetry Collectorの設定 » パート2:Collectorの設定を編集して新しいコンポーネントを追加する

パート2:Collectorの設定を編集して新しいコンポーネントを追加する 🔗

新しいコンポーネント、機能、または設定を追加する必要がある場合は、Collectorの設定ファイルを編集します。たとえば、Splunk Distribution of OpenTelemetry Collectorには、メトリクスを収集し、CollectorがSplunk Observability Cloudにデータをエクスポートする準備を整えるためのCollectorコンポーネントが設定されています。

前のステップでは、Collectorをインストールし、Collectorの設定ファイルについて学びました。次の手順では、Collectorのデフォルトの設定にいくつかのコンポーネントを追加し、Collectorサービスを再起動してその変更を適用します。以下のコンポーネントを追加します:

  • TCPでログを収集するためのSyslogレシーバー

  • レシーバーを使用して収集したデータをフィルターリングするためのフィルタープロセッサー。

チュートリアルの概要は、チュートリアル:Linuxホスト上でのSplunk Distribution of OpenTelemetry Collectorの設定 を参照してください。

デフォルトの設定ファイルを見つける 🔗

お好みのコードエディターまたはテキストエディターを使用して、/etc/otel/collectorのagent_config.yamlファイルを開きます。パート1でCollectorをホスト監視モードでデプロイしたので、これが編集する必要のある設定ファイルになります。

少し時間を取って、設定ファイルを読んでみましょう。Splunkディストリビューションに含まれるエージェント構成には、ホストメトリクスレシーバーやHECエクスポーターなど、いくつかの重要なコンポーネントがすでに含まれていることに注目してください。

syslogレシーバーを追加する 🔗

次に、Syslogレシーバーを追加します。設定ファイルを開き、 receivers セクションの中に syslog: を追加します:

receivers:
  syslog:

コンポーネントはデフォルト値を使うことが多いので、前の例のように空のエントリーを追加するだけで十分な場合もあります。syslogレシーバーの場合は、アドレスとプロトコルを定義する必要がある場合もあります:

receivers:
  syslog:
    tcp:
      listen_address: "0.0.0.0:54526"
    protocol: rfc5424

Syslogレシーバーを追加したら、必ず service.pipelines の下にあるレシーバーのリストにこれを追加してください。この場合、このSyslogレシーバーはログを収集するため、パイプラインタイプは 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設定ファイルを保存し、次のステップに進みます。

フィルタープロセッサーを追加する 🔗

これで、Collectorがsyslogログを受信するように設定できたので、次にフィルタープロセッサーを追加し、重大度レベル5(情報)のsyslogメッセージをすべて除外して、より重大度の高いログだけをエクスポートするようにします。

例として、以下のようにログをフィルタリングしたいとします:

*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が新しい設定を読み取り、それに従って動作するようになります。

次のステップ 🔗

これでチュートリアルのパート2は完了です。Collectorの設定を編集して新しいコンポーネントを追加し、ホスト上のCollectorにその設定を適用しました。

しかし、うまくいかない場合もあります。Collectorの設定に関する一般的な問題のトラブルシューティング方法を学習する場合は、パート3:Collectorの設定に関する一般的な問題のトラブルシューティング に進んでください。

さらに詳しく 🔗

Collectorのインストールとコンポーネントの詳細については、以下のリソースを参照してください:

このページは 2024年12月18日 に最終更新されました。