Lazy loaded image
Prometheus和Grafana监控平台
K8s部署Prometheus和Grafana监控平台
字数 1949阅读时长 5 分钟
2024-8-19
2024-11-21
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.rulesnode.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
notion image
prometheus监控平台
  • Graph:用于绘制图表,可以选择不同的时间范围、指标和标签,还可以添加多个图表进行比较。
  • Alert:用于设置告警规则,当指标达到设定的阈值时,会发送告警通知。
  • Explore:用于查询和浏览指标数据,可以通过查询表达式或者标签过滤器来查找数据。
  • Status:用于查看prometheus的状态信息,包括当前的targetsrulesalerts等。
  • 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.yml

Grafana安装插件

验证测试Grafana

浏览器访问
进入登录页
notion image
进入首页
notion image

grafana配置中文

点击右上角 头像下profile然后修改Language
notion image
页面变成中文
notion image

配置数据源

Grafana官方提供了对:Graphite, InfluxDB, OpenTSDB, Prometheus, Elasticsearch, CloudWatch的支持。
添加数据源:首页->连接->数据源->add data source 然后选择Prometheus
HTTP URL:http://prometheus:9090 Save & test
notion image
测试 grafanas是否能查询到时间
点击探索 在metric 写一个promql
notion image
notion image
上一篇
动态pv
下一篇
Prometheus和Grafana简介