内容简介:Loki是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签,为 Prometheus和 Kubernetes用户做了相关优化。项目受 Prometheus 启发,类似于 Prometheus 的日志系统。Loki初体验与其他日志聚合系统相比, Loki具有下面的一些特性:
Loki是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签,为 Prometheus和 Kubernetes用户做了相关优化。项目受 Prometheus 启发,类似于 Prometheus 的日志系统。
简介
Loki初体验
与其他日志聚合系统相比, Loki具有下面的一些特性:
- 不对日志进行全文索引。通过存储压缩非结构化日志和仅索引元数据,Loki 操作起来会更简单,更省成本。
- 通过使用与 Prometheus 相同的标签记录流对日志进行索引和分组,这使得日志的扩展和操作效率更高。
- 特别适合储存 Kubernetes Pod 日志; 诸如 Pod 标签之类的元数据会被自动删除和编入索引。
- 受 Grafana 原生支持。
Loki 由以下3个部分组成:
- loki是主服务器,负责存储日志和处理查询。
- promtail是代理,负责收集日志并将其发送给 loki。
- Grafana 用于 UI 展示。
环境说明
环境 | 版本 |
---|---|
centos | v7.4 |
docker | v18.09.0 |
docker-compose | v1.23.2 |
grafana | v5.5.0 |
node-exporter | v0.17.0 |
prometheus | v2.5.0 |
部署
clone loki源码
[root@1-206 ~]# curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose [root@1-206 ~]# yum install -y git [root@1-206 ~]# git clone https://github.com/grafana/loki.git [root@1-206 ~]# cd loki/production/
可以直接运行官方的docker-compose.yml文件,执行命令为: docker-compose -f docker-compose.yaml up -d
docker-compose.yml 文件如下,这里使用的 grafana 镜像为自己编译的,官方的镜像为: image: grafana/grafana:master
[root@1-206 production]# cat docker-compose.yaml version: "3" networks: loki: services: loki: image: grafana/loki:master ports: - "3100:3100" command: -config.file=/etc/loki/local-config.yaml networks: - loki promtail: image: grafana/promtail:master volumes: - /var/log:/var/log command: -config.file=/etc/promtail/docker-config.yaml networks: - loki grafana: image: yfshare/grafana:5.5.0_beta1 ports: - "3000:3000" environment: GF_EXPLORE_ENABLED: "true" networks: - loki [root@1-206 production]#
[root@1-206 production]# docker-compose -f docker-compose.yaml up -d [root@1-206 production]# docker-compose ps Name Command State Ports ----------------------------------------------------------------------------------------------- production_grafana_1 /docker-entrypoint.sh Up 22/tcp, 0.0.0.0:3000->3000/tcp production_loki_1 /bin/loki -config.file=/et ... Up 0.0.0.0:3100->3100/tcp, 80/tcp production_promtail_1 /usr/bin/promtail -config. ... Up [root@1-206 production]#
体验
部署完成后,访问grafana: http://ip:3000,默认密码为`admin:admin`
Grafana v5.5.0+以上的版本才支持Loki
添加数据源Prometheus和Loki
根据系统标签来查看Loki日志
测试发现当promtail定义读取的日志路径为 /var/log
时,即使日志路径为 /var/log/grafana/grafana.log
也不能读取。
这里的job varlogs是在promtail的配置文件里定义的,promtail配置文件如下:
[root@1-206 production]# docker exec -it production_promtail_1 /bin/sh / # cat /etc/promtail/docker-config.yaml server: http_listen_port: 0 grpc_listen_port: 0 positions: filename: /tmp/positions.yaml client: url: http://loki:3100/api/prom/push scrape_configs: - job_name: system entry_parser: raw static_configs: - targets: - localhost labels: job: varlogs __path__: /var/log / #
Loki也可以查看Prometheus的item
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Grafana 日志聚合工具 Loki
- 监控聚合器系列之: open-falcon新聚合器polymetric
- elasticsearch学习笔记(七)——快速入门案例实战之电商网站商品管理:嵌套聚合,下钻分析,聚合分析
- mongodb高级聚合查询
- MongoDB聚合(aggregate)
- mongodb 聚合管道
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Effective STL中文版
[美]Scott Meyers / 潘爱民、陈铭、邹开红 / 清华大学出版社 / 2006-1 / 30.00元
STL是C++标准库的一部分。本书是针对STL的经验总结,书中列出了50个条款,绝大多数条款都解释了在使用STL时应该注意的某一个方面的问题,并且详尽地分析了问题的来源、解决方案的优劣。一起来看看 《Effective STL中文版》 这本书的介绍吧!