Monitoring NGINX Ingress Controller

Monitoring NGINX Ingress Controller

在 GitLab 11.7 中引入 .

注意: 0.16.0 之前的 NGINX Ingress 版本提供了一个随附的 ,该导出器导出的指标与内置指标不同.

GitLab 支持自动检测和监视 Kubernetes NGINX Ingress 控制器. 这是通过利用 Kubernetes NGINX Ingress 控制器版本 0.16.0及更高的内置 Prometheus 指标来提供的.

Prometheus integration must be active.

对于其他部署,需要根据您的安装进行 :

  • NGINX Ingress 应该标注为 Prometheus 监视.
  • Prometheus 应该配置为监视带注释的容器.

使用官方 Helm 图表将 NGINX Ingress 部署到gitlab-managed-apps命名空间中. NGINX Ingress 将在外部访问 .

通过设置以下内容,将 NGINX 配置为进行 Prometheus 监视:

  • ,以导出 Prometheus 指标.
  • prometheus.io/scrape: "true" ,以启用自动发现.
  • prometheus.io/port: "10254" ,以指定度量标准端口.

与 GitLab 部署的 Prometheus 服务结合使用时,将自动收集响应指标.

Manually setting up NGINX Ingress for Prometheus monitoring

接下来,需要对 Ingress 进行注释,以进行 Prometheus 监视. 需要添加两个新的注释:

管理这些设置取决于如何部署 NGINX Ingress. 如果您通过官方 Helm 图表进行了部署,则可以使用controller.stats.enabled以及所需的注释来启用指标. 另外,也可以直接在编辑 NGINX Ingress YML.

为了隔离并仅显示给定环境的相关指标,GitLab 需要一种方法来检测关联了哪些标签. 为此,GitLab 将搜索带有适当标签的指标. 在这种情况下, ingress标签必须为 .

如果您使用自动部署来部署您的应用程序,则将自动使用此格式,并且无需您执行任何操作即可检测到指标.