logstash导入日志并用Kibana可视化展示

效果

可视化数据

版本号:6.0

配置logstash

管道配置

新建文件filebeats.conf

input { 
  #beats { 
  #  port => 5044 
  #} 
  file { 
    path => [ "/usr/local/logstash/data/access.log" ] 
    start_position => "beginning" 
    ignore_older => 0 
  }  
} 
filter { 
    grok {
      match => {"message" => "%{COMBINEDAPACHELOG}"} 

    } 
    geoip { 
      source => "clientip" 
      target => "geoip" 
      #database => "/usr/local/logstash/GeoLiteCity.dat" 
      add_field => ["[geoip][coordinates]", "%{[geoip][longitude]}"] 
      add_field => ["[geoip][coordinates]", "%{[geoip][latitude]}"] 
    } 
    mutate { 
      convert => ["[geoip][coordinates]", "float"] 
      convert => ["response","integer"] 
      convert => ["bytes","integer"] 
      replace => {"type" => "nginx_access"} 
      remove_field => "message" 
    } 
    date {
      match => ["create_at", "yyyy-MM-dd HH:mm:ss,SSS", "UNIX"]
      target => "@timestamp"
      locale => "cn"
    }
    mutate { 
      remove_field => "timestamp" 

    } 
} 
output { 
  elasticsearch { 
  index => "logstash-nginx-access-%{+YYYY.MM.dd}" 
  hosts => ["192.168.0.166:9200"] 
  user => "elastic" 
  password => "*cn94mJ?1234~@1=" 
  } 
  stdout {codec => rubydebug} 
}

这个配置文件只是针对一个日志文件,如果想要收集多台机器上的日志数据,可以使用Beats。

安装logstash配置文件里的插件
bin/logstash-plugin install logstash-filter-grok
bin/logstash-plugin install logstash-filter-geoip
bin/logstash-plugin install logstash-filter-mutate
bin/logstash-plugin install logstash-filter-date
启动
bin/logstash -f filebeats.conf

配置Kibana

登陆Kibana(http://localhost:5601),在Management里面,新建一个Index Patterns,注意timestamp格式为data。

然后就可以在Visualize里就可以新建自己想要的数据展现形式了,有柱状图,饼图。。。

最后可以把上一部新建的图标集中放在Dashboard里面了。

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小龙在山东

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值