如何制定并实践Promtail日志采集的详细配置规范?
摘要:# Promtail 日志采集配置规范 > 标准化日志采集配置指南,适用于基于 Promtail + Loki 的日志收集架构。 ## 目录 - [架构概览](#架构概览) - [配置结构说明](#配
# Promtail 日志采集配置规范
> 标准化日志采集配置指南,适用于基于 Promtail + Loki 的日志收集架构。
---
## 目录
- [架构概览](#架构概览)
- [配置结构说明](#配置结构说明)
- [标签规范](#标签规范)
- [Pipeline Stages 详解](#pipeline-stages-详解)
- [标准配置模板(通用版)](#标准配置模板通用版)
- [现有配置分析与优化](#现有配置分析与优化)
- [运维操作手册](#运维操作手册)
- [常见问题排查](#常见问题排查)
---
## 架构概览
```
Application Logs (file)
└─> Promtail (tail + label + pipeline)
└─> Loki Gateway (push API)
└─> Loki (存储 + 索引)
└─> Grafana (查询 + 告警)
```
**核心流程:**
1. 应用将日志写入本地文件(按约定目录结构)
2. Promtail 以 tail 方式持续读取日志文件
3. Pipeline stages 对日志行进行解析、打标签、多行合并
4. 带标签的日志推送至 Loki Gateway
---
## 配置结构说明
Promtail 配置分为四大块:
```yaml
server: # HTTP/gRPC 监听端口
positions: # 读取位置记录(断点续传)
clients: # Loki 推送目标
scrape_configs: # 日志采集任务定义
```
### server
```yaml
server:
http_listen_port: 3100 # Promtail 自身 metrics/health 端口
grpc_listen_port: 0 # 0 = 禁用 gRPC
```
### positions
```yaml
positions:
filename: /var/lib/promtail/positions.yaml # 记录每个文件的读取偏移量
sync_period: 10s # 刷盘周期
```
> **重要:** `positions` 保证 Promtail 重启后从上次位置继续读取,不丢失也不重复。生产环境必须配置。
