Sumo Logic へのファイルアップロードについて(ストリーミング編)(2)

 2019.12.02  株式会社テリロジー 技術統括部

つづきです。
少し長いですがご容赦ください。

前の記事:

 さて・・・

"Collection" の画面を開くと・・・

Sumo Logic へのファイルアップロードについて(ストリーミング編)(2) 画像1

コレクターをインストールしたサーバのホスト名が表示されています。
ホスト名が "localhost.localdomain" となっているのはご愛敬で。

引き続きコレクターの設定変更とソースの設定していきます。
設定変更するコレクター行の右側にある "Edit" を押して設定変更画面を表示させます。

Sumo Logic へのファイルアップロードについて(ストリーミング編)(2) 画像2

f:id:terilogy-tech:20191202202034p:plain

設定画面では次の項目が変更可能になっています。

Sumo Logic へのファイルアップロードについて(ストリーミング編)(2) 画像3

※1 設定内容はファイルアップロードの記事と同じなので、そちらをご参照ください。

※2 ここは試していませんが、デフォルトは "Cloud Based Management" で、"Local~" を選択すると "While Local Configuration Management is enabled, any source not present in the Collector JSON configuration file will be deleted. Editing of its sources will also be disabled." といった注意書きが表示されるので、無理に "Cloud Based Management" に変更する必要なないかと思います。

ここでは以下に変更します。

Name  second_try
Host Name testserver
Category sumo2
Fields  Fields Name :file
   Value  :logdata
Time Zone (GMT +09:00)Asia/Tokyo

入力後に "Save" を押して設定を完了させます。

次にソースの追加を行います。

"Edit" の左にある "Add..." から "Add Source" を押して設定画面を表示させます。
"Add Script Action" は試したことがないので、いつか試してみたいです。

Sumo Logic へのファイルアップロードについて(ストリーミング編)(2) 画像4

Sumo Logic へのファイルアップロードについて(ストリーミング編)(2) 画像5

今回はコレクターをインストールしたサーバ上のファイルからデータを取り込むことを想定していますので、"Local File" を選択します。

"Local File" 以外にも "Remote File" や "Syslog"、"Docker" にも対応しています。
"Remote File" や "Docker" も今度試してみたいですね。

Sumo Logic へのファイルアップロードについて(ストリーミング編)(2) 画像6

画面が縦長なので途中で切れてしまっていますが、次の項目が変更可能になっています。

Sumo Logic へのファイルアップロードについて(ストリーミング編)(2) 画像7

※3 設定内容はファイルアップロードと同じなので、こちらをご参照ください。

ここでは以下を入力します。

Name     webserver
Source Category   /var/log/messages*
Collection should begin All Time
Source Category   /var/log/messages
Fields  Fields Name :server
   Value  :web
Time Zone Use Collector Default

"Save" を押すと設定が保存され、 "Collection" の画面が表示され今回設定した "Source" が表示されています。

Sumo Logic へのファイルアップロードについて(ストリーミング編)(2) 画像8

ファイルアップロードの時と同様に Source Category名の右隣りにあるアイコンからクエリー画面を開くと・・・
 

Sumo Logic へのファイルアップロードについて(ストリーミング編)(2) 画像9

取り込んだログが表示されます。取り込み期間を "All Time" にしたので、最新から過去まで全期間のログが表示されています。

Sumo Logic へのファイルアップロードについて(ストリーミング編)(2) 画像10

解析方法はファイルアップロードと同じなので、こちらをご参照ください。


■番外編1

コレクター設定時やソース設定時に "Fields" という項目を設定した事を覚えていますか?

"Fields" で設定した内容は取得したログにメタデータとして付与され、解析時に利用する事ができます。

Sumo Logic へのファイルアップロードについて(ストリーミング編)(2) 画像11

赤枠で囲った部分の "file" はコレクターで、"server" はソースで設定したフィールドです。
例えば、行内にマシンを識別する文字がない場合や1つのコレクターで複数のサーバからログを集める場合などに識別子的に付与すると便利になるかと思います。

ちなみに、青枠にはコレクターで設定した "Host Name" の値がセットされています。
この辺りを上手く設定すれば便利になりそうですね。

■番外編2

先程はコレクターをインストールする際に、コレクターを一度ローカルのPCにをダウンロードしてからサーバにアップしましたが、サーバ上で "Linux(64-bit/x86_64/amd64)" のリンクURL から直接コレクターをダウンロードしてインストールする事もできます。

Sumo Logic へのファイルアップロードについて(ストリーミング編)(2) 画像12

■番外編3

取り込み時の Splunk との挙動の違いについて

1行が 1MB 未満のログを取り込んだ場合:
Splunk では、Trancating line because limits of 10000byte has been exceeded with a line length >= 15872. といったメッセージが表示され、10000byte 以下(※)までしか取り込まれませんでした。

※ファイルのエンコードが UTF-8 で漢字や仮名文字が含まれていたため、テキストエディタで開いたサイズとは多少の差異があります。

一方 Sumo Logic では、64KByte毎に区切り "_messageCount" という "Fields" に連番(最大16)を振って全てが取り込まれました。

Sumo Logic へのファイルアップロードについて(ストリーミング編)(2) 画像13

※1MB = 64KB(65536byte)×16

1行が 1MB以上のログを取り込んだ場合:
Splunk は 1MB の時と同じ挙動でした。

Sumo Logic は 1MB までは "_messageCount" に連番を割り当てて取り込んでくれましたが、1MB より後ろは分割されて別な行として扱われました。分割された部分に日時の文字列がなかったため、取り込み実行時の日時で取り込まれてしまいました。

Sumo Logic へのファイルアップロードについて(ストリーミング編)(2) 画像14

赤枠はログの日時の含まれている部分で、青枠は分割以降の部分です。
ただ普通に考えて 1行が 1MB 以上もあるメッセージなんてあり得ないので、「1M 以上が正常に取り込めない」なんて気にしなくても良い事ですね。

以上、ありがとうございました。

Sumo Logic へのファイルアップロードについて(ストリーミング編)(1)


RECENT POST「Sumo Logic」の最新記事


Sumo Logic

CSE Automation で Slack 連携してみた

Sumo Logic

Sumo Logic ダッシュボードやフォルダ共有について

Sumo Logic

Sumo Logicに関するサポート内容のご紹介

Sumo Logic

Insight Trainerの活用方法 ~Sumo Logic CSEチューニングをより簡単に~

Sumo Logic へのファイルアップロードについて(ストリーミング編)(2)