Logstash_学习报告

一、Logstash安装

(一)下载地址:

Download Logstash Free | Get Started Now | Elasticicon-default.png?t=M85Bhttps://www.elastic.co/cn/downloads/logstash(二)解压到/usr/local/并改名

[root@logstash ~]# ls
logstash-8.4.3-linux-x86_64.tar.gz

[root@logstash ~]# tar -zxf logstash-8.4.3-linux-x86_64.tar.gz -C /usr/local/
[root@logstash ~]# mv /usr/local/logstash-8.4.3/  /usr/local/logstash

 二、测试运行

(一)进入 Logstash 的安装主目录下执行:

[root@logstash ~]# cd /usr/local/logstash/

[root@logstash logstash]#bin/logstash -e ' input { stdin { type=> stdin } } output { stdout { codec => rubydebug } } '

-e 选项用于设置 Logstash 处理数据的输入和输出

-e ' ' 等同于 -e input { stdin { type => stdin } } output { stdout { codec => rubydebug } }

input { stdin { type => stdin } }

表示 Logstash 需要处理的数据来源来自于标准输入设备

output { stdout { codec => rubydebug } }

表示 Logstash 把处理好的数据输出到标准输出设备

当看到屏幕上输出如下字样,即可尝试使用键盘输入 hello 字样

 输入 hello 即会立刻输出配格式化后的数据信息

message 字段对应的值是 Logstash 接收到的一行完整的数据

@version 是版本信息,可以用于建立索引使用

@timestamp 处理此数据的时间戳,可以用于建立索引和搜索

type 就是之前 input 中设置的值,这个值可以任意修改,但是, type 是内置的变量,不能修改,用于建 立索引和条件判断等

hosts 表示从那个主机过来的数据

 三、配置输入和输出

(一)创建任意一个文件,并写入如下内容,作为 Logstash 的管道配置文件

[root@logstash logstash]# vim config/first-pipeline.conf 

input { stdin { } }
output { stdout { } }

(二)运行如下命令启动Logstash

配置文件语法测试并启动:

[root@logstash logstash]# bin/logstash -f config/first-pipeline.conf  --config.test_and_exit

[root@logstash logstash]# bin/logstash -f config/first-pipeline.conf

  #  -f 用于指定管道配置文件

启动后复制如下内容到命令行中,并按下回车键:

83.149.9.216 ‐ ‐ [04/Jan/2015:05:13:42 +0000] "GET /presentations/logstash‐monitorama‐ 2013/imageskibana‐search.png HTTP/1.1" 200 203023 "http://semicomplete.com/presentations/logstash‐monitorama‐2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"

将会看到如下输出:

 四、使用Grok过滤器插件解析Web日志

(一)准备测试数据:

[root@logstash ~]# vim /var/log/httpd.log
83.149.9.216 ‐ ‐ [04/Jan/2015:05:13:42 +0000] "GET /presentations/logstash‐monitorama‐ 2013/imageskibana‐search.png HTTP/1.1" 200 203023 "http://semicomplete.com/presentations/logstash‐monitorama‐2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"

(二)修改好的管道配置文件如下:

match => { "message" => "%{COMBINEDAPACHELOG}"} 的意思是: 当匹配到 "message" 字段时,用户模式 "COMBINEDAPACHELOG}" 进行字段映射。

[root@logstash logstash]# vim config/first-pipeline.conf 

input {
       file {
            path => ["/var/log/httpd.log"]
            start_position => "beginning"

        }
}
filter {
     grok {
             match => { "message" => "%{COMBINEDAPACHELOG}" }  }
}
 output { stdout { } }   

(三)配置完成后,再次进行验证

[root@logstash logstash]# bin/logstash -f config/first-pipeline.conf  

输出内容:

(四)rename可以重新命名字段

1.rename可以重新命名字段

2.remove_field 可以移除任意的字段

修改后管道配置文件如下:


 

五、使用Geoip过滤器插件增强数据编辑

该geoip插件配置要求您指定包含IP地址来查找源字段的名称。在此示例中,该clientip字段包含IP地址。

geoip { source => "clientip" }

由于过滤器是按顺序求值的,因此请确保该geoip部分位于grok配置文件的该部分之后,并且grok和geoip部分都 嵌套在该filter部分中。

完成后的管道配置文件如下:

 六、配置接受Beats的输入

(一)增加端口,接受filebeat输入

[root@logstash logstash]# vim config/first-pipeline.conf

(二)修改filebeat的yml文件输出目标如下

 [root@filebeat filebeat]# vim filebeat.yml

(三)添加测试日志示例

 [root@localhost ~]# vim /tmp/access.log 

83.149.9.216 ‐ ‐ [04/Jan/2015:05:13:42 +0000] "GET /presentations/logstash‐monitorama‐ 2013/imageskibana‐search.png HTTP/1.1" 200 203023 "http://semicomplete.com/presentations/logstash‐monitorama‐2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"

(四)运行filebeat和logstash

[root@ filebeat filebeat]# ./filebeat 

[root@ logstash logstash]# bin/logstash -f  config/first-pipeline.conf 

(五)logstash接收到的filebeat的消息如下

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值