Promtail配置优化:为同站点Nginx日志统一添加站点标签
解决Nginx日志按站点和类型过滤的Promtail配置
你可以通过Promtail的pipeline_stages功能,从日志文件名中提取site和log_type标签,实现按站点和日志类型灵活过滤。以下是调整后的完整配置:
- job_name: reverseproxy-log static_configs: - labels: __path__: /var/log/nginx/*.log targets: - localhost pipeline_stages: - regex: expression: '/var/log/nginx/(?P<site>[^.]+)\.(?P<log_type>access|error)\.log' - labels: site: log_type:
配置说明:
- regex阶段:通过正则表达式从
filename字段中提取两个关键标识:site:匹配文件名中第一个.前的站点名称(如site-1)log_type:精准匹配access或error,标记日志类型
- labels阶段:将提取出的
site和log_type转为Loki可直接使用的查询标签
查询示例:
- 获取
site-1的所有日志:{site="site-1"} - 获取
site-1的访问日志:{site="site-1", log_type="access"} - 获取所有站点的错误日志:
{log_type="error"}
内容的提问来源于stack exchange,提问作者iAmoric
相关产品推荐
相关产品推荐

