腾讯云容器服务 TKE 标准集群 - Nginx-ingress 日志配置
文档简介:
容器服务 TKE 通过集成日志服务 CLS,提供了全套完整的产品化能力,实现 Nginx-ingress 日志采集、消费能力。
Nginx-ingress 日志基础:
Nginx Controller 需要搜集以下日志并提供给用户:
Nginx Controller 日志:重要。控制面日志,记录了 Nginx Controller 控制面的修改。主要用于控制面排障,例如用户错误配置 Ingress 模板导致同步未进行等。
容器服务 TKE 通过集成日志服务 CLS,提供了全套完整的产品化能力,实现 Nginx-ingress 日志采集、消费能力。
Nginx-ingress 日志基础
Nginx Controller 需要搜集以下日志并提供给用户:
Nginx Controller 日志:重要。控制面日志,记录了 Nginx Controller 控制面的修改。主要用于控制面排障,例如用户错误配置 Ingress 模板导致同步未进行等。
AccessLog 日志:重要。用户数据面日志,记录了用户的七层请求相关信息。主要用于提供给用户进行数据分析、审计、业务排障等。
ErrorLog 日志:一般。Nginx 的内部错误日志。
默认配置下,AccessLog 和 Nginx Controller 日志会混合到标准输出流,日志采集将遇到困难。本文向您介绍如何对日志路径进行区分后分别收集日志。
前提条件
已在容器服务控制台的 功能管理 中开启日志采集,详情参见 开启日志采集。
TKE Nginx-ingress 采集日志
采集日志步骤
1. 为目标集群 安装 Nginx-ingress 组件。
2. 在服务与路由 > NginxIngress中,选择已安装的实例名称,进入组件详情页。如下图所示:

3. 在运维标签页,选择日志配置右侧的重新设置。如下图所示:


4. 在弹出的窗口中选择指定的日志集,如不制定将创建新的日志集。如下图所示:


5. 单击立即启用即可完成日志采集配置。
注意
日志服务具体计费规则和收费标准请参见 CLS 计费概述 。
采集日志指标
采集日志的指标如下所示:
apiVersion: cls.cloud.tencent.com/v1kind: LogConfigmetadata:name: nginx-ingress-testresourceVersion: "7169042"selfLink: /apis/cls.cloud.tencent.com/v1/logconfigs/nginx-ingress-testuid: 67c96f86-4160-****-****-f6faf8d544dcspec:clsDetail:extractRule:beginningRegex: (\S+)\s-\s(\S+)\s\[(\S+)\]\s(\S+)\s\"(\w+)\s(\S+)\s([^\"]+)\"\s(\
S+)\s(\S+)\s\"([^"]*)\"\s\"([^"]*)\"\s(\S+)\s(\S+)\s\[([^\]]*)\]\s\[([^\]]*)\]\s\[
([^\]]*)\]\s\[([^\]]*)\]\s\[([^\]]*)\]\s\[([^\]]*)\]\s(\S+)
keys:- remote_addr- remote_user- time_local- timestamp- method- url- version- status- body_bytes_sent- http_referer- http_user_agent- request_length- request_time- proxy_upstream_name- proxy_alternative_upstream_name- upstream_addr- upstream_response_length- upstream_response_time- upstream_status- req_idlogRegex: (\S+)\s-\s(\S+)\s\[(\S+)\]\s(\S+)\s\"(\w+)\s(\S+)\s([^\"]+)\"\s(\S+)\s(\S+)
\s\"([^"]*)\"\s\"([^"]*)\"\s(\S+)\s(\S+)\s\[([^\]]*)\]\s\[([^\]]*)\]\s\[([^\]]*)\]\s\[(
[^\]]*)\]\s\[([^\]]*)\]\s\[([^\]]*)\]\s(\S+)
logType: fullregex_logtopicId: 56766bad-368e-****-****-ed77ebcdefa8inputDetail:containerFile:container: controllerfilePattern: nginx_access.loglogPath: /var/log/nginxnamespace: defaultworkload:kind: deploymentname: nginx-ingress-nginx-controllertype: container_file
Nginx-ingress 日志仪表盘
TKE Nginx-ingress 开启日志采集功能将会自动为您创建一个标准的日志仪表盘,您也可以根据业务需要自行在 CLS 控制台配置图表。如下图所示:


相关文档
如果需要自定义日志采集规则和索引,请参考 NginxIngress 自定义日志。