es日志收集 python_轻量级日志采集系统loki

文章作者:打杂佬小黄

目录

需求背景

loki介绍

loki组件

安装配置

安装

loki安装的docker-compose配置

日志压测端安装的docker-compose配置

loki的配置文件

promtail的配置文件

python压测日志代码(基于python3.7)

docker-compose启动

功能使用

查询方式

性能测试

测试机器类型

收集端

服务端

为什么研究loki日志系统

主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统。Grafana不用多说,界面酷炫!

需求背景

随着应用程序及服务器数量的增多,人工登录一台台服务器去查看日志的方式越来越费时费力,急需一种方式及工具,来大幅度提高查看日志的效率,增效赋能。对于团队与公司来说,工具的roi(投资回报率)也是必须考虑的事情。loki日志平台的调研就是在这种背景下产生的。

loki介绍

https://github.com/grafana/loki/blob/master/docs/README.md

与其他日志记录系统不同,Loki的构建思想是仅为日志建立索引标签,而使原始日志消息保持未索引状态。这意味着Loki的运营成本更低,并且效率更高。

EFK(Elasticsearch,Fluentd,Kibana)堆栈用于从各种来源提取,可视化和查询日志。

Elasticsearch中的数据作为非结构化JSON对象存储在磁盘上。每个对象的键和每个键的内容都被索引。然后可以使用JSON对象查询数据以定义查询(称为查询DSL)或通过Lucene查询语言查询。

相比之下,Loki在单二进制模式下可以将数据存储在磁盘上,但是在水平可伸缩模式下,数据存储在云存储系统(例如S3,GCS或Cassandra)中。日志以纯文本格式存储,并标有一组标签名称和值,其中仅对标签对进行索引。这种折衷使得它比全索引 更便宜 ,并且允许开发人员从其应用程序积极地进行日志记录。使用LogQL查询Loki中的日志。但是,由于这种设计折衷,基于内容(即,日志行中的文本)进行过滤的LogQL查询需要加载搜索窗口中与查询中定义的标签匹配的所有块。

loki组件

1. loki服务端(默认单进程,可拆分)

2. promtail日志收集客户端

安装配置

安装

本地安装使用docker的方式进行安装,docker-compose进行编排

loki安装的docker-compose配置

3. version: "3"

4. 

5. networks:

6. loki:

7. 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值