监控实践: 基于K8S部署Prometheus+Grafana
kevinaoc
发布于 2022-6-22 17:19
3.3w浏览
2收藏
作者 |Lizeyang
来源 |DevOps云学堂(ID:idevopsvip)
使用Prometheus对系统进行监控,使用Grafana进行数据展示。我的环境是K8S,我的部署方式是通过 yaml文件进行部署。已经部署文件上传到了Github 地址:https://github.com/zeyangli/devops-on-k8s.
1、部署node-exporter对集群进行监控
部署node-expoter对k8s集群监控
- 使用DaemonSet方式
- 使用最新镜像:node-exporter:v0.18.1
部署描述文件如下:
在这里我创建了一个DaemonSet类型的部署,会在每个node节点上运行。运行的Namespace是在kube-system中。创建service 使用nodePort方式映射端口。
2、部署Prometheus服务
部署prometheus服务
deploy.yaml
这里我创建了一个应用部署文件deployment对象,挂载configmap配置文件和volume存储持久化数据。
service.yaml
这里我创建了一个service对象,nodePort方式暴露30003端口进行访问。
RBAC Setting(配置应用程序权限)
3、部署Grafana服务
deployment
service
4、访问验证
我们先看下dashboard中pod运行状态
然后看下pometheus中是否有数据
访问Grafana
到此我们就成功的将Prometheus+Grafana部署到了Kubernetes系统中。接下来我们来配置grafana展示集群中的监控数据。
5、配置Grafana 面板
添加数据源
导入面板
https://grafana.com/grafana/dashboards/315
最终效果
分类
已于2022-6-22 17:19:23修改
赞
收藏 2
回复
4
2
相关推荐
grafana的配置文件需要修改,改为:
否则会报错:
GF_PATHS_DATA='/var/lib/grafana' is not writable
node-exporter的Daemonset配置文件应该改为如下:
labels相关的从“name: node-exporter”改为“k8s-app: node-exporter”
有关prometheus的configmap文件没有在该博文中给出,可以去作者给出的github地址中获取。
需要在节点上提前创建好目录,并赋予普通用户可读可写权限。两个目录:/data/devops/prometheus和/data/devops/granafa