可观测监控 Prometheus 版可以通过Grafana大盘来展示监控数据,并且支持自定义创建Grafana大盘和从Grafana官网导入大盘两种方式。本文以阿里云容器服务K8s集群和阿里云容器镜像服务为例,介绍通过自定义Grafana大盘展示监控数据。
前提条件
- 阿里云容器服务K8s集群已接入可观测监控 Prometheus 版。如何接入,请参见Prometheus实例 for 容器服务。
- 已创建阿里云容器镜像服务镜像仓库。如何创建,请参见步骤二:创建镜像仓库。
操作流程
通过可观测监控 Prometheus 版自定义Grafana大盘的操作流程如下图所示。

步骤一:上传应用
将应用制作成镜像并上传至阿里云容器镜像服务的镜像仓库的操作步骤如下:
- 执行以下命令重新编译模块。
mvn clean install -DskipTests
- 执行以下命令构建镜像。
docker build -t <本地临时Docker镜像名称>:<本地临时Docker镜像版本号> . --no-cache
示例命令:docker build -t promethues-demo:v0 . --no-cache
- 执行以下命令为镜像打标。
sudo docker tag <本地临时Docker镜像名称>:<本地临时Docker镜像版本号> <Registry域名>/<命名空间>/<镜像名称>:<镜像版本号>
示例命令:sudo docker tag promethues-demo:v0 registry.cn-hangzhou.aliyuncs.com/testnamespace/promethues-demo:v0
- 执行以下命令将镜像推送至镜像仓库。
sudo docker push <Registry域名>/<命名空间>/<镜像名称>:<镜像版本号>
示例命令:sudo docker push registry.cn-hangzhou.aliyuncs.com/testnamespace/promethues-demo:v0
步骤二:部署应用
将应用部署至容器服务K8s集群的操作步骤如下:
- 登录容器服务管理控制台。
- 在左侧导航栏,选择集群。
- 在集群列表页面,找到目标集群,在其右侧操作列单击应用管理。
- 创建容器组。无状态页面显示创建的容器组。
- 创建服务。服务页面显示创建的服务。
步骤三:配置采集规则
可观测监控 Prometheus 版会默认监控CPU信息、内存信息、网络信息等。如果您需要监控默认数据外的其他数据,例如订单信息,那么需要为应用自定义可观测监控 Prometheus 版采集规则。
- 登录Prometheus控制台。
- 在左侧导航栏单击监控列表,进入可观测监控 Prometheus 版的实例列表页面。
- 单击目标Prometheus实例名称。
- 为应用配置可观测监控 Prometheus 版采集规则分为以下两种情况。
- 需要监控部署在K8s集群内的应用的业务数据,例如订单信息。操作步骤如下:
- 在左侧导航树单击服务发现,然后单击配置页签。
- 在配置页面单击ServiceMonitor页签,然后单击添加ServiceMonitor。
- 在弹出的对话框中输入以下内容,然后单击确定。
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: # 填写一个唯一名称 name: tomcat-demo # 填写目标命名空间 namespace: default spec: endpoints: - interval: 30s # 填写service.yaml中Prometheus Exporter对应的Port的Name字段的值 port: tomcat-monitor # 填写Prometheus Exporter对应的Path的值 path: /metrics namespaceSelector: any: true # Demo的命名空间 selector: matchLabels: # 填写service.yaml的Label字段的值以定位目标service.yaml app: tomcat
ServiceMonitor页签下显示配置的服务发现。
- 需要监控部署在K8s集群之外的业务数据,如Redis连接数。操作步骤如下:
- 在左侧导航树单击设置,然后在设置页签单击编辑Prometheus.yaml。
- 在弹出的对话框中输入以下内容,然后单击保存。
global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090']
- 需要监控部署在K8s集群内的应用的业务数据,例如订单信息。操作步骤如下:
步骤四:配置大盘
配置Grafana大盘以展示数据的操作步骤如下:
- 打开Grafana大盘概览页。说明 您需要开通Grafana专家版大盘。
- 在左侧导航栏选择 。
- 在New dashboard页面中单击Add a new panel。
- 在Edit Panel页面的Query区域的下拉列表中选择集群。在A折叠面板的Metrics下拉列表中选择监控指标,例如:go_gc_duration_seconds。
- 在页面右侧的区域,填写图表名称,选择大盘的可视化类型,如图形、表格、热点图等,并根据您的需求配置其他参数。
- 单击右上角Save,在弹出的对话框中输入大盘名称,并选择集群,然后单击Save。
您可根据需要自行创建多个大盘和图表。
配置完毕后的Grafana大盘如图所示。
步骤五:监控复杂指标
如果需要监控涉及复杂运算的指标,您需要在可观测监控 Prometheus 版中进行数据调试,从而得到相应的PromQL语句。
- 打开Grafana大盘概览页。
- 在左侧导航栏单击Explore图标。
- 在Explore页面顶部下拉框中选择集群,然后在Metrics输入框中输入PromQL语句,单击右上角的Run Query进行调试。
- 调试成功后,您可以参考上述步骤继续添加大盘或图表,具体操作,请参见步骤四:配置大盘。
步骤六:创建报警
为监控指标创建报警规则,具体操作,请参见Prometheus告警规则。