目录
1、Prometheus & Grafana 介绍
Prometheus 是一套开源的系统监控、报警、时间序列数据库的组合,Prometheus 基本原理是通过 Http 协议周期性抓取被监控组件的状态,而通过 Exporter Http 接口输出这些被监控的组件信息,而且已经有很多 Exporter 可供选择。Grafana 是一个可视化仪表盘,它拥有美观的图标和布局展示,功能齐全的仪表盘和图形编辑器,默认支持 CloudWatch、Graphite、Elasticsearch、InfluxDB、Mysql、PostgreSQL、Prometheus、OpenTSDB 等作为数据源。我们可以将 Prometheus 抓取的数据,通过 Grafana 优美的展示出来,非常直观。
2、环境、软件准备
首先必须有一个rancher部署或者管理的kubernetes集群环境。(rancher部署或者管理kubernetes集群可自行百度,这里就不在详述。)
3、Rancher 2.x 应用商店
Rancher 2.x 提供了应用商店功能,通过应用商店,我们可以非常方便的安装各服务到 Kubernetes 集群中,而且真的是一键式,非常方便了有木有。Rancher 应用商店默认支持官方认证、Helm Stable、Helm Incubator 三种类型的仓库,当然也支持自定义类型的商店。
- 官方认证:由Rancher 维护的官方模板仓库
- Helm Stable:由Kubernetes 社区维护的模板仓库
- Helm Incubator:未经测试验证的应用模板仓库
- 自定义商店
注意:默认 Rancher 只开启了官方认证方式,即由 Rancher 维护的官方模板仓库,如果想也支持 Helm Stable 仓库,那么需要将开关设置为 启用 即可,那么 Rancher 会自动同步 Helm 模板仓库到本地。
稍等片刻,同步完成后,就可以切换到任意集群任意 project 下应用商店页面,点击 启动 就可以查看到所有支持的模板应用啦!例如下图显示了所有官方认证支持的模板应用。
可以看到其中有很多模板服务,找到你要部署的服务
4、一键式部署 Prometheus
接下来我们就可以通过 Rancher 官方提供的模板来一键式部署 Prometheus。登录 Rancher UI,切换到 local-test 集群下 Default 项目下的应用商店页面,找到 Prometheus 点击 “查看详情” 进入到 Prometheus 配置页面。可以看到 Rancher 默认会将一些可配置信息已经提取出来了,例如 Image、Service Type、Ingress、Volume 等参数,我们可以根据实际应用需要来配置它们。
一切配置完毕,我们还可以点击预览,选择对应的模板,看下修改配置后的模板文件是怎样的,最后点击 “启动” 就会开始自动部署啦!稍等片刻,拉取镜像会费点时间,如果一切部署正常,在工作负荷、负载均衡、服务发现页面下 prometheus 命令空间下可以看到如下:
此时,切换到应用商店页面,就可以列举出来我们已经部署的模板服务。
点击应用名称 prometheus 进入到该模板服务详情页面,这里可以看到该服务所有启动的资源以及一些注释说明信息。
5、验证 Prometheus + Grafana
5.1、NodePort 方式
最后,我们来验证一下通过模板仓库部署的 Prometheus 服务是否能够正常运行并访问。首先本地通过 NodePort 方式访问一下 Grafana 页面,Grafana 服务自动分配的端口号为 30424,本地访问 http://192.168.134.130:31578 地址,使用上边配置的 Grafana Admin password 登录一下即可。
默认安装的 Grafana 已经配置好了 8 个 Dashboard,涉及到 Deployment、Nodes、Pods、Kubernetes Cluster Status 等监控仪表盘。
我们选择 Kubernetes Capacity Planning Dashboard 监控一段时间,得到的监控图像如下,妥妥没问题。
接下来,本地访问一下 http://192.168.134.130:30309 地址,Prometheus 服务自动分配的端口号为 30773,也是妥妥没有问题的。
最后,本地访问一下 http://192.168.134.130:30005 地址,上边 Alertmanager 配置的 NodePort 端口号为 30005,也是妥妥没有问题的。