搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(二) Logstash简介及常见配置语法

    Logstash通常被分为shipper和indexer两种角色,其中shipper负责收集转发日志至redis,而indexer负责将redis传送过来的日志输出到elasticSearch,如下图(图片来自网络,如有侵权,可联系我删除)



1、数据定义与类型

1)Logstash用 {} 来定义区域,用 字段名=>字段内容 来定义变量,变量都是以键值对的形式体现的,例如
  1. filter{  
  2.     mutate{  
  3.         add_field{  
  4.             debug=>true ##bool类型  
  5.             ip=>"192.168.1.1" ##string类型  
  6.             port=>5602 ##number类型  
  7.         }  
  8.     }  
  9. }  

2)Logstash支持少量的数据值类型
  1. debug=>true ##bool类型  
  2. ip=>"192.168.1.1" ##string类型  
  3. port=>5602 ##number类型  
  4. match => ["windows""linux""mac"]  ##array类型  
  5. ##hash类型  
  6. options => {  
  7.     today=>"Monday",  
  8.     tommrow=>"Tuesday"  
  9. }  

2、字段引用于条件判断

1)在logstash中引用一个字段,只需在[]里写上字段名即可,如

  1. if [port] == 5602 {  
  2.    ##...  
  3. }  

2)条件判断

  1. ==(等于), !=(不等于), <(小于), >(大于), <=(小于等于), >=(大于等于)  
  2. =~(匹配正则), !~(不匹配正则)  
  3. in(包含), not in(不包含)  
  4. and(与), or(或), nand(非与), xor(非或)  
  5. ()(复合表达式), !()(对复合表达式结果取反)  

例如,我们经常会用到的一个判断:

  1. if "_grokparsefailure" not in [tags] {  
  2.     elasticsearch{  
  3.         ##...  
  4.     }  
  5. }  


3、常见命令行参数

1)-e    即立即执行,这个在上一节已经介绍过了
  1. bin/logstash -e ''  

2) --config 或者 -f 即使用配置文件。在实际运用中,我们可能会写很大的配置,所以我们一般把它写在conf文件里,然后通过-f指定配置文件来运行,如
  1. bin/logstash -f test.conf  

3)  --log 或者 -l 指定日志文件(logstash运行的日志)的位置,如
  1. bin/logstash -l logs/logstash.log  
4) --pipline-workers 或者 -W ,指定运行filter和output的线程数量。默认是CPU核数

还有其他一些不常见的这里就没有列举了。并且从Logstash 5.0开始,所有的命令行参数文件都可以在Logstash文件夹/config/logsatsh.yml文件里配置了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值