Myluzh Blog

Prometheus 监控 ingress-nginx 性能指标

2024-11-29 myluzh Kubernetes

0x01 Prometheus 配置 在prometheus-additional.yaml配置文件中,添加监控配置。 参考文章:https://github.com/kubernetes/ingress-nginx/blob/main/deploy/prometheus/prometheus.yaml - job_name: 'k8s-ingress-nginx' kubernetes_sd_configs: - role: pod namespaces: names: - ingress-nginx # 只监控 ingress-nginx 命名空间中的 Pod relabel_configs: - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] action: keep regex: true # 仅保留 prometheus.io/scrape 注解值为 true 的 Pods - source_labels: [__m...

阅读全文>>

标签: ingress-nginx Prometheus monitoring 监控 metrics

评论(0) (73)

Prometheus 监控 Java 应用和 JVM 性能指标

2024-11-28 myluzh Kubernetes

0x01 配置java项目 1、在java项目中pom.xml添加依赖 <!-- Micrometer Prometheus registry --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-core</artifactId> </dependency> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-regis...

阅读全文>>

标签: java Prometheus jvm micrometer

评论(0) (79)

Prometheus 在 K8S 集群中自动发现常用角色(Role)的解释

2024-11-21 myluzh Kubernetes

0x01 Role概述 在 Prometheus 的 Kubernetes 自动发现(kubernetes_sd_configs)中,有许多常用的 角色(roles),可以用来发现不同类型的 Kubernetes 资源。 自动发现的主要优点: 无需手动更新配置文件,减少运维压力。实时适应动态环境,监控目标自动更新。通过 relabeling 和过滤规则灵活管理目标。适用于大规模和快速变化的环境。如果环境是动态的(如 Kubernetes 集群),自动发现是非常有价值的工具,它让 Prometheus 能更高效、智能地工作,从而减少了监控管理的复杂性。 0x02 Role介绍 以下是常用的自动发现角色以及适用场景。 1. ingress 描述: 用于发现 Kubernetes 中的 Ingress 资源(通常对应 HTTP/HTTPS 的路由)。 应用场景: 动态监控暴露的域名或服务入口,结合 Blackbox Exporter 对域名进行探测。 发现的元数据: __meta_kubernetes_ingress_name:Ingress 名称 __meta_kubernetes_ingress_...

阅读全文>>

标签: k8s Prometheus 监控 自动发现 sd kubernetes_sd_configs

评论(0) (72)

Alertmanager 企业微信告警配置 自定义告警模板

2024-11-19 myluzh Kubernetes

0x01 alertmanager.yml配置 参数介绍: wechat_api_url:api地址,默认就是https://qyapi.weixin.qq.com/cgi-bin/ wechat_api_secret:创建应用后,在应用管理里面,获取到的应用的Secret wechat_api_corp_id:企业ID,在【我的企业】【企业信息】【企业ID】。 agent_id:创建应用后,在应用管理里面,获取到的应用的AgentId to_party:用于定义要接收告警通知的部门 ID global: resolve_timeout: 5m # wechat wechat_api_url: 'https://qyapi.weixin.qq.com/cgi-bin/' wechat_api_secret: '3uxxxxxxxxxxxxxxxxxxxxxxxxWv4' wechat_api_corp_id: 'wwxxxxxxxxb1' inhibit_rules: - source_match: severity: critical ta...

阅读全文>>

标签: Prometheus Alertmanager 企业微信 告警 wechat wechatapi

评论(0) (83)

Alertmanager 邮件告警配置

2024-11-18 myluzh Kubernetes

0x01 修改alertmanager.yaml配置文件 我的alertmanager是kube-prometheus部署,alertmanager.yaml是通过secrets挂载到alertmanager的。 # 创建一个带有邮件告警信息的配置 root@iZbp1bddlmdujngbc11omnZ:~/prom# vi alertmanager.yaml global: resolve_timeout: 5m smtp_smarthost: 'smtp.exmail.qq.com:465' smtp_hello: 'itho.cn' smtp_from: 'support@itho.cn' smtp_auth_username: 'support@itho.cn' smtp_auth_password: 'xxxxxxxxx' smtp_require_tls: true inhibit_rules: - equal: - namespace - alertname sourc...

阅读全文>>

标签: 邮件告警 Prometheus Alertmanager

评论(0) (67)

Prometheus blackbox-exporter自定义User-Agent

2024-10-29 myluzh Kubernetes

0x01 前言 在使用blackbox-exporter进行黑盒监控地址的时候,请求的URL被WAF拦截下来了,原因是blackbox-exporter请求时候UA太像扫描器了,"User-Agent: Go-http-client/1.1",导致被waf拦截了请直接返回403,实际状态码应该是200。 可以修改blackbox-exporter的请求UA,然后在waf上放行UA白名单。 0x02 修改blackbox-exporter请求的UA 1. 找到配置文件 blackbox-exporter 的配置文件通常名为 config.yml,可以在安装目录下找到。该文件定义了不同的探测模块及其相关参数。 2. 编辑配置文件 使用文本编辑器打开 config.yml 文件。您需要找到或添加 modules 部分,然后在其中定义 http_2xx 模块的配置。 3. 修改 http_2xx 模块的配置 在 http_2xx 模块中,您可以添加或修改 http 请求的 headers 字段,以设置自定义的 User-Agent。以下是修改后的示例配置: "modules": "http_2xx": "http"...

阅读全文>>

标签: waf Prometheus blackbox-exporter user-agent ua

评论(0) (171)