メインコンテンツまでスキップ
Sumo Logic Japanese

Installed Collector について

Overview (概要)

Installed Collector とは、Source からログとメトリクスを受け取り、データを暗号化して圧縮した状態で Sumo サービスに送信する Java エージェントです。その名前が示すように、Installed Collector は Sumo サービス上に配置される Hosted Collector とは異なり、ユーザ環境にインストールされます。Collector をインストールしたら、Collector を接続して Sumo サービスに送信するデータを取得するための Source を追加します。 

Sumo Source は、Sumo Logic にデータを送信する特定の Collector に合わせて設定されたオブジェクトです。Installed Collector で使用できる多くの Source タイプがあります。Installed Collector でサポートされるすべての Source タイプについては、「Installed Collector の Source」を参照してください。

サポートされるオペレーティング システムとハードウェアの制約については、「Installed Collector の要件」を参照してください。

デプロイのオプション

Collector のインストールと Source の設定は、MacOs、Windows、および Linux ホストが混在するどのような環境でも行うことができます。Collector のインストール場所を決めるときには、ネットワーク トポロジ、利用可能な帯域幅、そしてドメインやユーザ グループを考慮してください。

1 つの Installed Collector

Installed Collector は、ログ集計や他のネットワーク サービスに使用する任意の標準的なサーバにインストールできます。たとえば、特にすべてのデータに 1 つのネットワーク ロケーションからアクセスできる場合には、専用マシンに Collector を 1 つだけインストールしてコレクションを集中させることができます。

複数の Installed Collector

分散ネットワーク トポロジの場合は、複数の Collector を複数のマシンにインストールして、Source を自由に組み合わせてセットアップすることでインフラストラクチャのデータを収集できます。

 

クラウドまたはデータ センターへのデプロイ

Installed Collector は、クラウドやデータ センター環境でデプロイすることもできます。この場合は各マシンの Collector が別々に Sumo Logic と通信して個別のログ データを送信し、ユーザはデプロイ内の任意の仮想マシンやサーバに対してクエリを実行できます。

CPU 使用率に関するガイドライン

Installed Collector は、マシン上で使用可能なすべての CPU 処理リソースを使用してデータを収集します。CPU パフォーマンスのベンチマークの基準にしたのは、Installed Collector 上で実行されているローカル ファイル Source の数と、取り込まれるログ メッセージのサイズです。使用した Java ヒープ スペースは、デフォルトで割り当てられる 128 MB のメモリです。

デプロイを設計するときは、以下に示す観察結果を参考にしてください。以下のデータは、2 つの仮想 CPU と 8 GiB のメモリを使用する Amazon EC2 m4.large インスタンス タイプ上の Collector から生成されたものです。

メッセージのサイズ

Installed Collector は、収集するログ メッセージのサイズが大きいほど、パフォーマンスが高くなります。たとえば、CPU 使用率が 5% の場合、10 KB のログは、1 秒あたり 100 件の割合で取り込むことができます (1,000 KB/秒)。これに対し、1 KB のログは、1 秒あたり 500 件の割合で取り込むことができます (500 KB/秒)。

メッセージ サイズと CPU 使用率の組み合わせ別に示した 1 秒あたりのイベント数 (EPS)
  平均メッセージ サイズ
平均 CPU 使用率 100 B 512 B 1 KB 5 KB 10 KB
5% 1,500 900 500 150 100
10% 3,800 2,000 1,500 400 200
20% 7,500 超 3,900 2,000 750 450
50% 23,000 9,800 6,000 1,800 900
90% 35,000 超 17,000 11,000 3,300 1,700
Source の数

通常、Source の数が増加すると、スレッドの数も増加します。Collector は、デフォルトでは使用可能な CPU あたり 3 つのスレッドを使用しますが、必要な場合は、最大スレッド数を増やすことができます。

1 秒あたりのイベント数が 1,000 件、メッセージ サイズが 1 KB の場合
  Ubuntu Windows
ローカル ファイル Source の数 プロセス CPU 使用率 プロセス CPU 使用率
1 5% 3.5%
2 7.5% 5%
4 15% 12.5%
8 30% 25%
16 70% 50%
32 90% 100%
1 秒あたりのイベント数が 5,000 件、メッセージ サイズが 1 KB の場合
  Ubuntu Windows
ローカル ファイル Source の数 プロセス CPU 使用率 プロセス CPU 使用率
1 20% 17.5%
2 40% 35%
4 90% 65%
8   90%
1 秒あたりのイベント数が 10,000 件、メッセージ サイズが 1 KB の場合
  Ubuntu および Windows
ローカル ファイル Source の数 プロセス CPU 使用率
1 40%
2 82.5%
4 90%

Collector と Source のインストールと設定について

このセクションでは、Collector と Source をインストールして設定するために Sumo が用意しているいくつかの方法の概要を説明します。

Collector のインストールと設定

Sumo では、いくつかの方法で Collector をインストールできます。

  • UI インストーラ。インストール ダイアログで設定の詳細を指定します。インストーラは、これらの設定を Collector の /config ディレクトリにある user.properties に書き込みます。 
  • コマンドライン インストーラ。設定の詳細はコマンド ラインで指定するか、または変数ファイル (varfile) を使用して指定します。インストーラは、これらの設定を Collector の /config ディレクトリにある user.properties に書き込みます。   
  • RPM (Linux)。user.properties ファイルを作成して、このファイルに設定の詳細を指定します。
  • バイナリ パッケージ (Linux)。バイナリ パッケージは MacOS でも使用できます。

Collector のインストールの詳細については、「Linux への Collector のインストール」「MacOS への Collector のインストール」、および「Windows への Collector のインストール」をそれぞれ参照してください。  

Collector の稼働開始後も、user.properties を編集して Installed Collector を再起動することによって Collector 設定の一部を変更できます。詳細については、「user.properties のパラメータ」を参照してください。

一部の Installed Collector 動作 (キャッシュなど) は、Collector の config ディレクトリにある collector.properties ファイルで設定します。  

Installed Collector の設定は、Collector 管理 API で更新できます。詳細については、「Collector API メソッドと例」を参照してください。

Source の設定

1 つの Collector で 1,000 個の Source をセットアップできます。1 つの Source は、同様のデータ タイプを収集するように設定してください。たとえば、3 つのローカル ファイル Source でルータ アクティビティ ログを 3 箇所から収集し、もう 1 つのローカル ファイル Source で Web アプリケーションからログを収集するとします。

「メタデータの命名規則」で説明されているように、各 Source にはそれぞれのメタデータでタグが付けられます。各 Source は自身のメタデータで識別されるため、より多くの Source を設定するほど、検索時に Source を識別しやすくなります。

ログ ファイルからデータを読み取る Source を設定する際には、スキャンするファイルを定義するパス式を指定します。また、収集対象から除外するファイルのブラックリストを任意で設定することもできます。  

Source は、Collector のインストール後にいつでも Sumo Web アプリケーションで作成できます。Source 関連の説明については、「Installed Collector の Source」を参照してください。

あるいは、Installed Collector の Source を UTF-8 でエンコードされた JSON ファイルで指定することもできます。この場合は、Collector を最初に起動する際にこのファイルを指定する必要があります。詳細については、「JSON を使用した Source の設定」を参照してください。Source 設定を JSON ファイルで指定した場合は、Sumo Web アプリケーションや Collector 管理 API では Source を管理できなくなりますので注意してください。

Installed Collector と Source の動作

このセクションでは、Installed Collector とその Source がどのように動作するかについて説明します。

Installed Collector の起動

Installed Collector を最初に起動すると、Collector は Sumo に自身を登録し、UTF-8 でエンコードされた JSON Source 設定ファイルに定義されている Source を作成します。

Sumo への登録を行うため、Collector はリクエストを最初に US1 デプロイに送信します。組織が別のデプロイに配置されている場合、Sumo は認証資格情報のデプロイに基づいて、Collector を正しいデプロイ URL にリダイレクトします。デプロイ URL は、Collector の user.properties ファイルの url パラメータで指定できます。

Source によるデータのスキャン

Source は、それぞれのターゲット ディレクトリまたはデータ構造を定期的にスキャンします。ローカル ファイル Source は、ターゲット ディレクトリを 2 秒に 1 回スキャンします。Windows パフォーマンス モニタ Source とスクリプト Source では、Source を定義する際にスキャン間隔を指定できます。

Installed Collector から Sumo サービスへのデータの送信

Installed Collector は、Collector で設定されている Source からデータが送られて来ると、すぐに Sumo サービスへのデータの送信を開始します。Collector はデータを送信する前に (約 1/10 に) 圧縮して暗号化します。Collector は、HTTPS を介してデータを Sumo サービスに送信します。

フィンガープリント

Sumo サービスにすでに送信したデータをトラッキング管理するため、Collector は「指紋」 (ファイルの先頭 2048 バイト) と Collector が読み取った最後の行を示す読み取りポインタでファイルをトラッキングします。この指紋は、Source から送られた既知の指紋のリストと比較されます。指紋が既知のリストのいずれとも一致しない場合は、ファイルを先頭から読み取って Sumo に送信します。一致する指紋がリストにあれば、そのファイルの最後の読み取りバイトの後から読み取ります。Collector は、この情報をほぼ毎秒更新します。ファイルの指紋は、ファイルが削除された後しばらくは保存されます。それ以外の場合は削除されます。

ログ ファイルへの書き込み速度が非常に遅い場合は、ログ メッセージが重複するという問題が発生することがあります。ファイルへの書き込み速度が遅く、ファイルの先頭のメッセージ サイズが 2kb 以下の場合は、これらの先頭行の合計が 2kb に達するまで、Source ファイルの指紋が上書きされる可能性があります。

また、ファイルの先頭の 2kb が前に収集した別のファイルと同じである場合は、指紋が一致するため、Collector がそのファイルから取り込みを行わないという問題が発生することもあります。この場合、Collector は、そのファイルからの読み取りが完了していると認識して、収集された最後の既知の行で待機し、そのポイントから収集を再開します。

この問題を解決するには、指紋のサイズを必要に応じて調整します。 

  1. 現在の Collector サービス/プロセスを停止します。
  2. Collector 設定ファイル /<sumo_install_dir>/config/collector.properties を探します。
  3. 次のパラメータを追加し、Collector のすべての Source について、指紋のデフォルト サイズを変更します。この数値は、バイト数を表します。
    collector.wildcard.fpSize=2048
  4. Collector プロセス/サービスを再起動します。

調整、キャッシュ、およびフラッシュ

通常、Collector は接続環境で可能な最高速度で Sumo サービスにデータを送信します。状況によっては、Sumo サービスが Collector に対して、サービスへのデータ送信レートを下げるように調整を求めることがあります。 

調整が必要かどうかを判断するため、Sumo は、以前のリクエスト数に対してすでにアップロード済みのデータの量と、アカウントで利用できるリソース (割り当て) の量を測定します。つまり、Sumo Logic は、現在の取り込み速度を、契約してある 1 日あたりのデータ量 (GB/日) から計算される毎分の速度と比較します。

調整が不要になると、Sumo サービスは Collector に速度を上げるように指示します。

詳細については、「取り込みの管理」を参照してください。 

キャッシュ

Installed Collector は、調整または一時停止が指示された場合、あるいは Sumo サービスとの接続が切れた場合に、送信するデータをキャッシュします。データは最初にメモリにキャッシュされ、続いてディスクにキャッシュされます。デフォルトでは、Collector は次の量のデータをキャッシュできます。

以下を含む最大 4GB のディスク領域:

  • ログ データ用に最大 3GB
  • メトリクス データ用に最大 1GB

Collector がキャッシュに使用するディスク スペース量は増減できます。詳細については、「Collector のキャッシュ制限の設定」を参照してください。

フラッシュ モード

古いデータを退かせて新規データ用の場所を作る固定サイズのキャッシュとは異なり、フラッシュ モードは新規データの取り込みを停止して、既存データの送信 (キャッシュのフラッシュ) に集中します。

Collector がインストールされているマシンの空きディスク スペース量が 10% を切ると、Collector はフラッシュ モードに入ります。詳細については、「フラッシュ モード」を参照してください。

Collector のモニタリングとログ

Installed Collector は、15 秒おきにハートビート信号を Sumo サービスに送信します。Sumo サービスが Collector からのハートビート信号を 30 分間受信しないと、Collector がオフラインであると判断し、Sumo Web アプリケーションの [Collection (コレクション)] ページのステータスを赤色に変更します。ハートビート信号は、JSON オブジェクトの alive パラメータにリンクされています。Installed Collector がオフラインと表示される場合は、サービスを再起動して接続をテストしてみてください。

Collector は、log4j2 フレームワークを使用します。collector.log のログ 循環動作は、Collector の /config ディレクトリにある log4j2.xml ファイルを編集することで調整できます。詳細については、「ログ 循環の設定」を参照してください。