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_procsnginx-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)) * 1000histogram_quantile(0.95, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{status="200"}[1m])) by (le, ingress, host, path)) * 1000histogram_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页

K8s集群nginx-ingress监控告警最佳实践的更多相关文章
- 基于k8s集群部署prometheus监控ingress nginx
目录 基于k8s集群部署prometheus监控ingress nginx 1.背景和环境概述 2.修改prometheus配置 3.检查是否生效 4.配置grafana图形 基于k8s集群部署pro ...
- rancher导入k8s集群后添加监控无数据
1.日志报错 rancher导入k8s集群后添加监控无数据,rancher日志报错: k8s.io/kube-state-metrics/pkg/collectors/builder.go:: Fai ...
- 基于k8s集群部署prometheus监控etcd
目录 基于k8s集群部署prometheus监控etcd 1.背景和环境概述 2.修改prometheus配置 3.检查是否生效 4.配置grafana图形 基于k8s集群部署prometheus监控 ...
- 在 Kubernetes 容器集群,微服务项目最佳实践
转载自:https://mp.weixin.qq.com/s/WYu3gDwKKf06f_FYbO9YRg 本文主要介绍我个人在使用 Kubernetes 的过程中,总结出的一套「Kubernetes ...
- 使用kubeoperator安装的k8s集群配置Ingress规则有关说明
单独创建一个nginx 在 Deployment 里创建一个nginx工作负载,镜像用:nginx:alpine,并配置service为ClusterIP,然后添加Ingress规则 本地主机host ...
- kubernetes集群全栈监控报警方案kube-prometheus
参考文档 http://www.servicemesher.com/blog/prometheus-operator-manual/ https://github.com/coreos/prometh ...
- kubernetes生态--交付prometheus监控及grafana炫酷dashboard到k8s集群
由于docker容器的特殊性,传统的zabbix无法对k8s集群内的docker状态进行监控,所以需要使用prometheus来进行监控: 什么是Prometheus? Prometheus是由Sou ...
- 如何使用helm优雅安装prometheus-operator,并监控k8s集群微服务
前言:随着云原生概念盛行,对于容器.服务.节点以及集群的监控变得越来越重要.Prometheus 作为 Kubernetes 监控的事实标准,有着强大的功能和良好的生态.但是它不支持分布式,不支持数据 ...
- 基于prometheus监控k8s集群
本文建立在你已经会安装prometheus服务的基础之上,如果你还不会安装,请参考:prometheus多维度监控容器 如果你还没有安装库k8s集群,情参考: 从零开始搭建基于calico的kuben ...
- Kubernetes之利用prometheus监控K8S集群
prometheus它是一个主动拉取的数据库,在K8S中应该展示图形的grafana数据实例化要保存下来,使用分布式文件系统加动态PV,但是在本测试环境中使用本地磁盘,安装采集数据的agent使用Da ...
随机推荐
- mysql中innodb创建表的一些限制
1. 背景 在新创建mysql数据表的时候.不太确定表能创建多少个字段,多少个索引.索引多少有限制么?mysql的数据是怎么存储的存在在哪里. 2.基本个数限制 在MySQL5.6.9以后的版本,一个 ...
- Djiango视图层和模型层
Djiango 使用教程 目录 Djiango 使用教程 一. 视图层 1.1 HttpResponse,render,redirect 1.2 JsonResponse 1.3 form表单上传文件 ...
- STM32芯片SPI接口接收数据左移一位问题定位总结
一 问题 最近在一个项目中,调试SPI的过程中遇到一个问题--接收数据整体向左移了一位(1bit).SPI数据收发是数据交换,因此接收数据时从第二个字节开始才是有效数据,也就是数据整体向右移一个字节( ...
- python librosa 实例解析
一 概念 librosa是一个用于音乐和音频分析的python包.它提供了创建音乐信息检索系统所需的构建块. 核心函数: 二 实例解析 实例A,确认是否安装成功: import librosa ...
- 泰凌微2.4G无线私有协议芯片开发总结
案例 近些年,团队一直围绕着无线这块来做产品方案.一个无意的举动,接触到了泰凌微的2.4G私有协议芯片,发现这颗芯片在好几个场景中使用非常合适.就把这个芯片推荐给了客户,经过几个案子的历练.积 ...
- C++ 派生类对象的构造与析构过程
C++ 派生类对象的构造与析构过程 因为基类的成员变量和派生类的成员变量在内存中的连续的(下面程序会验证这一点),如下图所示: 所以构造派生类对象的时候,构造成员变量的过程就像入栈一样: 那么很自然, ...
- drf(分页、IP限制用户频率、自动生成文档、RBAC、django缓存)
一 分页 settings.py REST_FRAMEWORK = {'PAGE_SIZE': 2, } views.py # 分页 from rest_framework.pagination im ...
- 第144篇:阿里低开项目 init方法
好家伙, demo-general项目运行后主界面如下 解析阿里低开引擎中的初始化方法init 拆解项目来自阿里的lowcode engine目录下的 demo general项目 0.找到入口 ...
- Python简单程序设计(计算程序设计(公式)篇)
如题: 解题方式如下:
- Python简单程序设计(计算程序设计(存款利息)篇)
如题: 解题方式如下:



