一、前言
Grafana Loki 是什么?
Loki 是一个水平可扩展,高可用性,多租户的日志聚合系统
。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签。
Loki 组成:
- loki : 主服务器,负责存储日志和处理查询
- promtail : 代理,负责收集日志并将其发送给 loki
- Grafana : Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能
Loki : https://github.com/grafana/loki
二、docker-compose
安装Grafana Loki
# 环境准备
git clone https://gitee.com/zhengqingya/docker-compose.git
# Liunx系统走此路径
cd docker-compose/Liunx
# Windows系统走此路径
cd docker-compose/Windows
# 【 注:Liunx系统先授权,否则会报错:`cannot create directory '/var/lib/grafana/plugins': Permission denied` 】
chmod 777 $PWD/grafana_promtail_loki/grafana/data
chmod 777 $PWD/grafana_promtail_loki/grafana/log
# 运行服务
docker-compose -f docker-compose-grafana-promtail-loki.yml -p grafana_promtail_loki up -d
等待运行完成…
三、运行一个java小程序测试日志
新建docker-compose.yml
温馨小提示:
- 这是个定时打印日志任务的java小程序;
- 该文件需与上面安装loki的
docker-compose-grafana-promtail-loki.yml
文件在同一级,目的:同步java程序的日志到promtail
日志采集端,当然这里也可以通过将promtail放到容器中去采集日志,可参考:https://gitee.com/zhengqingya/docker-compose/tree/master/Liunx/grafana-promtail-loki-nginx-demo- 更多可查看promtail和loki具体配置
version: '3'
services:
log-java-demo:
image: registry.cn-hangzhou.aliyuncs.com/zhengqing/log-java-demo:latest
container_name: log-java-demo
volumes:
- ./grafana_promtail_loki/logs:/var/log
ports:
- "88:88"
运行程序
docker-compose up -d
四、Grafana Loki 配置
访问地址:http://127.0.0.1:3000
默认登录账号密码:admin/admin
配置loki数据源
填写loki地址: http://loki:3100
保存成功后,选择Explore
这里选择以文件名的方式查看日志信息
根据日志级别筛选日志
实时查看日志信息
更多日志选择和过滤可自行了解…
今日分享语句:
给自己的人生设立一个目标,给自己未来一个明确的希望,给自己的生活一个方向灯。让我们为着这个方向而努力,不断去超越自己,提高自己的水平,不让自己有懈怠的时候。