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...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_...2024-10-28 myluzh Kubernetes
0x00 前言 白盒监控:主要通过应用程序内部的指标(如 Prometheus 的 /metrics 接口)监测系统性能,提供深入的技术洞察。 黑盒监控:主要通过 HTTP 请求、TCP 测试等外部监控手段获取数据,关注系统外部行为和功能,往往不需要访问应用程序的内部结构。 --- 通过kube-prometheus方式部署,默认就有blackbox-exporter,如果没有的话手动部署下。 0x01 手动部署 blackbox_exporter github地址:https://github.com/prometheus/blackbox_exporter 下面的 blackbox.yml 也可以直接下载下来导入 # curl -o blackbox.yml https://raw.githubusercontent.com/prometheus/blackbox_exporter/master/blackbox.yml # kubectl get configmap blackbox-exporter-config --namespace=monitoring apiVersion: apps/v1 kind: De...