filebeat+elasticsearch+logstash+kibana收集系统日志(docker)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了filebeat+elasticsearch+logstash+kibana收集系统日志(docker)相关的知识,希望对你有一定的参考价值。

参考技术A

我们这里用到的是 filebeat+elk(elasticsearch+logstash+kibana) 来进行系统日志的收集。filebeat安装在各个服务器中,Logstash+ElasticSearch+Kibana安装在一台专门用于基础服务的服务器上。

Filebeat是一个轻量级的托运人,用于转发和集中日志数据. Filebeat作为代理安装在服务器上,监视您指定的日志文件或位置,收集日志事件,并将它们转发到 ElasticSearch Logstash 进行索引.

官方中文文档: https://s0www0elastic0co.icopy.site/guide/en/beats/filebeat/current/index.html

Logstash是一个开源的服务器端数据处理管道,可以同时从多个数据源获取数据,并对其进行转换,然后将其发送到你最喜欢的“存储”。

官方中文文档: https://s0www0elastic0co.icopy.site/guide/en/logstash/current/index.html

Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库--无论是开源还是私有。

官方中文文档: https://s0www0elastic0co.icopy.site/guide/en/elasticsearch/reference/current/index.html

《Elasticsearch:权威指南》: https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。

官方中文文档: https://www.elastic.co/guide/cn/kibana/current/index.html

nginx.conf中设置日志文件格式:

修改完成后,通过 sudo nginx -t 来检查配置文件是否正确,然后 sudo nginx -s reload 来重启

filebeat各系统安装教程详见官方文档。

我这里安装的deb包(rpm包也同样),配置文件在 /etc/filebeat/filebeat.yml ,

filebeat命令:

参数介绍:

在/usr/local/文件夹下依次创建logstash/conf.d/logstash.conf

grok正则在线验证地址: http://grokdebug.herokuapp.com

正则代表的含义: https://github.com/elastic/logstash/blob/v1.4.2/patterns/grok-patterns

配置成功后,执行如下命令重启docker中的logstash (有时会重启失败,多试几次吧)

在浏览器中输入 http://ip:5601 进入kibana

然后如下设置

然后创建 index pattern

然后选择@timestamp

最后在Discover标签页就可以看到了

以上是关于filebeat+elasticsearch+logstash+kibana收集系统日志(docker)的主要内容,如果未能解决你的问题,请参考以下文章

Filebeat中文指南

ELK之elasticsearch插件导致filebeat没有上传日志至elasticsearch解决办法

Filebeat 未在 Elasticsearch 中创建索引

安装Filebeat+Elasticsearch+Kibana(单节点)

filebeat + logstash + elasticsearch + granfa

ELK 做日志分析(filebeat+logstash+elasticsearch)配置