コンテンツにスキップ

iLogtail

インストールと設定

DataKit でコレクターを有効化

cd /usr/local/datakit/conf.d/samples
cp logstreaming.conf.sample logstreaming.conf
sysemctl restart datakit

iLogtail の設定

iLogtail をダウンロード

wget https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/latest/ilogtail-latest.linux-amd64.tar.gz

設定ファイルを作成

解凍後、ilogtail-1.7.1/user_yaml_config.d ディレクトリに file_sample.yaml を作成します。

ここでは /usr/local/df-demo/log-demo/logs/log.log のファイルログを収集するように設定します。

enable: true
inputs:
  - Type: file_log              
    LogPath: /usr/local/df-demo/log-demo/logs    # ファイルパス
    FilePattern: log.log     # ファイル名   
flushers:
  - Type: flusher_stdout     
    OnlyStdout: true
  - Type: flusher_http
    RemoteURL: "http://localhost:9529/v1/write/logstreaming" 

iLogtail を起動

cd ilogtail-1.7.1
./ilogtail

手動でログを入力する

echo "hello" >>  /usr/local/df-demo/log-demo/logs/log.log

この時点でGuanceには、iLogtail が送信したログが届いています。

pipeline の設定

今回使用するログは JAVA アプリケーションが生成したログファイル /usr/local/df-demo/log-demo/logs/log.log です。ログ形式が異なるため、下図の content の値は変わり、pipeline もそれに応じて変更する必要があります。

Javalogback.xml で出力するログ形式は次のとおりで、出力内容は上図の content の値に対応します。

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - [%X{dd.service}][%X{dd.trace_id}][%X{dd.span_id}] - %msg%n

以下では Pipeline を作成してログ全体を分割し、主に hosthost_iptrace_id などの情報をログから抽出します。

ログ】->【テキスト処理(Pipeline)】-> 新規 Pipeline を作成します。ログソース入力は「default」にし、解析ルールを入力して保存します。

json_data = load_json(_)
contents = json_data["contents"]
tags = json_data["tags"]
content = contents["content"]
grok(content, "%{TIMESTAMP_ISO8601:time}%{SPACE}\\[%{NOTSPACE:thread_name}\\]%{SPACE}%{LOGLEVEL:status}%{SPACE}%{NOTSPACE:class_name}%{SPACE}%{SPACE}-%{SPACE}\\[%{NOTSPACE:method_name},%{NUMBER:line}\\]%{SPACE}-%{SPACE}\\[%{DATA:service_name}\\]\\[%{DATA:trace_id}\\]\\[%{DATA:span_id}\\]%{SPACE}-%{SPACE}%{GREEDYDATA:msg}")
add_key(message, content)
add_key(host_ip, tags["host.ip"])
add_key(host, tags["host.name"])
add_key(filepath, tags["log.file.path"])

JAVA アプリケーションを起動してログを生成すると、iLogtail のログ収集が自動的にトリガーされます。

Guance に入ると、ログがすでに収集されており、pipeline も正常に有効になっていることが確認できます。

フィードバック

このページは役に立ちましたか?