tgbyte/mtaildocker-mtail是一个用于运行google/mtail工具的Docker镜像,基于scratch构建,旨在轻量级地从应用日志中提取白盒监控数据,并将其收集到时序数据库中。该镜像提供了便捷的容器化部署方式,适用于各类日志监控场景。
通过docker run命令启动容器,需挂载应用日志目录和mtail规则文件:
bashdocker run -d \ --name mtail \ -v /path/to/application/logs:/logs:ro \ -v /path/to/mtail/rules:/rules \ -p 3903:3903 \ dylanmei/mtail \ -logtostderr \ -progs /rules \ -logs /logs/*.log
| 参数 | 说明 |
|---|---|
-v /path/to/application/logs:/logs:ro | 挂载应用日志目录到容器内/logs路径,建议使用只读模式(:ro) |
-v /path/to/mtail/rules:/rules | 挂载mtail规则文件目录,规则文件需以.mtail为后缀 |
-p 3903:3903 | 暴露mtail的HTTP指标端口(默认3903),用于监控系统抓取指标 |
-logtostderr | 将mtail自身运行日志输出到标准错误流 |
-progs /rules | 指定mtail规则文件所在目录 |
-logs /logs/*.log | 指定需要监控的日志文件路径模式,支持通配符 |
在挂载的规则目录(如/path/to/mtail/rules)中创建.mtail规则文件,定义指标提取逻辑:
mtail# 示例:提取HTTP请求总数和状态码分布 counter http_requests_total counter http_requests_by_status{status_code=~"\\d+"} /^.* "GET .*" (?P<status>\d+) .*$/ { http_requests_total++ http_requests_by_status{status_code: status}++ } # 示例:提取响应时间指标 gauge response_time_seconds /^.* response_time=(?P<time>\d+\.\d+)s .*$/ { response_time_seconds = time }
容器启动后,可通过http://<容器IP>:3903/metrics访问提取的监控指标,指标格式符合Prometheus规范,可直接配置Prometheus进行抓取。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务