首页 > 系统相关 >K8s集群nginx-ingress监控告警最佳实践

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

时间:2024-04-18 09:58:00浏览次数:58  
标签:ingress sum 指标 nginx controller 告警 K8s

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

一 背景

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

二 方案简介

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

image.png

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

CCE监控插件对接AOM:

image.png

image.png

AOM查看nginx-ingress

image.png

三 nginx-ingress关键指标

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

image.png

  • 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页

image.png

配置告警规则

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

image.png

image.png

配置告警通知规则

image.png

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

image.png

 

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

 

标签:ingress,sum,指标,nginx,controller,告警,K8s
From: https://www.cnblogs.com/huaweiyun/p/18142852

相关文章

  • NGINX Ingress Controller 设置未配置过的域名增加默认路由
    背景k8s集群对应的公网slbip经常被人绑定域名,监控侧经常会收集到502相关状态码的异常告警,着手处理这种badcase策略1.所有没有在ingress配置过的域名要进行处理,即不是公司的、非法绑定到slb上的域名要加上一条策略2.NGINXIngressController设置未配置过的域名......
  • 这篇 DolphinScheduler on k8s 云原生部署实践,值得所有大数据人看!
    在当前快速发展的技术格局中,企业寻求创新解决方案来简化运营并提高效率成为一种趋势。ApacheDolphinScheduler作为一个强大的工具,允许跨分布式系统进行复杂的工作流任务调度。本文将深入探讨如何将ApacheDolphinScheduler适配并整合进现代IT环境,提升其在云原生部署中的表现。......
  • k8s快速部署xxl-job
    1.初始化数据库wgethttps://raw.githubusercontent.com/xuxueli/xxl-job/2.1.2/doc/db/tables_xxl_job.sqlmysql-uroot-psource/root/tables_xxl_job.sql;CREATEUSER't1_zdbl_xxl_job'@'%'IDENTIFIEDBY'OYP!z5%0O2lALdLi';GRANTALL......
  • k8s安装seata单机版
    1.初始seata数据库wgethttps://raw.githubusercontent.com/apache/incubator-seata/1.3.0/script/server/db/mysql.sqlmysql-uroot-pCREATEDATABASEIFNOTEXISTSt1_zdbl_seataDEFAULTCHARSETutf8mb4COLLATEutf8mb4_general_ci;uset1_zdbl_seata;source/root......
  • k8s更新证书
    环境操作系统:centos7.9.2009集群架构:三个节点,一主两从,k8s版本v1.21.5,kubesphere安装的集群,应该算是kubeadm部署的集群ip:192.168.106.130,192.168.106.131,192.168.106.132集群状态:3个节点证书过期,全都挂掉这是我2022年在虚拟机装的集群,现在时间是2024年3月29日报错信息[root......
  • k8s证书
    查看证书过期时间kubeadmcertscheck-expiration更新证书kubeadmcertsrenewall也可以更新单个证书更新apiserver证书kubeadmcertsrenewapiserver更新apiserver-etcd-client证书kubeadmcertsrenewapiserver-etcd-client更新apiserver-kubelet-client证书......
  • k8s安装rabbbitmq
    1.创建rabbitmqpvc文件kind:PersistentVolumeClaimapiVersion:v1metadata:name:rabbitmq-datanamespace:t1-zdblspec:storageClassName:nfs-client#如果使用存储类自行替换,不是按具体情况配置accessModes:-ReadWriteManyresources:requests......
  • docker部署nginx
    拉取镜像dockerpullnginx创建映射目录mkdir-p/data/server/nginx/{conf,log,html}先创建一个nginx容器,然后将容器中的nginx.conf文件和conf.d文件夹复制到宿主机创建容器dockerrun-d--namenginx01-p20080:80nginx将容器中的nginx.conf文件复制到宿主机docker......
  • k8s快速创建MongoDB
    1.创建MongoDBpvc文件如果不需要持久存储可以忽略kind:PersistentVolumeClaimapiVersion:v1metadata:name:mongodb-datanamespace:t1-zdblspec:storageClassName:nfs-client#这里使用的存储类accessModes:-ReadWriteManyresources:reques......
  • docker compose部署nginx-proxy-manager
    dockercompose部署nginx-proxy-managerdocker-compose.yamlversion:'3'services:npm:image:jc21/nginx-proxy-manager:latestcontainer_name:npmrestart:alwaysenvironment:-TZ=Asia/Shanghaiports:-'30080......