容器服务 日志管理

容器服务 TKE 通过集成日志服务 CLS,提供了全套完整的产品化能力,实现 NginxIngress 日志采集、消费能力。

相关产品
容器服务 产品页,含版本规格、价格与购买入口。

注意:NginxIngress 扩展组件已停止更新,详情请参见 NginxIngress 扩展组件停止更新公告。

一、NginxIngress 日志基础

Nginx Controller 需要搜集以下日志并提供给用户:

·Nginx Controller 日志:重要。控制面日志,记录了 Nginx Controller 控制面的修改。主要用于控制面排障,例如用户错误配置 Ingress 模板导致同步未进行等。

·AccessLog 日志:重要。用户数据面日志,记录了用户的七层请求相关信息。主要用于提供给用户进行数据分析、审计、业务排障等。

·ErrorLog 日志:一般。Nginx 的内部错误日志。

默认配置下,AccessLog 和 Nginx Controller 日志会混合到标准输出流,日志采集将遇到困难。这篇向你介绍如何对日志路径进行区分后分别收集日志。

二、前提条件

已在容器服务控制台的 功能管理 中开启日志采集,详情参见 开启日志采集。

三、采集日志步骤

1. 为目标集群 安装 NginxIngress 组件。

2. 在服务与路由 > NginxIngress中,选择已安装的实例名称,进入组件详情页。如下:

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


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

5. 单击立即启用即可完成日志采集配置。

注意:日志服务具体计费规则和收费标准请参见 CLS 计费概述。

四、采集日志指标

采集日志的指标如下所示:

apiVersion: cls.cloud.tencent.com/v1kind: LogConfigmetadata: name: nginx-ingress-test resourceVersion: "7169042" selfLink: /apis/cls.cloud.tencent.com/v1/logconfigs/nginx-ingress-test uid: 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_id logRegex: (\\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_log topicId: 56766bad-368e-****-****-ed77ebcdefa8 inputDetail: containerFile: container: controller filePattern: nginx_access.log logPath: /var/log/nginx namespace: default workload: kind: deployment name: nginx-ingress-nginx-controller type: container_file

五、NginxIngress 日志仪表盘

TKE NginxIngress 开启日志采集功能后,你可以在 CLS 控制台使用预置的 Nginx 仪表盘对日志进行分析,详情请参见 Nginx 访问日志分析。也可从 NginxIngress 实例页面快捷跳转:

六、相关文档

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

赞 (0)
上一篇 4天前
下一篇 4天前