06.3、Promtail配置
Promtail 配置
Promtail 是 Loki 的日志收集代理,负责收集本地日志文件并发送到 Loki。本节将学习:Promtail 配置文件结构、日志路径配置、以及标签配置方法。
Promtail 简介
Promtail 是什么? Promtail 是 Loki 的日志收集代理。它收集本地日志文件,添加标签,发送到 Loki,支持多种日志格式。
Promtail 有什么核心功能呢?
第一个功能:日志文件监控。 监控指定目录下的日志文件,自动发现新文件,跟踪文件变化。Promtail 会持续监控日志文件。
第二个功能:标签添加。 静态标签、动态标签(从日志提取)、从文件路径提取标签。标签用于组织和查询日志。
第三个功能:日志解析。 JSON 格式、普通文本格式、正则表达式解析。可以解析不同格式的日志。
第四个功能:发送到 Loki。 批量发送、重试机制、错误处理。确保日志能可靠地发送到 Loki。
Promtail 工作流程: 日志文件 → Promtail → 监控文件变化 → 读取日志 → 添加标签 → 解析日志 → 发送到 Loki。这是一个持续的过程。
这就是 Promtail。它是 Loki 日志系统的重要组成部分。
配置文件结构
Promtail 配置文件有什么结构呢?
第一个配置块:server。 http_listen_port:HTTP 监听端口(默认 9080),grpc_listen_port:gRPC 监听端口(0 表示禁用)。server 配置 Promtail 服务的监听端口。
第二个配置块:positions。 filename:位置文件路径,用于跟踪文件读取位置。positions 文件用于记录 Promtail 读取日志文件的位置。
第三个配置块:clients。 url:Loki 的推送地址,可以配置多个 Loki 实例。clients 配置 Promtail 将日志发送到哪个 Loki 实例。
第四个配置块:scrape_configs。 job_name:作业名称,static_configs:静态配置,labels:标签配置,path:日志文件路径。scrape_configs 配置要收集哪些日志。
配置层次: Promtail 配置包括 server(服务配置)、positions(位置文件)、clients(Loki 客户端)、scrape_configs(日志收集配置)。
理解这个结构很重要。
日志路径配置
配置日志路径有什么方式呢?
第一种方式:单个文件。
/var/log/app.log第二种方式:通配符匹配。
/var/log/*.log第三种方式:递归匹配。
/var/log/**/*.log路径模式: 单个文件、通配符、递归、正则表达式。选择适合你的路径模式。
路径配置流程: 日志路径配置 → 单个文件/通配符/递归 → 收集日志。
注意事项:
- 文件权限: 确保 Promtail 有权限读取日志文件。
- 文件轮转: Promtail 会自动处理文件轮转。
- 新文件发现: Promtail 会自动发现新文件。
选择合适的路径模式,可以高效收集日志。
标签配置
标签有什么类型呢?
第一种类型:静态标签。 固定的标签值,例如
job: appenvironment: productionregion: us-east-1第二种类型:从文件路径提取标签。 使用正则表达式从文件路径中提取标签,例如
/var/log/(?P<service>\w+)/(?P<instance>\w+)\.log第三种类型:从日志内容提取标签。 从日志内容中提取标签,例如 JSON 格式的日志,提取
levelservice标签配置示例: 标签配置包括静态标签(固定值)、路径提取(从文件路径)、内容提取(从日志内容)。这些标签会添加到日志流。
标签的作用:
- 组织日志: 标签用于组织和查询日志。
- 过滤查询: 使用标签可以快速过滤日志。
- 关联指标: 标签可以与 Prometheus 指标关联。
合理配置标签,可以让日志查询更高效。
本节小结
在本节中,我们学习了 Promtail 配置:
第一个是 Promtail 简介。 Promtail 是日志收集代理,收集本地日志文件,添加标签,发送到 Loki。
第二个是配置文件结构。 server、positions、clients、scrape_configs。理解配置文件结构很重要。
第三个是日志路径配置。 单个文件、通配符、递归匹配。选择合适的路径模式,可以高效收集日志。
第四个是标签配置。 静态标签、路径提取、内容提取。合理配置标签,可以让日志查询更高效。
Promtail 配置总结: Promtail 配置包括配置文件结构、日志路径配置、标签配置。这些配置组合在一起,构成了完整的 Promtail 配置。
这就是 Promtail 配置。掌握这些配置方法,可以高效收集和发送日志。
在下一节,我们将学习静态标签 vs 动态标签。学习标签的配置和使用。