
MyLab.Promtail 是基于 Promtail 开发的日志收集服务,用于从Docker容器中收集、处理日志并发送至 Grafana Loki 日志收集系统。该镜像以Docker容器形式部署在目标容器所在服务器,通过解析容器日志文件,添加元数据标签,并将处理后的日志数据转发至Loki,实现容器日志的集中管理。
!https://raw.githubusercontent.com/mylab-tools/promtail/master/doc/mylab-promtail.png
适用于需要集中管理Docker容器日志的场景,特别是:
需在主机上配置Docker日志驱动,确保容器日志以JSON格式存储并包含必要元数据。修改 /etc/docker/daemon.json 文件:
json{ "log-driver": "json-file", "log-opts": { "labels": "log_format", "tag": "{{.Name}}" } }
配置说明:
log-driver: "json-file":指定日志驱动为JSON文件格式labels: "log_format":启用容器标签log_format记录tag: "{{.Name}}":使用容器名称作为日志标签部署参数说明
| 参数 | 说明 | 示例 |
|---|---|---|
| 卷挂载 | /var/lib/docker/containers:主机容器日志目录/var/lib/promtail:持久化存储日志读取状态 | -v /var/lib/docker/containers:/var/lib/docker/containers-v promtail_data:/var/lib/promtail |
| 环境变量 | PROMTAIL_LOKI:Loki服务地址(无末尾斜杠)PROMTAIL_ENV:环境名称标识PROMTAIL_HOST:主机名称标识 | PROMTAIL_LOKI=http://192.168.0.1/lokiPROMTAIL_ENV=devPROMTAIL_HOST=primary.mycompany.host |
Docker Compose部署示例
yamlversion: '3.2' services: promtail: container_name: promtail image: mylabtools/promtail:0.0.3 volumes: - /var/lib/docker/containers:/var/lib/docker/containers - promtail_data:/var/lib/promtail environment: PROMTAIL_LOKI: http://192.168.0.1/loki PROMTAIL_ENV: dev PROMTAIL_HOST: dev-infonot volumes: promtail_data: {}
需为目标容器设置 log_format 标签,指定日志格式:
| 标签值 | 说明 |
|---|---|
nginx | 解析nginx访问日志 |
mylab-yaml | 解析MyLab.Log库生成的YAML格式日志 |
| 未指定 | 按默认单行文日志处理,不进行额外解析 |
配置示例(Docker Compose):
yamlservices: nginx: image: nginx:alpine labels: - "log_format=nginx" # 指定日志格式为nginx
通用日志标签
所有日志会自动添加以下标签:
container:容器名称(由Docker日志tag配置决定)env:环境标识(由PROMTAIL_ENV环境变量指定)host:主机名称(由PROMTAIL_HOST环境变量指定)format:日志格式(由容器log_format标签指定,如nginx、mylab-yaml)Nginx日志解析
Nginx日志会被解析为以下额外标签:
| 标签 | 说明 |
|---|---|
level | 日志级别: - error(含error/fail/failed等关键词)- warning(含warn关键词)- info(其他情况) |
http_method | HTTP请求方法(如GET、POST) |
http_status | HTTP响应状态码(如200、404) |
request_type | 请求类型: - api(请求路径以/api/开头)- metrics(请求路径为/metrics)- other(其他请求) |
request_url | 请求URL |
Nginx日志在Grafana中的展示示例: !https://raw.githubusercontent.com/mylab-tools/promtail/master/doc/nginx-log.png
MyLab.Log日志解析
MyLab.Log(YAML格式)日志会被解析为以下标签:
| 标签 | 说明 |
|---|---|
level | 日志级别,取自日志中的log_level字段,支持debug、warning、error |
MyLab.Log日志在Grafana中的展示示例: !https://raw.githubusercontent.com/mylab-tools/promtail/master/doc/mylab-yaml-log.png
以下是 mylabtools/promtail 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务