范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

如何对Kubernetes中的IngressNGINX进行监控和预警

  我们将讨论如何在Kubernetes环境中为Nginx ingress设置监控和警报。
  我们将介绍ingress-nginx、Prometheus和Grafana的安装和配置,以及关键Ingress指标的警报设置。前提条件 :一个Kubernetes集群helm v3安装Prometheus和Grafana
  在这一步,我们将安装Prometheus来收集指标,并安装Grafana来可视化并根据这些指标创建警报。
  让我们通过在终端应用下面提到的命令来安装kube-prometheus-stack helm。这将设置Grafana、Prometheus和其他监控组件。# Add and update the prometheus-community helm repository.  helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo updatebash cat < /dev/null &   主机上的80端口是一个特权端口,所以我们不使用它。相反,我们将nginx服务的80端口与主机的8080端口绑定。你可以选择任何有效的端口。
  注意:如果你在任何云中运行,不需要端口转发,因为ingress-nginx服务的LoadBalancer将被自动创建,因为该服务类型默认定义为LoadBalancer。
  5. 现在,你可以运行下面的curl请求到podinfo端点,它应该以.NET的方式响应。curl http://podinfo.localdev.me:8080  "hostname": "podinfo-59cd496d88-8dcsx" "message": "greetings from podinfo v6.2.2"
  6. 你也可以在浏览器中获得更漂亮的外观,网址是:http://podinfo.localdev.me:8080/。
  为Ingress Nginx监控配置Grafana仪表盘
  要访问Grafana,你可以在浏览器中用凭证admin:admin : http://grafana.localdev.me:8080/,打开下面的URL。
  从这里复制nginx.json并粘贴到http://grafana.localdev.me:8080/dashboard/import,导入仪表盘。
  一旦导入,仪表板应该看起来像这样。
  生成样本载荷
  为了获得我的podinfo应用程序的流量,我们将使用 vegeta 作为负载测试工具。请从这里安装它。
  让我们生成一个HTTP 4xx流量样本。要做到这一点,你可以运行下面的命令,它将以10 RPS的请求率运行10分钟。echo "GET http://podinfo.localdev.me:8080/status/400" | vegeta attack -duration=10m -rate=10/s 你只需将状态代码从400改为500,然后也可以运行,以测试5xx的吞吐量。
  对于延迟测试,我使用了以下命令作为GET /delay/{seconds}等待指定的时间。echo "GET http://podinfo.localdev.me:8080/delay/3" | vegeta attack -duration=10m -rate=100/s
  注意:你可以从这里阅读更多关于podinfo应用程序中可用的端点。用Grafana对SLI指标进行预警
  较新的Grafana带有自己的警报引擎。这有助于将所有的配置、规则、甚至发射警报都放在一个地方。
  让我们来配置普通SLI的警报。4XX错误率让我们通过访问http://grafana.localdev.me:8080/alerting/new 来创建一个警报。我们可以用以下公式得到4xx错误率的百分比。
  (4xx请求的总数/请求总数) *100
  3. 为查询添加以下表达式。(sum(rate(nginx_ingress_controller_requests{status=~"4.."}[1m])) by (ingress) / sum(rate(nginx_ingress_controller_requests[1m])) by (ingress)) * 100 > 5
  4. 在表达式B中,对输入A使用Reduce操作和函数Mean。
  5. 在 "警报详情 "中,根据你的喜好命名该警报,我将其命名为Ingress_Nginx_4xx。
  6. 对于Summary,我们可以尽量缩短,只显示带有标签{{$labels.ingress }}的Ingress名称。Ingress High Error Rate : 4xx on *{{ $labels.ingress }}*
  7. 对于描述,我使用printf"%0.2f "来显示百分比值上最多两个小数。4xx : High Error rate : `{{ printf "%0.2f" $values.B.Value }}%` on *{{ $labels.ingress }}*.
  8. 整个警报配置应该类似于下面的快照。
  9. 最后,你可以添加一个自定义标签,如严重程度:关键。5XX错误率
  与4xx警报配置类似,5xx错误率也可以通过以下查询来查询。sum(rate(nginx_ingress_controller_requests{status=~"5.."}[1m])) by (ingress,cluster) / sum(rate(nginx_ingress_controller_requests[1m]))by (ingress) * 100 > 5
  注意:我将警报配置为当5xx/4xx百分比>5%时被触发。你可以根据你的错误预算来设置它。高延时 (p95)
  为了计算过去15分钟内请求持续时间的第95百分位数,我们可以使用nginx_ingress_controller_request_duration_seconds_bucket指标。
  它给出了以毫秒为单位的请求处理时间,由于它是一个桶,我们可以使用histogram_quantile函数。
  创建一个类似于上述例子的警报,并使用以下查询。histogram_quantile(0.95,sum(rate(nginx_ingress_controller_request_duration_seconds_bucket[15m])) by (le,ingress)) > 1.5
  我把阈值设置为1.5秒,它可以根据你的SLO进行更新。高请求率
  为了得到每秒的请求率(RPS),我们可以使用以下查询。sum(rate(nginx_ingress_controller_requests[5m])) by (ingress) > 2000
  上述查询将在请求率大于2000RPS时触发警报。其他需要考虑的SLI
  连接率。这是对Nginx ingress的活动连接数的测量,可以用来识别连接处理的潜在问题。rate(nginx_ingress_controller_nginx_process_connections{ingress="ingress-name"}[5m])
  上游响应时间。底层服务响应一个请求所需的时间,这将有助于识别服务的问题,而不仅仅是入口的问题。histogram_quantile(0.95,sum(rate(nginx_ingress_controller_response_duration_seconds_bucket[15m])) by (le,ingress)) Slack警报模板
  为了使警报信息有意义,我们可以在Grafana中使用警报模板。为了配置它们,进入http://grafana.localdev.me:8080/alerting/notifications,通过粘贴以下代码块创建一个名为slack的新模板。{{ define "alert_severity_prefix_emoji" -}}      {{- if ne .Status "firing" -}}               :white_check_mark:           {{- else if eq .CommonLabels.severity "critical" -}}                    :fire:                {{- else if eq .CommonLabels.severity "warning" -}}                         :warning:                     {{- end -}}                      {{- end -}}                                              {{ define "slack.title" -}}                            {{ template "alert_severity_prefix_emoji" . }}  {{- .Status | toUpper -}}{{- if eq .Status "firing" }} x {{ .Alerts.Firing | len -}}{{- end }}  |  {{ .CommonLabels.alertname -}}                                                                             {{- end -}}                                                                                                                                                            {{- define "slack.text" -}}                                                                               {{- range .Alerts -}}                                                                                {{ if gt (len .Annotations) 0 }}                                                                                *Summary*: {{ .Annotations.summary}}                                                                                *Description*: {{ .Annotations.description }}                                                                                Labels:                                                                                 {{ range .Labels.SortedPairs }}{{ if or (eq .Name "ingress") (eq .Name "cluster") }}• {{ .Name }}: `{{ .Value }}`                                                                                {{ end }}{{ end }}                                                                                {{ end }}                                                                                {{ end }}                                                                                {{ end }}
  2. 配置一个新的Slack类型的联系点。为此,你需要从Slack创建一个传入的webhook。更详细的步骤请参考此文档。
  3. 编辑接触点的松弛,向下滚动并选择可选松弛设置选项。
  4. 在 "标题 "中,输入以下内容以指定要使用的模板。{{ template "slack.title" . }}
  5. 在文本主体中,输入以下内容并保存。{{ template "slack.text" . }}
  6. 进入http://grafana.localdev.me:8080/alerting/routes,将默认联络点配置为Slack。终于,警报信息到了!
  在配置了所有的步骤之后,我们终于到达了终点,下面是警报在你的Slack上的快照。
  4xx 错误率 :
  5xx 错误率 :
  延迟 P95 :
  人们可以根据自己的要求改进很多东西。例如,如果你有多个Kubernetes集群,你可以添加一个集群标签,这将有助于识别警报的源集群。

这里的黄金是中国人民的宝藏,绝不能让日本鬼子夺去!1933年8月,日本关东军占领了黑龙江省东北部的汤原县城后,公开宣布接收所有的金矿。他们首先没收了黑金河金矿,并招募工人开采黄金运回国内。这时,格节河金矿局经理刘纪三,在民众抗日怒山西男子为满足皇帝梦,偷偷建造地下宫殿,囚禁5名女孩当妃子山西一个普通的农民,整天幻想自己是皇帝,偷偷建造了一个地下宫殿,囚禁了5名女孩当妃子,最变态的是,竟然连自己的亲侄女都不放过。那么这个变态恶魔到底是谁?他的身上又藏着什么见不得人的5岁女孩喝药两个小时一个小杯底的药量居然喝了两个小时,哪个家长遇见这样的孩子不头疼?我闺女已经5岁了,上了三天幼儿园发烧了,而且是高烧不退,只好去了医院,检查结果是病毒加细菌感染,医生给开了药,用水沏23元也能吃到自助餐!上海这些宝藏餐厅居然比便利店还便宜!看完馋吐水淌淌滴侬晓得伐?在阿拉上海热门地段的餐厅有些菜品居然比便利店盒饭还要便宜?吃货小侬找到了魔都这些超高性价比宝藏餐厅给过年钱包大出血的你快速回血一顿吃回本啦台湾风味小吃长乐路203号说起台隋朝九岁女孩的墓葬规模,堪比帝王?棺椁上竟还刻着开者即死1957年,西安梁家庄,施工队挖到了一座墓葬。大约不到到两个小时,专家们赶到现场,发掘出了一座保存完整,级别很高的隋朝古墓。就在专家们想要打开棺椁,一探究竟的时候,却惊奇的发现石棺十四岁女孩的遗书,值得望女成凤的家长读一读来自网络侵删才十四岁的女孩,花季少女就选择自行离开这个世界。父母的谩骂,一句一句无情地撕咬着她的心父母的巴掌,一下一下抽打着单薄的身体女孩稚嫩的脸蛋也在惩罚式示众面前,丢了尊严和面最新战报!国乒女将掀翻一二号种子晋级,男单女双全军覆没2023年国际乒联WTT支线挑战赛杜塞尔多夫站比赛进入正赛第二个比赛日争夺,国乒表现有喜有忧,女单六人出战有四人打进八强,小将徐奕和吴洋晨发挥出色,两人分别将赛会头号种子和二号种子巴黎2024奥运售票开始明年即将到来的巴黎奥运离上次巴黎奥运整整100年。这届奥运的特别之处是巴黎充分利用现有设施办奥运,特别是利用巴黎著名古迹作为背景建造临时比赛场地和看台。比如以世界文化遗产塞纳河沿岸C罗克里斯蒂亚诺罗纳尔多克里斯蒂亚诺罗纳尔多(CristianoRonaldo),全名克里斯蒂亚诺罗纳尔多多斯桑托斯阿韦罗(CristianoRonaldodosSantosAveiro),简称C罗,1920032023玩NBA游戏20年盘点,从live到2K,是我走过的青春从nbalive2003到2K23,从高中时代偷玩到儿子八岁陪我一起呐喊加油,突然发现nba游戏已经陪我走过了20年,饭后来一把,睡前来一把,无聊来一把,手痒了来一把,不知不觉中,世乒赛选拔赛(第二日)王艺迪连败,王楚钦首胜,林高远输球2023年2月19日,世乒赛选拔赛进入第二比赛日,上午进行了五场单打比赛,已经全部结束。最让人意外的是王艺迪再次输球,可以说她本站比赛已经掉队。女乒另一主力,陈幸同取胜。具体比分及
本赛季场均2055球员所在球队战绩如何,跟球队竞争力有何关系全明星之前,目前东西部球队战绩榜实力如何,与球队有一个核心球员的表现不无关系。全明星过后,剩下不到三分之一的赛程就要进入季后赛战斗阶段。东部15支球队目前的战绩榜情况凯尔特人高居榜欧文不喜欢与蔡崇信合作,他总是想用出勤率限制我的工资欧文在全明星赛前突然提出交易一事闹得沸沸扬扬,更打了篮网管理层一个措手不及,球队老板蔡崇信对欧文也是充满了失望,直接插手交易方案,尽管欧文想去湖人,那篮网就当着欧文的面完成了和独行象棋大师黄少龙论棋道第十五章辉煌之年十五辉煌之年1976年受唐山地震影响,天津没派队参加全国象棋赛。1977年全国赛在太原举行,天津队又出场了。时值全国粉碎四人帮,万众欢腾,我的竞技状态非常好,心想一定要创造好成绩。库里已经超越科比,再拿一冠可超越邓肯,你认同徐静雨的观点吗?库里的历史地位已经超越了科比,再拿一冠可超越蒂姆邓肯,这是著名篮球媒体人徐静雨的观点。这个观点或许和很多人不同,但是徐静雨认为,这是大家对于前辈有尊重之情,其实后辈球星已经在荣誉积重庆市第37届马拉松接力赛报名开启3月4日鸣枪起跑近日,从九龙坡区体育局获悉,2023重庆市第37届马拉松接力赛暨飙讯杯九龙坡区智慧环湖跑将于3月4日上午在九龙坡区华岩寺鸣枪开跑。目前,赛事报名通道已开启,广大市民朋友可扫描文末二NBL总决赛开门红,广西威壮距卫冕一步之遥2月18日晚,全国男子篮球联赛(NBL)总决赛在安徽宣城鸣哨,广西威壮8280击败陕西信达,在三战二胜制的决战中占得先机。联盟两大巨头势均力敌。广西队连续四个赛季杀进总决赛,在上个转发收藏!2023年咸宁最全赏花攻略来了!春游咸宁2023赏花攻略又到春花盛开季一大波春花开了,去哪里赏呀?2023咸宁最全赏花攻略它来啦!品酒味闻花香二日游线路线路概况DAY1马桥建国畈油菜花海(赏花)萝卜公社(赏花午餐价值超过400000英镑!亚马逊发布新卖家激励措施,建议收藏亚马逊平台最新资讯如下图源图虫01hr亚马逊发布新卖家激励措施,价值超40,000英镑福利2月14日消息,亚马逊美国站欧洲站和日本站发布公告称,如果您是新的专业卖家并且尚未在美国日七天低脂营养早餐,有蔬菜有粗粮,有水果有蛋白质,好吃不长胖早餐要有充足的营养,碳水蛋白质维生素,我一般按照五谷搭配粗细搭配多样搭配,有条件的可以来个荤素搭配,我的早餐一般都用鸡蛋牛奶来增加蛋白质的摄入,有时还会添加豆类,豆类可以提供优质植带你更加详细的了解千年,回味千年的快乐玩了一段时间千年大家总结出那些关于千年的游戏简介,下面小编来给大家细细说说关于千年的游戏细节。千年这款游戏的武功分为拳法,剑法,刀法,枪法等七个不同的功法,功法之多足够满足你儿时对NIKKE胜利女神PC端(电脑版)官网下载NIKKE妮姬pc下载教程NIKKE胜利女神是一款全新开放PC端下载的射击游戏,主要亮点在于有超多青春靓丽的二次元少女角色可以选择。在NIKKE胜利女神正式上线pc端之后,很多玩家询问NIKKE胜利女神pc