Logstash数据处理服务的核心概念以及简单使用(三)

Logstash数据处理服务的核心概念以及简单使用

1.Logstash服务核心概念

Logstash能够将采集的日志进行格式化、过滤,最后将数据推送到Elasticsearch存储中。
在这里插入图片描述

Logstash一共分为三方面的配置:

  • Input:日志数据的来源,可以是stdin、file、tcp、redis、syslog、kafka等等。
  • Filter:对日志数据进行过滤格式化,有较多丰富的过滤插件:Grok正则、Date时间处理、Json编码、Mutate数据修改。
  • Output:将采集的日志输出到指定的存储中,可以是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默认会给日志增加三个字段。

“@timestamp” 标记事件发生的时间点

“host” 标记事件发生的主机

“type” 标记事件的唯一类型

Logstash命令格式参数。

-e:字符串形式的配置文件。

-f:指定运行的配置文件。

-t:检测配置文件的语法。

Logstash从标准输入中获取日志并打印到标准输出中

[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命令后面指定的字符串其实就是一个配置文件格式,只不过将配置文件内容合成一行来执行,注意: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

猜你喜欢

转载自blog.csdn.net/weixin_44953658/article/details/123704789