Sumologicで目にするOpen Telemetry Collectorとは(後編)

 2024.04.03  taka

こんにちは。

技術本部のtakaです。

Sumologicを利用しているユーザの方なら一度は見るSumologicのログ収集を行うエージェントであるコレクターを一覧表示するCollection画面に、「Open Telemetry Collection」というタブがあるのはご存じでしょうか?

そんなOpen Telemetryを前編、中編、後編に分けて紹介しております。

  • 前編では、Open Telemetryとはそもそも何を指しているのか、Open Telemetryそのものの利点とSumologicのOpen Telemetry Collectorとは何を行うことが出来、その利点はどこにあるのかを解説しました。
  • 中編では、まずOpen Telemetry Collectorというものがどういうものであったか、Open Telemetry Collectorのコンポーネントと設定ファイルについて解説しました。
  • 後編(この記事)では、Open Telemetry Collectorのインストール、アンインストール方法、ログ収集実施手順を解説します。

※以降この記事では、Open Telemetry Collectorの事をCollectorと呼称します、ご注意ください。

 

Collectorをインストールする前に

Collectorは、プラットフォームであるWindows・Linux・Macと構成管理ツールであるAnsibleChefPuppetを通して、プラットフォーム上にインストールすることが可能です。

今回の記事では、プラットフォームではWindowsのインストール方法を解説します。

Collectorをプラットフォームにインストールする上で、最低限要求されるスペックについては、以下の通りです。

Windowsの要求スペック

  • 200 MB のディスク容量
  • 64MBRAM
  • サポートされているバージョンは、Windows 10以降、Windows Server 2016以降

Linuxの要求スペック

  • 200 MB のディスク容量
  • 64MBRAM
  • サポートされているバージョンは、RHEL (7-9)、Debian (9-11)Ubuntu (18-22)SUSE (ES12ES15)Amazon Linux 2(AL2)Amazon Linux 2023(AL2023)CentOS (78)

Macの要求スペック

  • 200 MB のディスク容量
  • 64MBRAM
  • サポートされているバージョンは、macOS 10.X以降

なお、今回の記事が古い場合、最低限要求されるスペックが更新されている場合がございます。

以下のインストール手順前を行う前に、「こちらのSumolgoic公式ドキュメント」からインストールしたいプラットフォームを選択し、要求スペックをご確認ください。

 

Windowsでのインストール手順

1. Sumologicの左側メニューバーからManageDataー>Collectionをクリック

2. 上側のOpen Telemetry Collectionタブをクリック

3. 右側の+Add Collectorボタンをクリック

 

4. 左側でAnsibleを選択後、①Installation Token下の入力部分で文字を入力し、+Create New Tokenを選択

なお、②に存在するhost.groupdeployment.environmentの設定は、OpenTelemetry Collectorにつくタグとして設定しています。

このタグは、SourceCategory同様、収集したデータを分類し、フィルタリング・検索する為のメタデータとなります。

具体的な使い方としてはクエリ文にデフォルト設定の場合は、host.group=登録した値(デフォルトの場合はdefault)とクエリに入力する事で検索を行うことが出来ます。

 

5. トークン名を入力(以下の例では、taka-testとしました)

 

6. ④配下のCopyボタンをクリック

 

7. 管理者としてWindows PowerShellを開き、6.でコピーした物をペーストして実行

 

8.Waiting for CollectorからCollector Registered successfullyとなったら右上のnextボタンをクリック

 

9. Doneボタンをクリック

 

10. 2.でのOpen TelemetryCollectionに戻り、Collectorをインストールした機器をクリック、その後、Open in Metricsボタンをクリックし、メトリクスが収集できていることを確認

※Collectorのテレメトリデータの収集には、少し時間が掛かる場合がございます。

 

Collectorのログ収集実施手順

1. 以下設定ファイルの【収集したいファイルパス名】を修正し、custom_files.yamlとして保存

こちらは、中編Collectorのコンポーネントについてでも紹介させていただいた通り、フルパスまたは複数指定、*によるワイルドカードでの指定も可能です。
例えば、C:/Users/Administrator/Downloads/test/*txtと記載できます。

receivers:
  filelog/custom_files:
    include:
    - 【収集したいファイルパス名】
    include_file_name: false
    include_file_path_resolved: true
    storage: file_storage
    start_at: beginning

processors:
  groupbyattrs/custom_files:
    keys:
      - log.file.path_resolved
  resource/custom_files:
    attributes:
      - key: _sourceCategory
        value: Windows/file
        action: insert
      - key: sumo.datasource
        value: windows
        action: insert
  sumologic_schema/custom_files:

service:
  pipelines:
    logs/custom_files:
      receivers:
        - filelog/custom_files
      processors:
        - memory_limiter
        - groupbyattrs/custom_files
        - resource/custom_files
        - resourcedetection/system
        - sumologic_schema/custom_files
        - batch
      exporters:
        - sumologic

 
 
 補足:custom_files.yamlのコンポーネント
  • 1.で記載したFilelog ReciverでのField設定

Resouce Processorの動作を決めるactionについては、以下の値を入れることができます。

Field

Default値

説明

include(必須)  

収集対象のファイルパスを指定

include_file_name true

属性にファイル名を追加するかどうか

include_file_path_resolved false

シンボリンク解決後のファイルパスを log.file.path_resolved 属性として追加するかどうか

storage none

ファイルオフセットを格納するストレージ拡張の IDを記載

ファイルオフセット(=ファイルの読みとり位置)は、コレクターが再起動した場合に、レシーバが中断した場所から再開する。ストレージ拡張を使用しない場合、受信機はオフセットをメモリ上だけで管理

start_at end

ファイルの読み取り位置の開始場所を記載

 

  • 1.で定義したProcessorの動作について

Processor

説明

memory_limiter

Collectorが使用するメモリ量を適切に管理・制限する

Collector実行中のメモリ不足を防ぐために使用

groupbyattrs

同じ属性を持つテレメトリをグループとしてまとめる

log.file.path_resolvedを1グループとしてまとめている

resource

メタデータ(sourceCategoryなど)修正する

例えばInsertは、keyの値が入っていないデータに新しい属性を挿入する

batchやgroupbyattrsと組み合わせてよく使用される

resourcedetection テレメトリデータ関連する情報を自動的に検出する
sumologic_schema Sumo Logicに送信するテレメトリデータのスキーマを定義する
btch テレメトリデータをバッチ処理する

分散システムはテレメトリデータを非同期で送信する為、一貫性を保つバッチ処理を行う必要がある

 

2. 1.で作成した設定ファイルを以下のパスに保存

以下のパスにアクセスするためには管理者権限が必要となります。

「C:\ProgramData\SumoLogic\OpenTelemetry Collector\config\conf.d」

 

3. 管理者権限で、Windows PowerShellを開き、Restart-Service “OtelcolSumo”を実行

1.の新たにyamlファイルを作成した場合やyamlファイルを修正した場合、Collector側に適用させるためリスタートが必要となります。

 

4. OpenTelemetry Collectionに戻りCollectorを入れた対象機器をクリック、その後、Open in Log Serchボタンをクリック

 

5.以下のクエリ文内にある【コレクター名】、【ソース名】を修正し、収集されたファイルの中身を確認

_collector="【コレクター名】"
AND _sourceName="【ソース名】"

 【コレクター名】および【ソース名】については以下のものを記載してください。

  • 【コレクター名】:ManageDataー>Collectionー>Open Telemetry CollectionからName列を記載。
  •  【ソース名】: Collectorのログ収集実施の【収集したいファイルパス名】で記載したもの、*(アスタリスク)指定した場合は、対象となるファイル名を含むフルパスで記載。
    なお、パスの区切り文字"\"はクエリ文では使用できないため、"\\"と書き換え
 

アンインストール手順

  • Windowsの場合

1. Windowsマーク横の検索ボックスで、プログラムの追加と削除を検索し開く

 

2. アプリと機能の検索ボックスでOpenTelemetry Collectorを検索し、アンインストールボタンをクリック

 

3. アンインストールが完了後、ファイルパスとして以下の二つが存在していないことを確認

  • C:\ProgramData\Sumo Logic\OpenTelemetry Collector
  • C:\Program Files\Sumo Logic\OpenTelemetry Collector\bin

 

最後に

今回、後編に当たるこの記事では、Open Telemetry Collectorのインストール、アンインストール方法、ログ収集実施手順について解説しました。

SumologicのOpenTelemetry関連機能について、ご不明点等ございましたらお気軽に弊社へお問い合わせください。

最後までお付き合いいただきありがとうございました。


RECENT POST「Sumo Logic」の最新記事


Sumo Logic

【第2弾】 Sumo Logic 可視化サービス Terilogy Blend for Cato Networksリリース

Sumo Logic

Sumo LogicのAutomation機能でSlackにメンションするメッセージを送ってみた

Sumo Logic

Sumologicで目にするOpen Telemetry Collectorとは(中編)

Sumo Logic

Sumologicで目にするOpen Telemetry Collectorとは(前編)

Sumologicで目にするOpen Telemetry Collectorとは(後編)