docker学习笔记(八)日志聚合

Loki 套件

Loki是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。

Loki 由以下3个部分组成:

  • loki是主服务器,负责存储日志和处理查询。
  • promtail是代理,负责收集日志并将其发送给 loki 。
  • Grafana用于 UI 展示。

与 ELK 对比

ELK 的优势, 性能、功能强大。缺点,太耗资源。

Loki则在功能性与资源之间做了一个很好的平衡。

安装 Loki 套件

编写docker-compose文件,如下:

启动命令docker-compose up -d , 访问localhost:3100即可访问。

安装docker插件

Loki正式支持Docker插件,该插件将从Docker容器读取日志并将其发送到Loki。可以将插件配置为将日志发送到私有Loki实例或Grafana Cloud。

Docker插件必须安装在将运行您要从中收集日志的容器的每个Docker主机上。

运行以下命令以安装插件:

检查已安装的插件,请使用docker plugin ls命令。成功启动的插件被列为已启用:

其他插件管理命令:

升级插件

删除插件

收集日志

全局配置

编辑daemon.json。linux下默认路径是/etc/docker/daemon.json, windows则默认是%userprofile%\.docker\daemon.json

单容器配置

启动容器时,通过--log-drive来配置。

docker-compose 配置

配置、查看日志

访问http://localhost:3000/,通过Configuration -> Data Source 添加数据源。

image

点击Add data source添加数据源,选择Loki

image

只需配置Url: http://loki:3100

image

点击Explore,进行查看日志

image

选择对应的log labels进行查看日志

image