Logstashデータ処理サービスのコアコンセプトとその簡単な使用
記事ディレクトリ
1.Logstashサービスのコアコンセプト
Logstashは、収集されたログをフォーマットおよびフィルタリングし、最後にデータをElasticsearchストレージにプッシュできます。
Logstashは、次の3つの構成に分けられます。
- 入力:ログデータのソース。stdin、file、tcp、redis、syslog、kafkaなどがあります。
- フィルタ:ログデータをフィルタリングしてフォーマットします。多くのフィルタプラグインがあります:Grok正則化、日時処理、Jsonエンコーディング、Mutateデータ変更。
- 出力:収集されたログを、Stdout、File、TCP、Redis、ESなどの指定されたストレージに出力します。
2.Logstashのデプロイと基本的な使用
2.1.Logstashをデプロイします
Logstashバイナリパッケージはjdkを統合しておらず、java1.8をインストールする必要があります。
1.安装java环境
[root@elkstack-1 logstash]# yum -y install java-1.8.0-openjdk
2.部署logstash
[root@elkstack-1 tools]# tar xf logstash-7.9.3.tar.gz -C /data/elk
[root@elkstack-1 elk]# mv logstash-7.9.3/ logstash
3.配置logstash服务启动脚本
[root@elkstack-1 logstash]# vim /usr/lib/systemd/system/logstash.service
[Unit]
Description=logstash
[Service]
ExecStart=/data/elk/logstash/bin/logstash
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
4.启动logstash
[root@elkstack-1 logstash]# systemctl start logstash
2.2。Logstashの基本的な使用法
Logstashは、デフォルトで3つのフィールドをログに追加します。
「@timestamp」は、イベントが発生した時点を示します
「ホスト」は、イベントが発生したホストをマークします
「タイプ」は、イベントの一意のタイプを示します
Logstashコマンドのフォーマットパラメータ。
-e
:文字列形式の構成ファイル。
-f
:実行コンフィギュレーションファイルを指定します。
-t
:構成ファイルの構文を確認してください。
Logstashはstdinからログを取得し、stdoutに出力します
[root@elkstack-1 ~]# /data/elk/logstash/bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
······
hello jiangxl #输入内容
{ #输出
"@timestamp" => 2021-12-08T08:27:54.311Z,
"message" => "hello jiangxl",
"@version" => "1",
"host" => "elkstack-1"
}
日志从标准输入中获取===>输出到标准输出
{
"@timestamp" => 2021-12-08T08:32:38.781Z,
"message" => "日志从标准输入\\xE9中获取存\\xE8===>输出到标准输出",
"@version" => "1",
"host" => "elkstack-1"
}
logstash -eコマンドの後に指定された文字列は、実際には構成ファイル形式ですが、構成ファイルの内容は1行にまとめられて実行されます。注:logstash -eは、logstash構成ファイルディレクトリを構成しない場合にのみ正常に使用できます。 、このコマンドを使用してデータの入力と出力をシミュレートすると、エラーが報告されます。
/data/elk/logstash/bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
等同于下面的logstash配置文件内容格式
input{
stdin{
}
}
filter {
}
output{
stdout
{
codec=>rubydebug
}
}
2.3.logstashの構成ファイルパスを構成します
1.配置logstash
[root@elkstack-1 logstash]# vim config/logstash.yml
pipeline: #管道配置
batch:
size: 125 #管道批处理大小
delay: 5 #管道批处理延迟
pipeline.ordered: auto
#config.reload.automatic: false #是否启用
#config.reload.interval: 3s
#http.enabled: true
path.config: /data/elk/logstash/conf.d #配置文件路径
http.host: 0.0.0.0 #监听地址
http.port: 9600-9700 #使用的端口号
log.level: info #日志级别
path.logs: /data/elk/logstash/logs #日志存储路径
2.创建配置文件目录
[root@elkstack-1 logstash]# mkdir /data/elk/logstash/conf.d
3.重启logstash
[root@elkstack-1 logstash]# systemctl restart logstash