kube-prometheus 系列1 项目介绍

Prometheus 已经成为云原生监控的事实标准。整个生态包含诸多组件,为了简化安装部署和配置高可用等,社区开发了kube-prometheus项目。接下来用一系列文章介绍一下相关配置。

项目简介:

kube-prometheus 是一个基于 Kubernetes 部署的 Prometheus 和 Grafana 监控系统的完整解决方案,是 Prometheus Operator 的实现之一。

相比于手动安装并配置 Prometheus、Alertmanager、Grafana 等单个组件,使用 kube-prometheus 可以节省部署和管理Prometheus监控生态组件的时间和精力。同时,kube-prometheus 还提供了可自动化的滚动更新和自适应扩展等功能,以适应动态变化的 Kubernetes 集群。

Prometheus 和 Alertmanager 组件被配置为statefulset类型,并且默认高可用。

并且默认安装并配置了node-exporter, blackbox-exporter, kube-state-metrics和prometheus-adapter组件。

内置了很多常用的 Grafana Dashboard

项目地址: https://github.com/prometheus-operator/kube-prometheus/

kube-prometheus 安装后创建的CRD及作用

CRD 作用
alertmanagerconfigs alertmanager配置
alertmanagers alertmanager实例
podmonitors 通过selector选择被监控的pod和metrics 端点
probes 创建blackbox监控目标
prometheuses Prometheus实例
prometheusrules 创建告警规则
servicemonitors 创建监控目标
thanosrulers 数据集中存储

安装

安装非常简单

参考项目github主页,注意不同版本与kubernetes兼容性(主页有兼容性矩阵)。

建议下载与kubernetes版本兼容的最新的版本。

安装命令:

复制代码
kubectl apply --server-side -f manifests/setup
kubectl wait \
	--for condition=Established \
	--all CustomResourceDefinition \
	--namespace=monitoring
kubectl apply -f manifests/

如果要修改Prometheus配置就编辑prometheuses 这个CR,直接编辑statefulset是没作用的。如要修改Prometheus pod的resource request和limits,或者数据保留天数 retention:(默认30d),或者为Prometheus挂载持久化存储。

复制代码
kubectl -n monitoring edit prometheuses k8s 

如果要修改Alertmanager配置就编辑alertmanagers这个CR,直接编辑statefulset是没作用的。如修改日志级别为debug 以调试。

复制代码
kubectl -n monitoring edit alertmanagers main

Grafana 直接修改deployment。如持久化存储等。

复制代码
kubectl -n monitoring edit deployments.apps grafana
相关推荐
阿里云云原生1 天前
研发视角的新突破:当 AI Coding 工具集成全域运维诊断,排查线上故障只需 3 分钟
云原生
小猿姐2 天前
唯品会大规模数据库云原生实践:基于 KubeBlocks 管理数千实例的统一运维之路
运维·elasticsearch·云原生
阿里云云原生2 天前
AgentTeams 和 Claude Tag 都进入群聊模式,是新范式还是新叙事?
云原生·agent
阿里云云原生3 天前
Higress v2.2.3 发布:正式入驻 CNCF Sandbox,AI Gateway 与 Ingress 迁移能力双向加固
云原生
阿里云云原生4 天前
香港站【企业 AI Agent 工程化实战专场】来啦,邀您7月9日见!
云原生·agent
阿里云云原生4 天前
研发域与运维域的“数字握手”:通过 Agentic Skills 实现 DevOps 全链路自动化
云原生
运维开发故事6 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson8 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
SRETalk8 天前
Zabbix、Prometheus、Grafana、Nightingale,四个监控如何选型?
zabbix·grafana·prometheus·nightingale
阿里云云原生8 天前
AI 开发新常态:当 Cursor、Claude、Codex 并行,如何统一管理散落的 Skill 资产?
云原生·ai编程