ELK采集分析nginx日志

上篇ELK(ElasticSearch+Logstash+Kibana)5.0 搭建全纪录说到了ElasticSearch和Kibana的搭建,这篇就环绕利用ELK采集分析nginx日志,来记录Logstash的搭建,以及对ELK的知识进行巩固

输入图片说明

这个官方对Logstash很直观的一个描述,Logstash其实就是一个管道(Pipeline)

管道的源头input是各种数据源(常见的file、redis、http、log4j、kafka...官方共列了52种 https://www.elastic.co/guide/en/logstash/current/input-plugins.html

经过自身的过滤机制(filter 匹配的数据才能输出到output https://www.elastic.co/guide/en/logstash/current/filter-plugins.html)

输出到Elasticsearch(output 类型也多达50+ https://www.elastic.co/guide/en/logstash/current/output-plugins.html)

一、Logstash的启动

> cd logstash-5.0.0/config   # 进到config目录
> vim logstash-nginx.conf    # 创建一个叫logstash-nginx.conf的配置文件

logstash-nginx.conf文件的内容是

input {
  file {
        path => [ "/var/log/nginx/access.log" ]   # nginx日志的目录
        start_position => "beginning"  # 从文件开头采集
    }
}
filter {
  #Only matched data are send to output.
}
output {
  elasticsearch {
    action => "index"          #The operation on ES
    hosts  => "127.0.0.1:9200"   #ElasticSearch host, can be array.
    index  => "applog"         # 创建一个ES的index
  }
}

启动Logstash

> cd ..
> ./bin/logstash -f config/logstash-nginx.conf

搞掂,至此,我们通过logstash完成了:采集本机nginx的日志,存储到ElasticSearch的配置过程,很简单吧。我们可以通过浏览器就可以查看到存到Es索引为applog的数据了

输入图片说明

二、kibana 报表配置

输入图片说明

简单介绍下左边菜单栏

  • Discover 发现:其实就是个搜索页,运用DSL(es的检索语言)对es的数据进行检索,结果以列表展示
  • Visualize 可视报表:待会儿会着重讲到
  • Dashboard 仪表盘:在Visualize中配置的所有报表,都可在此页进行展示
  • Timelion 时间轴?:官方解释 Timelion is a time series data visualizer that enables you to combine totally independent data sources within a single visualization 我的理解是一个基于时间维度,你可以进行复杂的计算,最终得到可视化结果的一个工具(待后面研究哈)
  • Management 管理:一些通用的配置,比如配置索引index,管理Visualize和Dashboard等
  • Dev Tools 开发者工具:一般用来调试DSL(es的检索语言)

好,再回到上面的图,我们在Management配置一个 applog 的索引,细心的同学就会发现这其实就是上面logstash-nginx.conf文件,output中Elasticsearch的index,记得Time-field name 时间项那项是必填的,我的理解是,时间对于日志来说,是不可缺少的一个维度,所以我们Es中的数据,一定要有一个时间的字段

去到Discover,我们就可以看到applog索引下的nginx数据了,记得右上角是时间范围的选项

输入图片说明

再去到Visualize,让我们自定义一个报表,饼图好了,选择Pie chart

输入图片说明

我的需求是,在applog索引数据中统计含有 200、304、404三个字符串的数量,详细的配置说明就不展开,保存并命令这个报表名称为【状态码】

好,我们再来到Dashboard,来配置仪表盘,很简单,选中我们刚刚配置的【状态码】(我另外还配了两个报表),就可以展示出来了,可以随意拖动,放大或缩小

输入图片说明

至此,本文通过Logstash采集nginx日志,存到Elasticsearch,再在Kibana上报表展示的全过程已经全部介绍完了,都是最简单的demo,大家可以多实操

转载于:https://my.oschina.net/niejimao/blog/819259

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值