将SpringBoot应用的日志输出到Logstash之后,所有的应用日志都可以使用使用Kibana进行可视化的检索,使用起来还是蛮香的,Kibana用着用着之后发现他的强大远不止于日志检索,因为他拥有一个可视化分析的功能.
如何监控微服务
微服务中的微字体现在每个服务都有自己独立的进程,就这一个特性使得单独监控应用已经变得不现实,那么要怎么做呢,想要监控我们就需要找到统一的入口集中监控,这个入口显而易见的就是Nginx.SpringBoot可以将应用输出到Logstash上,那么Nginx能不能?
LogStash与FileBeat
经过一番调研Nginx确实可以将日志输出到Logstash上,不过要经过大量的配置与解析,使用起来感觉不是很爽,但是在ES的官网上逛了逛翻了翻,发现了另外一款和ELK同类的产品FileBeat,他的性能要更优于Logstash.
看完简介和下边的原理图之后,顿时产生了一个设想,将Nginx的访问以及错误日志作为Filebeat的Input,通过filebeat将日志送到es上最后使用Kibana进行可视化分析,不得不说这真是一个完美的设想. 继续翻阅官方文档,发现Filebeat天生支持Nginx模块输送到ES中.
安装Filebeat
https://www.elastic.co/guide/en/beats/filebeat/7.14/filebeat-installation-configuration.html 关于如何安装FileBeat,官方文档写的相当清楚.
配置Filebeat启用Nginx模块
FIlebeat启用Nginx
代码语言:javascript复制filebeat modules enable nginx
In the module configs under modules.d, change the module settings to match your environment
代码语言:javascript复制vim modules.d/nginx.yml
添加访问日志与错误日志的路径.
将Filebeat输出到ES
修改filebeat.yml将输出改为es
启动Filebeat
代码语言:javascript复制./filebeat setup -e
sudo chown root filebeat.yml
sudo chown root modules.d/system.yml
sudo ./filebeat -e
配置Kibana
在kibana上的配置就比较灵活啦,自己探索就好啦,我不想写啦,直接看结果吧,还是很酷炫的