ingress 作为集群中接入层的资源对象,其稳定性与业务质量息息相关。本文为您介绍集群中自定义 Nginx Ingress Controller 的监控最佳实践。
容器服务支持在集群中同时部署多套独立的 Nginx Ingress Controller 服务,各服务之间互不影响,包括:
默认情况下,自定义 Nginx Ingress Controller 的日志没有进行采集和持久化存储,需要您进行配置开启,实现自定义 Nginx Ingress Controller 日志持久化采集、存储以及查询。
配置项 | 说明 |
---|---|
规则名称 | 配置采集规则的名称。在同一个集群下,名称必须唯一。 |
采集类型 | 配置日志采集类型,本例中选择 K8s 容器标准输出。 |
采集信息 | 配置日志采集信息,本例中选择 标准输出-stdout 和 标准错误-stderr。 |
K8s 采集规则 | 勾选 启用,并基于命名空间、作负载名称等参数指定需要进行日志采集的容器。
|
说明
更多容器日志采集规则的配置方式和参数解释,请参见 采集容器标准输出。
您可以在集群中开启云原生观测功能,实现对自定义 Nginx Ingress Controller 的监控和告警。
说明
*-ingress-nginx-controller-metrics
的服务。其中 *
代表您自定义的名称。例如:本例中的服务名称为nginx-ingress-nginx-controller-metrics
。...
> 更新,为服务配置如下 Annotation,实现服务发现。prometheus.io/scrape: "true" # 配置为 true 表示开启采集 prometheus.io/port: "10254" # 配置为采集指标暴露的端口号 prometheus.io/path: "/metrics" # 填写指标暴露的 URI 路径,一般是 /metrics
在 Namespace 下拉菜单中,选择 ingress 所在的命名空间。
在 ingressClass 下拉菜单中,选择 ingress 的类型。包括系统默认 ingress-nginx 和自定义 Nginx Ingress Controller。
在 Pod 下拉菜单中,指定具体的 Pod。
说明
更多监控看板详情,请参见 Ingress 服务观测。
托管 Prometheus 支持配置资源告警策略。您可以在控制台上使用 Ingress 服务观测 配置告警。当监控数据达到阈值,触发告警后,系统会将告警资源、故障类型、当前值、告警持续时间等详细信息发送给告警联系人。
托管 Prometheus 支持多种类型的告警通知方式,包括:邮件、飞书、钉钉、电话等。详细的配置方式,请参见: