文章采集完(上篇ELK(ElasticSearch+Logstash+Kibana)5.0搭建(组图))
优采云 发布时间: 2021-10-10 02:01文章采集完(上篇ELK(ElasticSearch+Logstash+Kibana)5.0搭建(组图))
上一篇ELK(ElasticSearch+Logstash+Kibana)5.0构建全记录讲了ElasticSearch和Kibana的构建,本文将使用ELK采集分析nginx日志记录Logstash的构建, 巩固ELK的知识
这个Logstash官方的描述很直观,Logstash其实就是一个管道(Pipeline)
管道的源输入是多种数据源(普通文件、redis、http、log4j、kafka……官方列出了52种类型)
经过自己的过滤机制(过滤器匹配的数据可以输出到输出)
输出到 Elasticsearch(多达 50 多种输出类型)
一、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 报表配置
简单介绍左边的菜单栏
好的,让我们回到上图。我们在管理中配置了一个 applog 索引。细心的同学会发现,这其实就是上面的logstash-nginx.conf文件,输出中Elasticsearch的索引,记住Time-field name的那一项。它是必需的。我的理解是时间是日志不可缺少的维度,所以我们Es中的数据必须有时间字段
进入Discover,我们可以看到applog索引下的nginx数据,记得右上角是时间范围选项
进入Visualize,让我们自定义一个报表,饼图就做好了,选择Pie chart
我的要求是统计applog索引数据中收录200、304、404的三个字符串的个数。详细配置说明不再展开。将报告名称保存并排序为【状态码】
好的,我们再次进入 Dashboard 配置仪表板。这很简单。选择我们刚刚配置的【状态码】(我也配了两个报表),就可以显示了。您可以随意拖动、放大或缩小它。
至此,本文使用Logstash采集nginx日志,保存到Elasticsearch,然后在Kibana报告上展示整个过程。它们都是最简单的演示。你可以做更多。