如果你正在困惑于每天登录服务器查询业务日志的繁琐,或正在寻找一个业务日志归集的方案,那么就请跟紧我的脚步,莫掉队。
众所周知,生活中每做一件大事要有有计划有步骤的进行。日志归集也不例外,就让我们放下陈谷子烂芝麻的琐事,静下来随着我思考一二。
“日志归集”四个字,从中我们看到操作的对象是:日志;进行的动作是:归集。
之前的分享曾讲过,日志采集的方式、采集的日志如何存储、采集的数据展示分析等几个环节,并提了一下当下最流行的开源轮子EFK。今天主要是实战,理论性的东西点到为止。
一切技术轮子都是纸老虎。有时,发现打破纸老虎的最佳方法,莫过于亲身实践。那就让我们行动起来,真枪实弹从 0 到 1 搭建一个轻量级的日志采集服务。
能轻松地将你关心的数据推送至你想存储的地方,让日志采集的事情变的简单化。
选择适合自己的,才是最好的。Filebeat 对不同的系统提供不同的可执行版本。下载最新版本(Mac系统进行演示):
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.1.1-darwin-x86_64.tar.gz
vi filebeat-7.1.1-linux-x86_64/filebeat.yml
vi filebeat-7.1.1-linux-x86_64/filebeat.yml
由于本次进行本机演示操作,所以默认地址配置就满足需求。
./filebeat -e -c filebeat.yml
可以集中存储我们的数据,而且快到不可思议的查询。
提供千万款,总有一款适合你。下载最新版本(Mac系统进行演示)
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-darwin-x86_64.tar.gz
bin/elasticsearch
curl http://localhost:9200/
能够对 Elasticsearch 中的数据进行可视化。集可点击、可拖动、可挖掘本领于一身的可视化组件高手。
乐享 Kibana。纵佳丽三千,择其一而终老。下载最新版本(Mac系统进行演示)
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.1.1-darwin-x86_64.tar.gz
bin/kibana
启动初恋的感觉。
在浏览器中访问 http://localhost:5601,效果图如下。
到此采用 EFK 简易的日志采集架构就完成了。神奇的是这款技术轮子,还真能把采集的日志展示出来了,自此鸟枪换炮,妈妈再也不用担心我因为查询日志下班晚回家吃饭啦。
站在巨人的肩膀上。由于 Kibana 功能比较多,有太多的功能用不到,相对还是比较笨重。所以公司往往都进行二次开发轻量级的查询组件。
其中实现思路特别简单:分析 kibana 日志搜索向后台发送的请求;摘取 elasticsearch 请求相关API;按照公司需求提供个性化查询展示页面。
如果是轻量级的采集方案,那么 EFK + 定时清理 elasticsearch 的脚本就够用(目前线上采取的方案);如果是重量级 + 高可用,那么在Fliebeat 与 Elasticsearch 中间加上一个队列缓冲组件会比较靠谱。
拒绝温水煮青蛙,拒绝一味的 CRUD,如果平时工作中遇到痛点不妨稍微思考一二,看看有没有更好的技术轮子可以引进,说不定会提高工作效率,那么就可以抽出更多时间去喝咖啡、抽出更多时间去忙点自己的事情。
一起聊技术、谈业务、喷架构,少走弯路,不踩大坑。欢迎关注「一猿小讲」,会持续输出原创精彩分享,敬请期待!