你们公司用什么查看日志?

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 你们公司用什么查看日志?

目录


前言


说起查看日志排查 bug 的方式,早些年的时候我都是直接登陆 linux 服务器直接查看,或者下载下来查看


随着微服务的兴起,服务被越拆越小,服务部署也是集群部署,可能涉及到的服务器数量就有好几十台了,这样的话一台台服务器去登陆查看就感觉非常麻烦了。

后面我尝试着去寻找别的解决办法,发现了一个叫 finderweb 的程序员查看日记神器,用了一段时间,感觉也还可以,感兴趣的可以访问如下链接,自行安装尝试(http://www.finderweb.net/

再后来,就是用的 elk 了, elk 是一款功能非常强大的日志收集分析统计系统,基于 es ,但是同时也带来了不小的资源开销和高成本的维护弊病(elk日志平台安装教程在历史文章中),有点太重了。其实对于中小型的公司来说,对日志系统的要求并不多,开发人员更希望的是直接给我想要查看的服务日志就行,越简单越好。

聊到这里,阿里云上也有个叫 sls的日志服务,听说好用,但是要花钱啊。

那么接下来我就来安利一款日志系统的弄潮儿:轻量级日志系统 Loki。不用花钱,只占用很少的服务器资源,而且安装运维很简单。

1.Loki介绍

看看 Loki 的官方文档介绍:


1.png

Loki 日志系统的组成架构图:

2.png

**从上图可以发现有以下三剑客组成:

**

  • Loki:主服务器,负责存储日志和处理查询。
  • Promtail:代理,负责收集日志并将日志数据发送给 Loki。
  • Grafana:查询界面,用于查询和显示日志。


Loki 为了降低全文索引资源带来的开销,只对标签进行了索引。查询的方式是把查询分解成较小的分片,我们可以理解为多线程的 grep 查询,效率不差的。

**接下来就跟着我安装实践一把,喝两杯水的功夫即可。

**


2.Loki安装

1.下载安装包

curl -O -L "http://github.com/grafana/loki/releases/download/v2.2.0/loki-linux-amd64.zip"


2.解压

unzip loki-linux-amd64.zip


3.赋予可执行权限

chmod a+x loki-linux-amd64


4.下载配置文件

wget https://github.com/grafana/loki/blob/main/cmd/loki/loki-local-config.yaml
//文件名太长,改个名字
mv loki-local-config.yaml loki.yml


5.编辑loki配置,配置数据保留策略


5.png

保留14天


6.启动Loki

nohup ./loki-linux-amd64 -config.file=loki.yml > /data/loki/logs/loki.log 2>&1 &
//防问一下是否启动成功
curl http://localhost:3100/metrics


3.promtail安装

在需要收集日志的服务器上都要安装promtail

1.下载安装包


curl -O -L "http://github.com/grafana/loki/releases/download/v2.2.0/promtail-linux-amd64.zip"

2.解压

unzip promtail-linux-amd64.zip


3.赋予可执行权限

chmod a+x promtail-linux-amd64


4.下载并编辑配置文件

wget https://raw.githubusercontent.com/grafana/loki/main/clients/cmd/promtail/promtail-local-config.yaml
//文件名太长,改个名字
mv promtail-local-config.yaml promtail.yml

编辑并修改3.png


5.启动promtail

nohup ./promtail-linux-amd64 -config.file=promtail.yml > /data/loki/logs/promtail.lo


4.grafana配置Loki

grafana 的安装可参考历史文章中的《手把手教你搭建一个监控告警平台》**

1.在 grafana 上添加 Loki 数据源**


4.png

6.png

7.png

8.png


2.到这一步就配置完成了,可以直接查看日志了

这个 job 就是刚刚 promtail.yml 配置文件中定义的 job,直接输入:{job=“uc-prod-96”} 按时间查询即可8.png9.png

感兴趣的话可以学一下 LogQL 语法,支持各种花里胡哨的过滤查询方式。

当然我们用的最多的方式应该是以下两种,已经满足了我们的日常使用场景:


// 1.例如查询包含"不高兴就喝水"的日志
{job="job"}|= "不高兴就喝水"
// 2.支持多个条件过滤
{job="job"} |= "error" != "timeout"

多的方式应该是以下两种,已经满足了我们的日常使用场景:**

// 1.例如查询包含"不高兴就喝水"的日志
{job="job"}|= "不高兴就喝水"
// 2.支持多个条件过滤
{job="job"} |= "error" != "timeout"
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
存储 运维 监控
万人收藏!这里有一份超全 SysOM 2.0 回顾
SysOM 2.0 回顾来啦,一键点击了解。填写问卷就可以领精美周边啦~
万人收藏!这里有一份超全 SysOM 2.0 回顾
|
移动开发 运维 监控
满地坑!细数关于日志的9个问题
在日常开发中,如果你是一名后端开发人员,想必应该非常清楚在应用系统运行期间,打印日志有多么重要。
|
大数据
强烈推荐大数据软件Splunk,用于分析日志文件
强烈推荐大数据软件Splunk,用于分析日志文件
153 0
强烈推荐大数据软件Splunk,用于分析日志文件
|
存储 Web App开发 移动开发
半天掌握日志存储 云启实验室系列课程 第四讲 | 日志服务之告警接入与管理
本教程介绍如何使用日志服务接入NGINX模拟数据,并配置告警规则来对NGINX访问错误进行监控。 专家支持:阿里云日志服务技术专家 寂之
292 0
半天掌握日志存储 云启实验室系列课程 第四讲 | 日志服务之告警接入与管理
|
机器学习/深度学习 人工智能 自然语言处理
国内的智能客服发展到哪一步了?这里有份追踪报告
智能客服市场有多大?有哪些优秀玩家?这些玩家提供了哪些解决方案?解决了什么痛点?在这份报告中,我们进行了详细解读。
303 0
国内的智能客服发展到哪一步了?这里有份追踪报告
|
人工智能 运维 安全
两份报告 一次企业开源的思考
“开源软件竞争力”,正成为企业的核心关注焦点。但不妨放大了看,不仅仅是因为开源软件吞噬了世界,开源的理念,也正在深入每一家企业、每一个组织,让其具有强大的开放力、创造力和成长动力。
|
SQL 运维 安全
最新发布:数据库防火墙技术市场调研报告
最新发布:数据库防火墙技术市场调研报告 自2015年8月至9月,数据库安全专业提供商安华金和与第三方社区合作,共同面向广大IT从业人员进行数据库防火墙市场认知度调研,期望真实获取来自用户的反馈,把握客户需求和体验,从而进行数据库防火墙产品的研发与改进。
1561 0