傻瓜也能玩转日志归集

关注"一猿小讲"的猿友们都知道,前段时间我在《一文讲懂线上应用系统监控》给大家简单提到了日志归集,埋下了伏笔,今天的这篇分享是来给大家还债的,主要从整体到局部,深入了解一下日志归集。如果你正在困惑于每天登录服务器查询业务日志的繁琐,或正在寻找一个业务日志归集的方案,那么就请跟紧我的脚步,莫掉队。

01. 放空大脑,去思考

众所周知,生活中每做一件大事要有有计划有步骤的进行。日志归集也不例外,就让我们放下陈谷子烂芝麻的琐事,静下来随着我思考一二。

“日志归集”四个字,从中我们看到操作的对象是:日志;进行的动作是:归集。

那该如何做呢?

之前的分享曾讲过,日志采集的方式、采集的日志如何存储、采集的数据展示分析等几个环节,并提了一下当下最流行的开源轮子EFK,如果你是第一次听到这些,建议看看我前段时间分享的《一文讲懂线上应用系统监控》那篇文章。今天主要是实战,理论性的东西点到为止。

02.拒绝空想,就是干,傻瓜也能用 EFK

一切技术轮子都是纸老虎。有时,发现打破纸老虎的最佳方法,莫过于亲身实践。那就让我们行动起来,真枪实弹从 0 到 1 搭建一个轻量级的日志采集服务。

Filebeat

能轻松地将你关心的数据推送至你想存储的地方,让日志采集的事情变的简单化。

选择适合自己的,才是最好的。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

Elasticsearch

可以集中存储我们的数据,而且快到不可思议的查询。

提供千万款,总有一款适合你。下载最新版本(Mac系统进行演示)

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-darwin-x86_64.tar.gz

一键启动。

bin/elasticsearch

论成败。

curl http://localhost:9200/

Kibana

能够对 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 简易的日志采集架构就完成了。神奇的是这款技术轮子,还真能把采集的日志展示出来了,自此鸟枪换炮,妈妈再也不用担心我因为查询日志下班晚回家吃饭啦。

03. 带你牛,带你飞

站在巨人的肩膀上。

由于 Kibana 功能比较多,有太多的功能用不到,相对还是比较笨重。所以公司往往都进行二次开发轻量级的查询组件。

其中实现思路特别简单:分析 kibana 日志搜索向后台发送的请求;摘取 elasticsearch 请求相关API;按照公司需求提供个性化查询展示页面。

轻量级 vs 重量级。

如果是轻量级的采集方案,那么 EFK + 定时清理 elasticsearch 的脚本就够用(目前线上采取的方案);如果是重量级 + 高可用,那么在Fliebeat 与 Elasticsearch 中间加上一个队列缓冲组件会比较靠谱。

04. 写在最后

拒绝温水煮青蛙,拒绝一味的 CRUD,如果平时工作中遇到痛点不妨稍微思考一二,看看有没有更好的技术轮子可以引进,说不定会提高工作效率,那么就可以抽出更多时间去喝咖啡、抽出更多时间去忙点自己的事情。

原文发布于微信公众号 - 一猿小讲(yiyuanxiaojiangV5)

原文发表时间:2019-06-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券