登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
/ 2 页
下一页
返回列表
首页
›
业界区
›
业界
›
Grafana Loki自动监控日志
Grafana Loki自动监控日志
[ 复制链接 ]
摹熹
2026-1-9 16:20:00
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
Grafana Loki 日志监控配置指南
前言
在微服务架构中,日志收集和分析是运维的重要环节。本文介绍如何使用 Grafana Loki 搭建轻量级日志监控系统,并与传统的 ELK 技术栈进行对比。
Loki vs ELK 技术栈对比
架构对比
组件ELKLoki日志采集Logstash / FilebeatPromtail日志存储ElasticsearchLoki可视化KibanaGrafana
核心差异
对比项ELKLoki索引方式全文索引仅索引标签(Label)存储占用高(原始日志 + 索引)低(压缩存储,索引小)资源消耗高(ES 需要大量内存)低(单机 256MB 可运行)查询方式Lucene 语法LogQL(类 PromQL)查询速度全文搜索快标签过滤快,全文搜索慢部署复杂度复杂(多组件协调)简单(3 个容器即可)学习成本较高较低(熟悉 Prometheus 更容易)与 Prometheus 集成需额外配置原生集成
选型建议
选择 ELK 的场景:
需要复杂的全文搜索
日志分析是核心业务需求
有专门的运维团队
服务器资源充足
选择 Loki 的场景:
中小型项目,资源有限
已使用 Prometheus + Grafana 监控体系
主要需求是日志查看和简单过滤
追求快速部署和低维护成本
系统架构
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 微服务应用 │ ──▶ │ 日志文件 │ ──▶ │ Promtail │ ──▶ │ Loki │
│ (Java/Go等) │ │ (.log files)│ │ (采集器) │ │ (存储) │
└─────────────┘ └─────────────┘ └─────────────┘ └──────┬──────┘
│
▼
┌─────────────┐
│ Grafana │
│ (可视化) │
└─────────────┘
复制代码
环境准备
Docker 20.10+
Docker Compose 2.0+
服务器内存 >= 2GB
目录结构
/docker/
├── docker-compose.yaml
├── loki/
│ └── loki-config.yaml
└── promtail/
└── promtail-config.yaml
复制代码
配置文件
1. Loki 配置 (loki-config.yaml)
auth_enabled: false
server:
http_listen_port: 3100
grpc_listen_port: 9096
common:
instance_addr: 127.0.0.1
path_prefix: /loki
storage:
filesystem:
chunks_directory: /loki/chunks
rules_directory: /loki/rules
replication_factor: 1
ring:
kvstore:
store: inmemory
query_range:
results_cache:
cache:
embedded_cache:
enabled: true
max_size_mb: 100
limits_config:
metric_aggregation_enabled: true
retention_period: 720h # 日志保留 30 天
schema_config:
configs:
- from: 2020-10-24
store: tsdb
object_store: filesystem
schema: v13
index:
prefix: index_
period: 24h
pattern_ingester:
enabled: true
metric_aggregation:
loki_address: localhost:3100
compactor:
working_directory: /loki/compactor
retention_enabled: true
delete_request_store: filesystem
frontend:
encoding: protobuf
复制代码
配置说明:
配置项说明auth_enabled: false关闭认证,单机部署使用http_listen_port: 3100Loki HTTP API 端口path_prefix: /loki数据存储路径前缀retention_period: 720h日志保留 30 天store: tsdb使用 TSDB 存储引擎(Loki 3.x 推荐)schema: v13最新的 schema 版本embedded_cache内置查询缓存,提升查询性能compactor自动压缩和清理过期日志
2. Promtail 配置 (promtail-config.yaml)
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://loki:3100/loki/api/v1/push
scrape_configs:
- job_name: xiaohashu
static_configs:
- targets:
- localhost
labels:
job: xiaohashu
__path__: /var/log/xiaohashu/*.log
pipeline_stages:
# 从文件名提取服务名: note.2025-07-01-0.log → service=note
- regex:
source: filename
expression: '(?P<service>[a-z-]+)\.\d{4}-\d{2}-\d{2}-\d+\.log$'
- labels:
service:
# 从日志内容提取级别: INFO/WARN/ERROR/DEBUG
- regex:
expression: '^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3} \[[^\]]+\] (?P<level>\w+)'
- labels:
level:
复制代码
配置说明:
配置项说明positions.filename记录读取位置,重启后继续读取clients.urlLoki 推送地址__path__日志文件匹配路径pipeline_stages日志处理管道regex + labels从文件名/内容提取标签
日志格式示例:
2025-07-01 10:30:00.123 [main] INFO com.example.Service - 启动成功
复制代码
经过 pipeline 处理后,会自动添加标签:
service=note(从文件名提取)
level=INFO(从日志内容提取)
3. Docker Compose 配置
services:
loki:
image: grafana/loki:3.5.0
container_name: loki
ports:
- "3100:3100"
volumes:
- ./loki/loki-config.yaml:/etc/loki/local-config.yaml
- loki-data:/loki
command: -config.file=/etc/loki/local-config.yaml
restart: unless-stopped
promtail:
image: grafana/promtail:3.5.0
container_name: promtail
volumes:
- ./promtail/promtail-config.yaml:/etc/promtail/config.yaml
- /www/wwwroot/life_diary/logs:/var/log/xiaohashu:ro
command: -config.file=/etc/promtail/config.yaml
restart: unless-stopped
depends_on:
- loki
grafana:
image: grafana/grafana:11.4.0
container_name: grafana
ports:
- "3000:3000"
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=admin123
volumes:
- grafana-data:/var/lib/grafana
restart: unless-stopped
depends_on:
- loki
volumes:
loki-data:
grafana-data:
复制代码
关键配置说明:
配置说明loki-data:/lokiLoki 数据持久化,容器重启不丢失/www/wwwroot/life_diary/logs:/var/log/xiaohashu:ro挂载宿主机日志目录,:ro 表示只读grafana-data:/var/lib/grafanaGrafana 配置持久化depends_on服务启动依赖顺序
部署步骤
1. 创建目录和配置文件
mkdir -p /docker/loki /docker/promtail
cd /docker
# 创建配置文件(内容见上文)
vim loki/loki-config.yaml
vim promtail/promtail-config.yaml
vim docker-compose.yaml
复制代码
2. 启动服务
cd /docker
docker-compose up -d
复制代码
3. 查看服务状态
docker-compose ps
docker-compose logs -f loki # 查看 Loki 日志
docker-compose logs -f promtail # 查看 Promtail 日志
复制代码
4. 配置 Grafana 数据源
浏览器访问 http://服务器IP:3000
登录(默认 admin / admin123)
左侧菜单 →
Connections
→
Data sources
点击
Add data source
→ 选择
Loki
URL 填写:http://loki:3100
点击
Save & Test
,显示绿色 ✓ 表示成功
LogQL 查询语法
基础查询
# 查看所有日志
{job="xiaohashu"}
# 按服务筛选
{service="note"}
{service="gateway"}
# 按日志级别筛选
{level="ERROR"}
{level="WARN"}
# 组合条件
{service="note", level="ERROR"}
复制代码
关键字搜索
# 包含关键字
{job="xiaohashu"} |= "Exception"
{service="note"} |= "NullPointer"
# 不包含关键字
{service="gateway"} != "health"
# 正则匹配
{job="xiaohashu"} |~ "user.*login"
复制代码
统计分析
# 最近 5 分钟各服务错误数
count_over_time({level="ERROR"}[5m]) by (service)
# 每分钟日志量
rate({job="xiaohashu"}[1m])
# 错误率
sum(rate({level="ERROR"}[5m])) / sum(rate({job="xiaohashu"}[5m]))
复制代码
常用运维命令
# 启动所有服务
docker-compose up -d
# 停止所有服务
docker-compose down
# 重启单个服务
docker-compose restart loki
# 查看资源占用
docker stats loki promtail grafana
# 查看日志
docker-compose logs -f --tail=100 loki
# 清理旧数据(谨慎使用)
docker volume rm docker_loki-data
复制代码
常见问题
1. Promtail CPU 占用高
刚启动时需要扫描历史日志,属于正常现象。等处理完历史数据后会降下来。
2. Grafana 连接 Loki 失败
检查 URL 是否正确,容器内部通信使用服务名 http://loki:3100,不是 localhost。
3. 看不到日志
检查日志路径挂载是否正确
检查 Promtail 日志:docker logs promtail
确认日志文件名格式与 __path__ 匹配
4. 磁盘空间不足
调整 retention_period 缩短保留时间,或手动清理:
docker-compose down
docker volume rm docker_loki-data
docker-compose up -d
复制代码
总结
Grafana Loki 相比 ELK 更加轻量,适合中小型项目和资源有限的场景。通过合理配置 Promtail 的 pipeline,可以自动提取服务名和日志级别,实现高效的日志查询和分析。
对于已经使用 Prometheus + Grafana 的团队,Loki 是日志监控的最佳选择,可以在同一个 Grafana 界面中同时查看指标和日志,大大提升排查问题的效率。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
Grafana
Loki
自动
监控
日志
相关帖子
ArcGIS授权管理器断网后自动停止
Avalonia.Controls.DataGrid自动合并列
酷监控!一款高颜值的监控工具!
C# PC版微信消息监听自动回复
LSM-Tree 日志结构合并树
Python日志存储:从单机同步到分布式异步的7种方案
实战:Java 日志中打印服务器 IP,快速区分多服务器日志归属
AI 自动编程:一句话设计高颜值博客
MySQL 慢日志分析工具---pt-query-digest
利用Vue元素指令自动合并tailwind类名
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
ArcGIS授权管理器断网后自动停止
7
642
愤血冒
2026-02-06
业界
Avalonia.Controls.DataGrid自动合并列
5
23
娥搽裙
2026-02-10
安全
酷监控!一款高颜值的监控工具!
2
27
倡粤
2026-02-12
业界
C# PC版微信消息监听自动回复
3
470
黎娅茜
2026-02-22
安全
LSM-Tree 日志结构合并树
2
23
采序
2026-02-23
业界
Python日志存储:从单机同步到分布式异步的7种方案
1
375
邹弘丽
2026-02-24
业界
实战:Java 日志中打印服务器 IP,快速区分多服务器日志归属
1
931
乙荒
2026-02-25
业界
AI 自动编程:一句话设计高颜值博客
0
461
司马黛
2026-02-28
业界
MySQL 慢日志分析工具---pt-query-digest
0
498
楞粳
2026-03-02
业界
利用Vue元素指令自动合并tailwind类名
1
278
周冰心
2026-03-02
回复
(19)
圣罩
2026-1-13 18:01:56
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢发布原创作品,程序园因你更精彩
姚望舒
2026-1-23 07:18:01
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,下载保存了,貌似很强大
幽淆
2026-1-24 08:43:05
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
这个好,看起来很实用
巩芷琪
2026-1-25 04:04:56
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
轧岔
2026-1-26 06:52:52
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
喜欢鼓捣这些软件,现在用得少,谢谢分享!
曲愍糙
2026-1-27 14:10:24
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢,下载保存了
寿爹座
2026-2-3 07:10:55
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
鼓励转贴优秀软件安全工具和文档!
侧胥咽
2026-2-6 06:15:44
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢发布原创作品,程序园因你更精彩
电棘缣
2026-2-7 03:46:09
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢,下载保存了
釉她
2026-2-8 02:10:43
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢,下载保存了
袋岖荤
2026-2-9 02:55:00
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,下载保存了,貌似很强大
红弘丽
2026-2-9 19:09:44
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢楼主提供!
劳怡月
2026-2-9 22:44:20
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
谢谢分享,辛苦了
羊舌正清
2026-2-12 00:30:13
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢楼主提供!
董绣梓
2026-2-12 06:02:14
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
喜欢鼓捣这些软件,现在用得少,谢谢分享!
梁宁
2026-2-12 08:23:09
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
新版吗?好像是停更了吧。
背竽
2026-2-12 17:13:33
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
很好很强大 我过来先占个楼 待编辑
丰江
2026-2-22 06:27:10
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
梁丘眉
6 天前
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
摹熹
6 天前
关注
0
粉丝关注
16
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
宋子
9888
6
韶又彤
9910
7
闰咄阅
9993
8
刎唇
9995
9
蓬森莉
9873
10
遗憩
10006
查看更多
今日好文热榜
298
M3U8 播放调试不用愁!这款纯网页工具帮你
229
S001 【模板】从前缀函数到KMP应用 字符串
703
OpenClaw安装部署教程
968
OpenClaw 安装配置指南:从零开始在 Telegr
748
LeetCode 88 合并两个有序数组:python3 题
473
实战还原 V8 bytenode 保护 JS(V8 字节码
954
LeetCode 378 有序矩阵中第 K 小的元素:py
747
关于reverse的tea题目回顾
615
一款使用 C# 编写专为 Windows 11 打造的文
898
数据库事务机制
978
最小二乘问题详解12:三角化中的非线性优化
722
xv6如何开始运行第一个用户进程
147
这个框架会过时吗——AI的天花板和你的判断
77
ClawX 本地部署实战:OpenClaw 安装、API
326
OpenAI卸载量暴增295%,Claude登顶第一:AI
945
洛谷P1593 因子和 题解
147
一个命令,切换整个世界:CCSwitch 到底是
330
【医疗项目实战】借助LightningChart Pytho
787
在Mac安装阿里巴巴新神器copaw
637
厉害的网安人才都学什么?