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-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
2024-11-21 myluzh Kubernetes
0x01 在prometheus配置中添加自动发现 修改prometheus配置文件prometheus-additional.yaml,我这边只自动发现namespace为dev-test的ingress,其他要求可以按需配置。 # 黑盒监控自定义地址 - job_name: 'blackbox_http' metrics_path: /probe # 指定用于探测的 HTTP 路径 params: module: [http_2xx] # 指定模块,配置在 Blackbox Exporter 的配置文件中 static_configs: - targets: # 定义需要监控的目标地址 - https://www.baidu.com relabel_configs: - source_labels: [__address__] # 使用默认的目标地址 target_label: __param_target # 将目标地址设置为 `target` 参数,供 Blackbox Exporter 使用 - sour...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-11-19 myluzh Kubernetes
0x01 概述 Local Path Provisioner 是 Kubernetes 社区支持的解决方案,允许使用节点上的本地磁盘。使用 Local Path Storage(本地路径存储)通过将本地目录(如节点的磁盘目录)用作存储池,可以创建一个基础存储类。Local Path Storage(本地路径存储)是一种轻量级存储方案,通过将节点的本地磁盘目录(如 /mnt/data 等)作为存储池来实现持久化存储。这类存储通常被用作 Kubernetes 集群的基础存储类,特别适合测试环境或轻量级生产场景。它为 Pod 提供了一种简单的持久化存储方式,但由于数据存储在节点本地,并未实现分布式存储,因此不适合高可用或大规模生产环境。 0x02 安装 Local Path Provisioner 1、安装 Local Path Provisioner root@k8s-master:~# kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-st...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...