欢迎访问我的GitHub
这里分类和汇总了欣宸的全部原创(含配套源码): https://github.com/zq2599/blog_demos
关于prometheus和grafana
- prometheus负责采集监控数据,grafana负责展示,下图来自官网:
环境信息
- 硬件:三台CentOS 7.7服务器
- kubernetes:1.15
- prometheus:v2.0.0
- grafana:5.0.0
- 下图是我的实战环境:
部署
- 执行以下命令即可完成部署工作:
wget https://raw.githubusercontent.com/zq2599/blog_demos/master/prometheusgrafana/deploy.sh \
&& chmod a+x deploy.sh \
&& ./deploy.sh
验证
- 部署完成后验证监控服务是否正常:
- 执行kubectl get pods -n kube-system检查pod状态,如下图所示,红框1是grafana,红框2是node-exporter,其数量与服务器数量一致,红框3是prometheus:
- 检查服务是否正常,如下图,红框1显示grafana的访问端口是31000,红框2显示node-exporter的访问端口是31672,红框3显示prometheus的访问端口是30003:
- 我这边宿主机的IP地址是192.168.133.150,于是访问地址:http://192.168.133.150:31672/metrics ,可见node-exporter服务对外保留的监控数据,如下图:
- 查看Prometheus网页,访问地址 http://192.168.133.150:30003/graph ,如下图:
- grafana的地址是:http://192.168.133.149:31000 ,如下图,用户名和密码都是admin:
- 登录grafana之后,要设置默认数据源,在设置数据源之前,先搞清楚prometheus服务的ClusterIP,执行命令kubectl get services -n kube-system,如下图红框所示,prometheus服务的ClusterIP是10.233.38.147,记下这个IP稍后会用到:
- 接下来回到grafana页面,添加默认数据源,操作如下图:
- 接下来要填写的表单如下图所示,红框1是数据源类型,选择Prometheus,红框2的IP就是前面查到的prometheus服务的ClusterIP,端口保持9090,然后点击底部的"Save & Test"按钮保存:
- 接下来可以在线导入报表了,操作如下图红框所示,注意红框3中填入315:
- 接下来的页面,如下图红框所示,数据源选择prometheus,然后点击底部的Import按钮:
- 如果此时各个服务正常,应该能立刻见到类似下图的内容:
- 上述315号模板提供了基本的监控数据,如果您想监控更多内容,可以去官网找一找,内容挺丰富,地址:https://grafana.com/grafana/dashboards?dataSource=prometheus&search=kubernetes
卸载服务
- 若要卸载node-export、prometheus、grafana等服务,执行以下命令即可:
wget https://raw.githubusercontent.com/zq2599/blog_demos/master/prometheusgrafana/undeploy.sh \
&& chmod a+x undeploy.sh \
&& ./undeploy.sh
定制
- 以上操作以最简洁的方式部署了服务,但是无法满足不同用户的需求(例如数据持久化),您可以在我的GitHub下载所有配置文件,地址是:https://github.com/zq2599/blog_demos.git ,这里面有多个文件夹,本次用到的在目录prometheusgrafana中,如下图红框所示:
- 至此,部署、体验prometheus和grafana的实战就完成了,希望能给您带来一些参考;
欢迎关注阿里云开发者社区博客:程序员欣宸
学习路上,你不孤单,欣宸原创一路相伴...