大模型应用日志接入Loki:零基础配置与排错指南

大模型应用通常以容器或进程方式运行,日志分散在多个文件或标准输出中。
Loki 是一套轻量级日志聚合系统,搭配 Promtail 采集器,可以把这些日志集中存储并通过 Grafana 查询。
本文按零基础可操作的方式,说明如何完成大模型 Loki 日志配置,并给出验证和排错方法。

先确认运行环境和日志来源

开始配置前,需要明确两件事:Loki 装在哪里,大模型日志从哪里来。

  • Loki 服务端:建议使用一台 Linux 服务器(如 Ubuntu 22.04 或 CentOS 7+),内存不低于 2GB,磁盘按日志量预留。
  • 日志来源:大模型应用可能输出到文件(如 /var/log/llm/app.log),也可能输出到 Docker 标准输出。本文以文件日志为例,Docker 场景只需调整 Promtail 的 scrape_configs。
  • 访问方式:确保服务器能通过 3100 端口访问 Loki,Grafana 能访问 Loki 的 HTTP 接口。

如果还没有安装 Loki 和 Promtail,可使用官方二进制包或 Docker 方式启动。
以下命令以 Docker 为例,适合快速验证:

docker run -d --name loki -p 3100:3100 grafana/loki:latest -config.file=/etc/loki/local-config.yaml

启动后执行 curl http://localhost:3100/ready,返回 ready 表示 Loki 已就绪。

编写 Promtail 抓取配置

Promtail 负责读取日志文件并推送到 Loki。
新建配置文件 /etc/promtail/config.yml,核心内容如下:

server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

clients:
  - url: http://localhost:3100/loki/api/v1/push

scrape_configs:
  - job_name: llm-app
    static_configs:
      - targets:
          - localhost
        labels:
          job: llm-app
          __path__: /var/log/llm/*.log

关键点说明:

  • __path__ 必须指向实际日志文件路径,支持通配符。
  • labels 中的 job 会作为 Loki 标签,后续查询时使用。
  • positions 文件记录读取位置,重启后不会重复采集。

保存后启动 Promtail:

docker run -d --name promtail \
  -v /etc/promtail/config.yml:/etc/promtail/config.yml \
  -v /var/log/llm:/var/log/llm \
  grafana/promtail:latest -config.file=/etc/promtail/config.yml

如果使用二进制方式,直接运行 ./promtail -config.file=/etc/promtail/config.yml。
启动后检查 Promtail 日志,确认没有报错。

常见报错与避坑说明

配置过程中容易遇到以下几类问题:

  • Promtail 报 connection refused:检查 Loki 是否启动、端口是否开放。执行 curl http://localhost:3100/ready 确认。
  • 日志未出现在 Loki 中:先看 Promtail 日志是否有 tail 相关错误,再确认 __path__ 路径是否正确、文件是否有读取权限。
  • 标签过多导致性能下降:不要将日志内容中的高基数字段(如用户 ID、请求 ID)设为标签,只用固定维度如 job、env。
  • 磁盘空间增长过快:Loki 默认保留周期有限,可在 Loki 配置中调整 limits_config 下的 retention_period,并确保存储目录有足够空间。

修改配置后,重启对应容器或进程使配置生效。

验证日志是否成功接入

Promtail 启动后,可以通过 Loki 的 HTTP 接口查询日志。
先用简单查询确认数据存在:

curl -G -s "http://localhost:3100/loki/api/v1/query" \
  --data-urlencode 'query={job="llm-app"}' \
  --data-urlencode 'limit=5'

如果返回 JSON 中包含 streams 和日志行,说明接入成功。
也可以登录 Grafana,添加 Loki 数据源(地址填 http://localhost:3100),在 Explore 中选择 job 标签查看日志流。

验证时注意:新写入的日志可能需要几秒到几十秒才会被查询到,属正常现象。

大模型日志场景下的配置建议

大模型应用日志通常包含请求体、响应耗时和错误堆栈,建议在 Promtail 配置中保留原始日志,不要在采集阶段做复杂过滤,以免丢失排错信息。
如果日志量较大,可以按天切割文件,并让 __path__ 匹配切割后的文件,Loki 会自动按时间范围查询。

对于多实例部署,给每个实例增加 instance 标签,便于区分来源。
标签值尽量稳定,不要包含时间戳或随机字符串。

常见疑问

Loki 和 Promtail 必须装在同一台机器吗?
不是。Promtail 可以部署在应用所在机器,通过 clients.url 指向远程 Loki 地址,只需保证网络连通。

日志文件被轮转后 Promtail 会重复采集吗?
Promtail 通过 positions 文件记录偏移量,轮转后如果文件名不变,通常会继续跟踪;如果使用新文件名,需要确保 __path__ 能匹配到新文件。

查询不到日志但 Promtail 没报错怎么办?
先检查 Loki 的 /ready 接口,再确认 Promtail 配置中的 clients.url 是否指向正确的 Loki 地址,最后查看 Promtail 日志中是否有推送失败记录。

按照以上步骤完成大模型 Loki 日志配置后,建议先在小范围环境验证,再逐步扩大采集范围。
遇到异常时优先检查网络连通性、文件路径和标签设置,这三处覆盖了大部分常见问题。

分享到:
上一篇
大模型ELK日志系统搭建与配置实操
下一篇
大模型告警系统配置:从零搭建到告警验证
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意