容器服务提供了与第三方开源监控方案集成的能力。
[backcolor=transparent]注意:目前,容器服务监控集成默认只支持 InfluxDB 和 Prometheus。
下面的示例以 InfluxDB 为例介绍如何进行容器服务的第三方监控方案集成。
操作流程
- 登录 容器服务管理控制台。
- 单击左侧导航栏中的 [backcolor=transparent]应用。
- 单击页面右上角的 [backcolor=transparent]创建应用。
- 填写应用的基本信息并单击 [backcolor=transparent]使用编排模板创建。
本示例创建名为 [backcolor=transparent]influxdb 的应用。
- 填写下面的编排模板并单击 [backcolor=transparent]创建并部署。
[backcolor=transparent]注意:在实际生产环境中,本示例中的模板需要做一些修改,其中 influxdb 的服务定义部分不要对宿主机暴露端口。[backcolor=transparent]version[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]'2' - [backcolor=transparent]services[backcolor=transparent]:
- [backcolor=transparent]#定义 influxdb
- [backcolor=transparent]influxdb[backcolor=transparent]:
- [backcolor=transparent] image[backcolor=transparent]:[backcolor=transparent] tutum[backcolor=transparent]/[backcolor=transparent]influxdb[backcolor=transparent]:[backcolor=transparent]0.9
- [backcolor=transparent] ports[backcolor=transparent]:
- [backcolor=transparent] [backcolor=transparent]-[backcolor=transparent] [backcolor=transparent]"8083:8083"[backcolor=transparent] [backcolor=transparent]#暴露 Web 界面端口
- [backcolor=transparent] [backcolor=transparent]-[backcolor=transparent] [backcolor=transparent]"8086:8086"[backcolor=transparent] [backcolor=transparent]#暴露数据 API Web 接口端口
应用创建成功后,在应用列表页面,单击本示例所创建应用的名称 [backcolor=transparent]influxdb, 查看应用详情。单击 [backcolor=transparent]容器列表,查看当前应用对外暴露的节点 IP 和端口号,并复制该值(本示例中,复制 8086 端口对应的节点 IP 和端口号;该信息为[backcolor=transparent]influxdb 对外暴露的数据上报地址),如下图所示。
单击左侧导航栏中的 [backcolor=transparent]应用,返回应用列表页面。单击 [backcolor=transparent]更新配置,在现有的模板中,添加以下内容来声明 InfluxDB 和容器监控服务的集成并单击 [backcolor=transparent]确定。
[backcolor=transparent]说明: 第三方开源监控集成目前只支持 InfluxDB 和 Prometheus,label 分别为aliyun.monitoring.addon.influxdb 和aliyun.monitoring.addon.prometheus。标签取值的格式必须为 schema:hostIp:port。
- [backcolor=transparent]labels
- [backcolor=transparent] aliyun[backcolor=transparent].[backcolor=transparent]monitoring[backcolor=transparent].[backcolor=transparent]addon[backcolor=transparent].[backcolor=transparent]influxdb[backcolor=transparent]:[backcolor=transparent]"http://刚才复制的节点 IP:端口号"
由于容器监控服务的 Agent 采用了 host 网络模式,容器服务无法使用 link 来识别 InfluxDB,所以您需要先创建[backcolor=transparent]influxdb,再将 [backcolor=transparent]influxdb 对外暴露的数据上报地址添加到应用 labels 中,来通知数据采集客户端。完成以上步骤以后,监控服务会将采集到的容器运行状态数据自动写入 influxdb 中。
在应用列表页面,单击本示例所创建应用的名称 [backcolor=transparent]influxdb 并单击 [backcolor=transparent]容器列表。复制 [backcolor=transparent]influxdb 容器对外暴露的端口。
在浏览器中访问 InfluxDB 管理页面,查看容器监控服务写入的各项指标数据,如下图所示。
- 选择 [backcolor=transparent]telegraf。
- 单击 [backcolor=transparent]Query Templates 并在下拉菜单中单击 [backcolor=transparent]Show Measurements。
- 按 Enter 键。
您可以查看数据库表,如下图所示。
查看某个表的数据详情,如下图所示。
后续操作
容器服务与 InfluxDB 集成之后,您可以根据自己的情况选择其他数据展示图表框架,比如 Grafana 等。