K8s集群nginx-ingress监控告警最佳实践

这篇具有很好参考价值的文章主要介绍了K8s集群nginx-ingress监控告警最佳实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文分享自华为云社区《K8s集群nginx-ingress监控告警最佳实践》,作者:可以交个朋友。

一 背景

nginx-ingress作为K8s集群中的关键组成部分。主要负责k8s集群中的服务发布,请求转发等功能。如果在访问服务过程中出现404和502等情况,需要引起注意。

二 方案简介

可以通过CCE集群插件kube-prometheus-stack进行nginx-ingress服务的指标监控,Grafana仪表盘视图可以自己制作或者导入开源模板,方便时刻观察nginx-ingress的各项运行指标是否处于健康状态。

CCE Prometheus监控指标数据统一remotewrite到华为云AOM2.0服务,可以在AOM2.0服务中展示Prometheus采集的指标数据,并根据业务实际诉求,实现基于指标的的告警通知。

CCE监控插件对接AOM:

AOM查看nginx-ingress

三 nginx-ingress关键指标

确保Prometheus已成功抓取nginx-ingress指标

  • nginx-ingress配置热加载失败次数
    count(nginx_ingress_controller_config_last_reload_successful{} == 0)

  • nginx-ingress每个nginx-ingress-controller实例的连接数
    sum(nginx_ingress_controller_nginx_process_connections) by (controller_namespace,controller_pod)

  • nginx-ingress每个nginx-ingress-controller实例中process数
    nginx_ingress_controller_nginx_process_num_procs

  • nginx-ingress每个nginx-ingress-controller实例的每秒请求数
    sum(irate(nginx_ingress_controller_requests{}[1m])) by (controller_namespace,controller_pod)

  • nginx-ingress请求时延
    histogram_quantile(0.90, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{status="200"}[1m])) by (le, ingress, host, path)) * 1000

    histogram_quantile(0.95, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{status="200"}[1m])) by (le, ingress, host, path)) * 1000

    histogram_quantile(0.99, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{status="200"}[1m])) by (le, ingress, host, path)) * 1000

  • 请求失败率
    sum(rate(nginx_ingress_controller_requests{status=~"[4-5].*"}[5m])) / sum(rate(nginx_ingress_controller_requests{}[5m])) * 100

四 如何根据nginx-ingress指标进行告警

前往AOM告警管理tab页

配置告警规则

选择指标告警规则,配置方式可使用PromQL语句,选择对应的AOM实例

配置告警通知规则

触发指标告警规则,邮箱收到告警

 文章来源地址https://www.toymoban.com/news/detail-855127.html

点击关注,第一时间了解华为云新鲜技术~

 

到了这里,关于K8s集群nginx-ingress监控告警最佳实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K8S集群实现外部访问(INGRESS)

    环境: master node01 node02 192.168.1.40 192.168.1.41 192.168.1.42 作用:Ingress 是对集群中服务的外部访问进行管理的 API 对象。 PS:创建nginx和httpd PS:namespace为ingress-nginx PS:它现在已经有一个模板,用来描述Ingress资源能够收集到的信息了 PS:有DNS的话可以设置解析,没有的话必须在h

    2024年01月19日
    浏览(31)
  • k8s配置ingress访问集群外部资源

    使用ingress访问外部资源,首先需要创建service指向我们需要访问的资源 而每个service包含一个endpoint endpoint是k8s集群中的一个资源对象,存储在etcd中,用来记录一个service对应的所有pod的访问地址。service配置selector,endpoint controller才会自动创建对应的endpoint对象;否则,不会生

    2024年02月09日
    浏览(30)
  • k8s部署ingress-nginx

    k8s服务对外暴露有三种方式 NodePort,LoadBalancer,Ingress Nodeport : 服务暴露需要在集群每个节点都开放一个同样的端口,通过 nodtIp:nodePort 来访问,如果服务数量多了,开放的端口就难以管理 LoadBalancer : 大部分情况下只适用于支持外部负载均衡器的云提供商(AWS,阿里云,华为云等)

    2024年02月04日
    浏览(25)
  • K8s环境下监控告警平台搭建及配置

    Promethues是可以单机搭建的,参考 prometheus入门 [1] 本文是就Promethues+Grafana在K8s环境下的搭建及配置 启动minikube minikube start 安装helm 使用Helm Chart 安装 Prometheus Operator: helm install prometheus-operator stable/prometheus-operator -n monitoring 报错: 根据 Kubernetes和微服务监控体系 [2] (搜索\\\"降低我们

    2024年02月13日
    浏览(33)
  • k8s集群使用ingress转发grafana服务

    在k8s集群中,使用ingress服务转发grafana的页面。 ingress方面增加路由规则和跨命名空间的service即可 grafana增加configmap挂载grafana.ini文件,增加匿名登陆配置和root_url配置 grafana.ini文件的yaml文件 grafana启动服务的yaml文件 我这里使用的pvc的存储类型是rook-ceph,使用其他存储类型的修

    2024年02月09日
    浏览(26)
  • prometheus监控k8s服务并告警到钉钉

    一、监控k8s集群 要监控k8s集群需要使用到以下服务用于收集监控的资源信息,node_exporter用于监控k8s集群节点的资源信息,kube-state-metrics用于监控k8s集群的deployment、statefulset、daemonset、pod等的状态,cadvisor用于监控k8s集群的pod资源信息 在k8s集群中创建monitoring的命名空间用于部

    2024年02月13日
    浏览(30)
  • K8S Nginx Ingress实现金丝雀发布

    通过给 Ingress 资源指定 Nginx Ingress 所支持的 annotation 可实现金丝雀发布。 需给服务创建2个 Ingress,其中 1个常规 Ingress , 另1个为带  nginx.ingress.kubernetes.io/canary: \\\"true\\\"  固定的 annotation 的 Ingress,称为 Canary Ingress。 Canary Ingress 一般代表新版本的服务,结合另外针对流量切分策

    2024年02月11日
    浏览(29)
  • K8s的ingress-nginx配置https

    在另一台机器上配置hosts解析www.yaoyao.com,然后访问 curl --cacert tls.crt https://www.yaoyao.com:10443 这里的10443端口是ingress-nginx-controller服务暴露的nodeport端口

    2024年02月07日
    浏览(26)
  • 关于k8s中ingress、Gateway、nginx之间关系

    在Kubernetes中,Ingress是一种用于将外部流量路由到集群内部服务的API对象。它通常与Ingress控制器一起使用,Ingress控制器负责根据Ingress规则路由外部流量到不同的服务上。 下面是使用Ingress的一些步骤: 安装Ingress控制器 在Kubernetes中,Ingress控制器是需要安装和配置的。有许多

    2024年02月09日
    浏览(25)
  • k8s 对外服务之 ingress|ingress的对外暴露方式|ingress http,https代理|ingress nginx的认证,nginx重写

    service的作用体现在两个方面,对集群内部,它不断跟踪pod的变化,更新endpoint中对应pod的对象,提供了ip不断变化的pod的服务发现机制;对集群外部,他类似负载均衡器,可以在集群内外部对pod进行访问。 在Kubernetes中,Pod的IP地址和service的ClusterIP仅可以在集群网络内部使用,

    2024年02月10日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包