介绍
在日常编程中,我们一般都会把重点放到业务逻辑或者代码优化的工作上,但是往往却忘记了日志的处理和收集,我们平常整理日志都会使用sed和awk脚本命令来进行归纳日志,为了更好的效果,现在出现了流行的日志处理系统,那就是ELK。
那么ELK都包括什么的,大家自行在官网上了解一下,https://www.elastic.co
这里我只是把它们做一个简单的介绍。
ELK中的E是ElasticSearch,Elasticsearch 是基于 JSON 的分布式搜索和分析引擎,专为实现水平可扩展性、高可靠性和管理便捷性而设计。就相当于对日志信息进行后期处理(比如说归类,分析,存储等操作)。
L就是LogStash,Logstash 是动态数据收集管道,拥有可扩展的插件生态系统,能够与 Elasticsearch 产生强大的协同作用。就是相当于对日志进行收集的作用。
K就是Kibana,Kibana 能够以图表的形式呈现数据,并且具有可扩展的用户界面,供您全方位配置和管理 Elastic Stack。Kibana有一个良好的可视化前端页面,让数据展示更加清晰直观。
下面这是普通的正常的一个ELK架构,但是我这里用的是单个的LogStash,但是ElasticSearch使用的三个节点的集群。
搭建步骤
下载安装这里就不再赘述了,在我的上一篇博客中,介绍ElasticSearch搭建集群的时候已经介绍了具体下载安装步骤,所以请大家去这里看一下
上篇文章介绍的ElasticSearch集群安装把版本换成了6.5.2,因为是要保证和Kibana和Logstash版本一致,如果不一致的话可能会跑不起来。
上篇文章换成6.5.2版本之后应该加一行配置
xpack.ml.enabled: false
然后再配置Logstash
创建一个文件logstash.conf文件
主要意思就是设置一个写入地址,然后把收集的日志传到Elasticsearch中。
input {
file {
path => ["D:/file/logs/localhost_access_log.*.txt"]
start_position => "beginning"
}
}
filter {
date {
match => [ "timestamp" , "YYYY-MM-dd HH:mm:ss" ]
}
}
output {
elasticsearch {
hosts => ["127.0.0.1:9200"]
}
stdout {
codec => rubydebug
}
}
然后把这个文件放到logstash中的bin目录下
然后再bin目录下进行启动
输入logstash.bat -f logstash.conf
出现这个就算是成功了。
然后到下载后的kibana的bin目录下直接进入命令行输入
kibana.bat
就可以了,然后看一下启动日志,出现这个就算是大功告成。
注意: 启动顺序是Elasticsearch集群,LogStash,Kibana。版本要一致!
在浏览器输入http://localhost:5601