K8s 下通过prometheus监控 nginx

news/2024/11/25 12:39:51/

k8s 下有两个版本的nginx ingress  分别是 

ingress nginx   以及 nginx ingress 

Ingress-nginx 与 Nginx-ingress - LeoZhanggg - 博客园

这里我讨论的是 nginx ingress

Nginx Ingress 使用Prometheus 导出数据

nginx ingress 本身支持通过支持这个提供prometheus 格式的 metrics 供prometheus 抓取, 需要配置  -enable-prometheus-metrics。 如果需要响应时间则需要单独配置 -enable-latency-metrics

Prometheus | NGINX Ingress Controller

遇到的bug

一开始看上面的教程 在deployment 中设置好参数之后,发现没有latency 相关的内容。 一看 nginx 的log 就发现了 

2024/11/23 10:33:36 [alert] 44#44: connect() failed (13: Permission denied) while logging to syslog, server: unix:/var/lib/nginx/nginx-syslog.sock
2024/11/23 10:33:36 [alert] 46#46: connect() failed (13: Permission denied) while logging to syslog, server: unix:/var/lib/nginx/nginx-syslog.sock
2024/11/23 10:33:36 [warn] 46#46: *20 send() to syslog failed while logging request, client: 192.168.65.6, server: example.api.com, request: "OPTIONS /Auth/GetUserDetail HTTP/1.1", upstream: "http://10.1.1.143:5036/Auth/GetUserDetail", host: "example.api.com:30080", referrer: "http://example.itpp.com:30080/"
2024/11/23 10:33:36 [warn] 44#44: *16 send() to syslog failed while logging request, client: 192.168.65.6, server: example.api.com, request: "OPTIONS /Auth/GetUserDetail HTTP/1.1", upstream: "http://10.1.1.143:5036/Auth/GetUserDetail", host: "example.api.com:30080", referrer: "http://example.itpp.com:30080/"

因为 nginx 读取响应时间延迟是通过首先记录API到 syslog 再通过读取syslog 产生 metrics。 如果不做特殊配置的话,虽然nginx 能够运行起来但是实际上是没有配置好 syslog 的 需要配置相关 configmap 来指定好 nginx.conf  里面 syslog 相关

apiVersion: v1
kind: ConfigMap
metadata:name: nginx-config
data:nginx.conf: |worker_processes  1;events {worker_connections  1024;}http {include       mime.types;default_type  application/octet-stream;error_log syslog:server=unix:/var/lib/nginx/nginx-syslog.sock debug;access_log syslog:server=unix:/var/lib/nginx/nginx-syslog.sock combined;server {listen 8080;location /stub_status {stub_status;allow 127.0.0.1;allow 10.0.0.0/8;deny all;}location / {root /usr/share/nginx/html;index index.html;}}}

这样卸载 再重新安装就没有问题了。 


http://www.ppmy.cn/news/1549818.html

相关文章

【轻量级 Java Web 整合开发(第 2 版)-框架编程技术】-期末复习(第二版)

第一章 Java Web 技术概述 作业 1、完成课后(P28)选择题和问答题(只需完成,不需要提交) 2、Tomcat的目录结构及其用途? bin:启动/关闭应用服务器的bat批处理命令; conf:包含不同的配置文件。包括server.xml&#xff…

ubuntu24.04下Matlab安装踩坑记录

1. 版本选择 link:https://ww2.mathworks.cn/downloads/matlab2024/2022x按官网执行后,均会出现暂时无法解决的bug;想到以前科大的虚拟机平台的版本是2019b,沿用这个版本即可;(其实很多软件根本没必要更新&#xff0c…

(免费送源码)计算机毕业设计原创定制:Java+B/S+SSM+Web前端开发技术+IDEA+MySQL+Navicat 有风小院

摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对有风小院等问题,对有风小院信息…

开源 AI 智能名片 2+1 链动模式商城小程序:场景驱动的商业创新与用户价值挖掘

摘要:本文围绕开源 AI 智能名片 21 链动模式商城小程序源码,深入分析了场景中的时间、空间、设备、社交和状态五大核心元素。阐述了各元素的表现形式、应用策略及价值,包括时间元素对业务周期和用户行为的影响及相应营销策略;空间…

transform学习

知识点讲解: scale 是 CSS 的 transform 属性的一部分,用于对元素进行比例缩放。 transform: scale(sx); transform: scale(sx, sy); /* sx:表示元素在 水平轴(X轴)的缩放比例。 sy(可选)&a…

可编程序控制器组态

可编程序控制器组态是指对PLC(Programmable Logic Controller)进行配置和设置,以实现特定的控制逻辑和功能。它是PLC应用的关键步骤之一,决定了PLC如何运行和响应各种输入输出。以下是关于可编程序控制器组态的详细解释&#xff1…

接口性能优化的技巧

一. 索引 索引优化的成本是最小的,可以通过线上日志或者监控报告,查到某个接口用到的某条sql语句的耗时。 1.1 没加索引 sql语句中where条件的关键字段,或者order by后面的排序字段,忘了加索引。 1.2 索引没生效 可以通过exp…

Java 查询最大最小值 详解

在 Java 中,查询最大值和最小值是常见需求。以下将详细介绍 最大值和最小值的查询方法,包括适用于数组、集合、以及更复杂的数据结构的解决方案。 1. 使用 Math 类 Java 提供了 Math.max 和 Math.min 方法,可用于直接比较两个值。 适用场景…