入力プラグインの一般的なタイプと基本的な使用法Logstashデータ処理サービスの入力

入力プラグインの一般的なタイプと基本的な使用法Logstashデータ処理サービスの入力

1.一般的なタイプの入力プラグイン

logstashのプラグインには通常、stdin(デバッグ用)、file、redis、kafka、beats(filebeat)タイプがあります。

2.Logstash入力の一般的な構成パラメーター

入力のいくつかの一般的な構成は自動であり、これらのフィールドは、Redis、kakfa、filebeat、fileなどのさまざまなタイプの入力プラグインで使用できます。

add_field:イベントにフィールドを追加し、イベントの先頭に配置します。これは通常、ログソースをマークするために使用されます。たとえば、どのプロジェクトがどのアプリケーションに属しているか

tags:アクセスログやエラーログの表示など、ログの他のプロパティをマークするために任意の数のタグを追加します

type:ログタイプなど、すべての入力のフィールドを追加します

これらの3つの構成フィールドはすべて、収集されたログデータに追加されます。構成する3つのフィールドの1つを選択するだけで済みます。前哨出力プラグインでは、フィールドと値をそれぞれ一致させることができます。フィールドのログデータが保存されます。さまざまなESインデックスライブラリで。

1.配置logstash
[root@elkstack-1 ~]# vim /data/elk/logstash/conf.d/test.conf 
input {
    file {
        path => "/var/log/test/*.log"
        exclude => "error.log"
        start_position =>  "beginning"
        tags => "web"					#增加一个标签
        type => "nginx"					#增加一个字段type,值为nginx
        add_field => {					#在日志数据的最前面增加字段信息,project为web,app为nginx
            "project" => "web"
            "app" => "nginx"
        }
    }
}

filter {

}

output {
    file {
        path => "/tmp/log.txt"
    }
}

2.重载配置
[root@elkstack-1 ~]# ps aux | grep logstash | grep -v grep | awk '{print $2}' |xargs kill -HUPUP

収集されたログデータ情報を観察し、構成したいくつかのフィールドプロパティを追加します

{"message":"web field","app":"nginx","path":"/var/log/test/access.log","tags":["web"],"host":"elkstack-1","project":"web","@version":"1","@timestamp":"2021-12-09T09:18:58.735Z","type":"nginx"}

収集されたログデータはjson形式であり、jsonパーサーで表示できます。

画像-20211209172508186

3.Inputは、ファイルタイプの入力プラグインを構成します

/ var / log / messagesを例にとると、メッセージ内のログはlogstashを介して/tmp/log.txtファイルに出力されます。

3.1。クラシックケース

1.编写配置文件
[root@elkstack-1 logstash]# cat conf.d/test.conf 
input {						#定义日志的来源
	file {							#类型为file,从文件中读取日志数据
		path => "/var/log/message"				#日志路径
	}
}

filter {			#过滤器

}

output {					#定义日志输出的存储路径
	file {
		path => "/tmp/log.txt"			#日志路径
	}
}

2.重载logstash
[root@elkstack-1 logstash]# ps aux | grep logstash | grep -v grep | awk '{print $2}' |xargs kill -HUP
或者
[root@elkstack-1 logstash]# systemctl restart logstash

/tmp/log.txtファイルにlogstashによって書き込まれたデータがあるかどうかを確認します。

1.向/var/log/messages中插入日志数据
[root@elkstack-1 ~]# echo "123456" >> /var/log/messages

3.追踪/tmp/log.txt观察日志是输出
[root@elkstack-1 ~]# tail -f /tmp/log.txt
{"path":"/var/log/messages","host":"elkstack-1","@version":"1","@timestamp":"2021-12-09T08:12:43.656Z","message":"123456"}

画像-20211209161310062

3.2.ファイルタイプの一般的なフィールド

path:ワイルドカードマッチングをサポートするログのストレージパス。

exclude:収集する必要のないログファイルを除外します。

start_position:ログファイルの読み取りを開始する場所を指定します。デフォルトでは、最後から読み取りを開始します。指定されたbeginingのパラメータ値は、ファイルの先頭からの読み取りを意味します。

例:/ var / log / testディレクトリ内のすべてのログファイルを読み取りますが、error.logファイルは除外します。

1.logstash配置文件内容
[root@elkstack-1 ~]# vim /data/elk/logstash/conf.d/test.conf 
input {
	file {
		path => "/var/log/test/*.log"		#读取test目录下的所有日志文件
		exclude => "error.log"					#不采集error日志文件
		start_position =>  "beginning"				#从文件的开头开始读取
	}
}

filter {

}

output {
	file {
		path => "/tmp/log.txt"
	}
}

2.重载logstash
[root@elkstack-1 ~]# ps aux | grep logstash | grep -v grep | awk '{print $2}' |xargs kill -HUP

ログ収集の効果を観察する

1.向access日志中写入数据
[root@elkstack-1 ~]# echo access12332 > /var/log/test/access.log 
[root@elkstack-1 ~]# echo access1 >> /var/log/test/access.log 

2.日志被logstash正常的采集到了
[root@elkstack-1 ~]# tail -f /tmp/log.txt 
{"path":"/var/log/test/access.log","message":"2","@version":"1","host":"elkstack-1","@timestamp":"2021-12-09T08:53:54.953Z"}
{"path":"/var/log/test/access.log","message":"access1","@version":"1","host":"elkstack-1","@timestamp":"2021-12-09T08:53:59.969Z"}

3.写入error日志则不会被采集
[root@elkstack-1 ~]# echo abc >> /var/log/test/access.log

画像-20211209165801998

4.logstashビートタイプのプラグイン

Beatsプラグインは、Beatsデータコレクターからデータを受信するために使用されます。一般的なデータコレクターには、Filebeat、Metricbeat、Packetbeat、Winlogbeat、Auditbeat、Heartbeat、Functionbeatなどがあります。

例は次のとおりです。

 1.配置logstash
 [root@elkstack-1 ~]# vim /data/elk/logstash/conf.d/test.conf 
 input {
     beats {
         host => "0.0.0.0"
         port => 5044
     }
 }
 
 filter {
 
 }
 
 output {
     file {
         path => "/tmp/log.txt"
     }
 }

おすすめ

転載: blog.csdn.net/weixin_44953658/article/details/124344580