Traefik 集成
编辑Traefik 集成
编辑概述
编辑Traefik 是一种现代反向代理和负载均衡器,可帮助管理和路由传入的 Web 流量到用户的应用程序。它旨在动态调整用户基础设施的变化,使其易于部署和扩展用户的服务。Traefik 与容器化环境集成良好,并提供诸如自动 SSL 证书管理和对多个后端的支持等功能。
使用 Traefik 集成来
- 收集与访问相关的日志。
- 创建信息丰富的可视化,以跟踪使用趋势、衡量关键日志并获得可操作的业务见解。
- 设置警报,通过在故障排除期间快速参考相关日志来最大程度地缩短平均检测时间 (MTTD) 和平均解决时间 (MTTR)。
数据流
编辑Traefik 集成收集日志数据。
日志帮助用户记录用户机器上发生的事件。用户可以通过访问 Log
数据流来监控和排除 Traefik 实例的性能故障,其中包括客户端 IP、主机、用户名、请求地址、持续时间和内容。
数据流
-
access
:收集与客户端 IP、主机、用户名、请求地址、持续时间和内容相关的信息。
注意
- 用户可以在
Discover
的logs-*
索引模式中监控和查看 Traefik 摄取文档中的日志。
兼容性
编辑Traefik 数据集已在 Traefik 1.6、1.7 和 2.9 版本中进行过测试。
先决条件
编辑用户需要 Elasticsearch 来存储和搜索用户的数据,以及 Kibana 来可视化和管理数据。用户可以使用我们 Elastic Cloud 上托管的 Elasticsearch 服务(推荐),或在用户自己的硬件上自行管理 Elastic Stack。
设置
编辑有关如何设置集成的分步说明,请参阅入门指南。
验证
编辑成功配置集成后,单击 Traefik 集成的“资产”选项卡应显示可用仪表板的列表。单击为用户配置的数据流提供的仪表板。它应填充所需的数据。
指标
编辑注意
日志
编辑访问日志
编辑access
数据流收集 Traefik 访问日志。此数据流收集与客户端 IP、主机、用户名、请求地址、持续时间和内容相关的日志。
access
的示例事件如下
示例
access
的示例事件如下
{ "@timestamp": "2024-02-09T11:53:32.609696286Z", "destination": { "address": "10.1.25.243", "ip": "10.1.25.243", "port": 80 }, "ecs": { "version": "8.11.0" }, "event": { "category": [ "web" ], "created": "2020-04-28T11:07:58.223Z", "duration": 59518533, "ingested": "2024-02-13T16:08:40.190327617Z", "kind": "event", "original": "{\"ClientAddr\": \"10.10.8.105:48376\",\"ClientHost\": \"175.16.199.10\",\"ClientPort\": \"48376\",\"ClientUsername\": \"-\",\"DownstreamContentSize\": 88,\"DownstreamStatus\": 200,\"Duration\": 59518533,\"OriginContentSize\": 88,\"OriginDuration\": 59428568,\"OriginStatus\": 200,\"Overhead\": 89965,\"RequestAddr\": \"api-students.unpad.ac.id\",\"RequestContentSize\": 0,\"RequestCount\": 75,\"RequestHost\": \"api-students.unpad.ac.id\",\"RequestMethod\": \"GET\",\"RequestPath\": \"/api/v1/study/140410210038/card/comment\",\"RequestPort\": \"-\",\"RequestProtocol\": \"HTTP/1.0\",\"RequestScheme\": \"http\",\"RetryAttempts\": 0,\"RouterName\": \"app-unpad-students-api-prod-app-unpad-students-api-api-students-unpad-ac-id-api@kubernetes\",\"ServiceAddr\": \"10.1.25.243:80\",\"ServiceName\": \"app-unpad-students-api-prod-app-unpad-students-api-80@kubernetes\",\"ServiceURL\": {\"Scheme\": \"http\",\"Opaque\": \"\",\"User\": null,\"Host\": \"10.1.25.243:80\",\"Path\": \"\",\"RawPath\": \"\",\"OmitHost\": false,\"ForceQuery\": false,\"RawQuery\": \"\",\"Fragment\": \"\",\"RawFragment\": \"\"},\"StartLocal\": \"2024-02-09T11:53:32.609696286Z\",\"StartUTC\": \"2024-02-09T11:53:32.609696286Z\",\"entryPointName\": \"web\",\"level\": \"info\",\"msg\": \"\",\"time\": \"2024-02-09T11:53:32Z\"}", "outcome": "success", "type": [ "access" ] }, "http": { "request": { "body": { "bytes": 0 }, "method": "GET" }, "response": { "body": { "bytes": 88 }, "status_code": 200 }, "version": "1.0" }, "log": { "level": "info" }, "network": { "community_id": "1:Mgo2d5qbyedZ2JnxvcBh0BuPcWk=", "transport": "tcp" }, "observer": { "egress": { "interface": { "name": "app-unpad-students-api-prod-app-unpad-students-api-80@kubernetes" } }, "ingress": { "interface": { "name": "web" } }, "product": "traefik", "type": "proxy", "vendor": "traefik" }, "related": { "ip": [ "10.10.8.105", "10.1.25.243" ] }, "source": { "address": "10.10.8.105:48376", "ip": "10.10.8.105", "port": 48376 }, "tags": [ "preserve_original_event" ], "traefik": { "access": { "origin": { "content_size": 88, "duration": 59428568, "status_code": 200 }, "overhead": 89965, "request_count": 75, "retry_attempts": 0, "router": { "name": "app-unpad-students-api-prod-app-unpad-students-api-api-students-unpad-ac-id-api@kubernetes" }, "service": { "url": { "domain": "10.1.25.243:80", "force_query": false, "fragment": "", "opaque": "", "path": "", "raw_path": "", "raw_query": "", "user": null } } } }, "url": { "domain": "api-students.unpad.ac.id", "original": "/api/v1/study/140410210038/card/comment", "scheme": "http" }, "user": { "name": "-" } }
ECS 字段参考
有关 ECS 字段的详细信息,请参阅以下文档。
导出的字段
字段 | 描述 | 类型 |
---|---|---|
@timestamp |
事件时间戳。 |
date |
data_stream.dataset |
数据流数据集。 |
constant_keyword |
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
data_stream.type |
数据流类型。 |
constant_keyword |
event.dataset |
事件数据集 |
constant_keyword |
event.module |
事件模块 |
constant_keyword |
http.request.headers.* |
受监控的 HTTP 请求的规范标头。 |
object |
http.response.headers.* |
受监控的 HTTP 响应的规范标头。 |
object |
input.type |
输入类型 |
keyword |
log.offset |
日志偏移量 |
long |
traefik.access.origin.content_size |
源服务器指定的内容长度,如果未指定则为 0。 |
long |
traefik.access.origin.duration |
源服务器(上游)返回其响应所花费的时间(以纳秒为单位)。 |
long |
traefik.access.origin.headers.* |
受监控的 HTTP 请求的规范标头。 |
object |
traefik.access.origin.status_code |
源服务器返回的 HTTP 状态代码。如果请求由此 Traefik 实例处理(例如,使用重定向),则此值将不存在 (0)。 |
long |
traefik.access.origin.status_line |
OriginStatus + 状态代码说明 |
keyword |
traefik.access.overhead |
Traefik 造成的处理时间开销(以纳秒为单位) |
long |
traefik.access.request_count |
自 Traefik 实例启动以来收到的请求数。 |
long |
traefik.access.retry_attempts |
请求重试的次数 |
long |
traefik.access.router.name |
Traefik 路由器的名称 |
keyword |
traefik.access.service.address |
Traefik 后端的 IP:端口(从 ServiceURL 中提取) |
keyword |
traefik.access.service.duration |
源服务器(上游)返回其响应所花费的时间(以纳秒为单位)。 |
long |
traefik.access.service.url.domain |
URL 的域 |
keyword |
traefik.access.service.url.force_query |
Traefik 特定的 URL 字段 |
boolean |
traefik.access.service.url.fragment |
URL 的片段 |
keyword |
traefik.access.service.url.opaque |
Traefik 特定的 URL 字段 |
keyword |
traefik.access.service.url.original |
通用日志格式中使用的 Traefik URL |
keyword |
traefik.access.service.url.path |
URL 的路径 |
keyword |
traefik.access.service.url.query |
URL 的查询字符串 |
keyword |
traefik.access.service.url.raw_path |
Traefik 特定的 URL 字段 |
keyword |
traefik.access.service.url.raw_query |
Traefik 特定的 URL 字段 |
keyword |
traefik.access.service.url.scheme |
URL 的方案 |
keyword |
traefik.access.service.url.username |
URL 的用户名 |
keyword |
traefik.access.user_identifier |
是否为客户端的 RFC 1413 标识 |
keyword |
变更日志
编辑变更日志
版本 | 详细信息 | Kibana 版本 |
---|---|---|
2.3.0 |
增强功能 (查看拉取请求) |
8.13.0 或更高版本 |
2.2.0 |
增强功能 (查看拉取请求) |
8.13.0 或更高版本 |
2.1.0 |
增强功能 (查看拉取请求) |
8.9.0 或更高版本 |
2.0.0 |
增强功能 (查看拉取请求) |
8.9.0 或更高版本 |
1.11.1 |
增强功能 (查看拉取请求) |
8.9.0 或更高版本 |
1.11.0 |
增强功能 (查看拉取请求) |
8.9.0 或更高版本 |
1.10.0 |
增强功能 (查看拉取请求) |
8.9.0 或更高版本 |
1.9.1 |
增强功能 (查看拉取请求) |
8.9.0 或更高版本 |
1.9.0 |
增强功能 (查看拉取请求) |
8.0.0 或更高版本 |
1.8.1 |
错误修复 (查看拉取请求) |
8.0.0 或更高版本 |
1.8.0 |
增强功能 (查看拉取请求) |
8.0.0 或更高版本 |
1.7.0 |
增强功能 (查看拉取请求) |
8.0.0 或更高版本 |
1.6.1 |
增强功能 (查看拉取请求) |
8.0.0 或更高版本 |
1.6.0 |
增强功能 (查看拉取请求) |
8.0.0 或更高版本 |
1.5.0 |
增强功能 (查看拉取请求) |
8.0.0 或更高版本 |
1.4.2 |
错误修复 (查看拉取请求) |
8.0.0 或更高版本 |
1.4.1 |
增强功能 (查看拉取请求) |
8.0.0 或更高版本 |
1.4.0 |
增强功能 (查看拉取请求) |
8.0.0 或更高版本 |
1.3.1 |
增强功能 (查看拉取请求) |
7.14.0 或更高版本 |
1.3.0 |
增强功能 (查看拉取请求) |
7.14.0 或更高版本 |
1.2.2 |
错误修复 (查看拉取请求) |
7.14.0 或更高版本 |
1.2.1 |
错误修复 (查看拉取请求) |
7.14.0 或更高版本 |
1.2.0 |
增强 (查看拉取请求) |
7.14.0 或更高版本 |
1.1.2 |
增强 (查看拉取请求) |
7.14.0 或更高版本 |
1.1.1 |
错误修复 (查看拉取请求) |
— |
1.1.0 |
增强 (查看拉取请求) |
7.14.0 或更高版本 |
1.0.0 |
增强 (查看拉取请求) |
— |
0.4.3 |
增强 (查看拉取请求) |
— |
0.4.2 |
增强 (查看拉取请求) |
— |
0.4.1 |
增强 (查看拉取请求) |
— |
0.4.0 |
增强 (查看拉取请求) |
— |
0.3.0 |
增强 (查看拉取请求) |
— |
0.2.0 |
增强 (查看拉取请求) |
— |
0.1.2 |
错误修复 (查看拉取请求) |
— |
0.1.1 |
增强 (查看拉取请求) 增强 (查看拉取请求) |
— |
0.1.0 |
增强 (查看拉取请求) |
— |