type
status
date
slug
summary
tags
category
icon
password
K8s部署Prometheus和Grafana监控平台
前提:需要k8s集群环境 部署k8s集群博客
部署Prometheus
创建命名空间
创建RBAC规则
创建RBAC规则,包含ServiceAccount、ClusterRole、ClusterRoleBinding三类YAML文件
vim prometheus-rabc.yaml验证创建ConfigMap类型的prometheus配置文件
vim prometheus-cm.yaml验证创建ConfigMap类型的prometheus rules配置文件
使用ConfigMap方式创建prometheus rules配置文件包含的内容是两块,分别是general.rules和node.rules使用以下命令创建Prometheus的另外两个配置文件
vim prometheus-rules.yaml验证创建prometheus pvc
由于Prometheus需要对数据进行持久化,以便在重启后能够恢复历史数据。所以这边我们通过早先课程部署的NFS做存储来实现持久化。当前我们使用NFS提供的StorageClass来做数据存储创建sc可以看这个博客
vim prometheus-pvc.yaml验证创建prometheus deploy
vim prometheus-deploy.yaml部署的 Deployment 资源文件中的 containers 部分配置了两个容器,分别是
- prometheus: Prometheus 容器是主容器,用于运行 Prometheus 进程
- configmap-reload: 用于监听指定的 ConfigMap 文件中的内容,如果内容发生更改,则执行 webhook url 请求,因为 Prometheus 支持通过接口重新加载配置文件,所以这里使用这个容器提供的机制来完成 Prometheus ConfigMap 配置文件内容一有更改,就执行 Prometheus 的 /-/reload 接口,进行更新配置操作
上面资源文件中 Prometheus 参数说明:
- -web.enable-lifecycle: 启用 Prometheus 用于重新加载配置的 /-/reload 接口
- -config.file: 指定 Prometheus 配置文件所在地址,这个地址是相对于容器内部而言的
- -storage.tsdb.path: 指定 Prometheus 数据存储目录地址,这个地址是相对于容器而言的
- -storage.tsdb.retention.time: 指定删除旧数据的时间,默认为 15d
- -web.console.libraries: 指定控制台组件依赖的存储路径
- -web.console.templates: 指定控制台模板的存储路径
验证创建prometheus svc
vim prometheus-svc.yaml验证创建prometheus ingress实现外部域名访问
ingress 部署可以看Ingress部署
vim prometheus-ing.yaml验证WebUi界面查看
浏览器访问 web UI界面http://prometheus.kubernets.cn
prometheus监控平台
- Graph:
用于绘制图表,可以选择不同的时间范围、指标和标签,还可以添加多个图表进行比较。
- Alert:
用于设置告警规则,当指标达到设定的阈值时,会发送告警通知。
- Explore:
用于查询和浏览指标数据,可以通过查询表达式或者标签过滤器来查找数据。
- Status:用于查看
prometheus的状态信息,包括当前的targets、rules、alerts等。
- Config:用于编辑
prometheus的配置文件,可以添加、修改和删除配置项。
部署Grafana
数据持久化
vim grafana-pvc.yaml配置grafana-config
vim grafana-cm.yaml配置grafana-SVC
vim granfana-svc.yaml部署grafana-DP
vim granfana-dp.yaml部署grafana-ING
vim grafana-ing.ymlGrafana安装插件
验证测试Grafana
浏览器访问进入登录页
进入首页
grafana配置中文
点击右上角 头像下profile然后修改Language

页面变成中文
配置数据源
Grafana官方提供了对:Graphite, InfluxDB, OpenTSDB, Prometheus, Elasticsearch, CloudWatch的支持。添加数据源:首页->连接->数据源->add data source 然后选择PrometheusHTTP URL:http://prometheus:9090 Save & test

测试 grafanas是否能查询到时间
点击探索 在metric 写一个promql


- 作者:NotionNext
- 链接:https://tangly1024.com/article/8e6a1b5a-c432-43a4-9ad0-0f264b39cbb9
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。






