容器服务提供了与第三方开源监控方案集成的能力。
[backcolor=transparent]注意:目前,容器服务监控集成默认只支持 InfluxDB 和 Prometheus。
下面的示例以 InfluxDB 为例介绍如何进行容器服务的第三方监控方案集成。
操作流程
- 登录 容器服务管理控制台。
- 单击左侧导航栏中的 [backcolor=transparent]应用。
- 单击页面右上角的 [backcolor=transparent]创建应用。
- 填写应用的基本信息并单击 [backcolor=transparent]使用编排模板创建。
本示例创建名为 [backcolor=transparent]influxdb 的应用。
- 填写下面的编排模板并单击 [backcolor=transparent]创建并部署。 compose V3 中 lables 的用法与之前版本一致。
[backcolor=transparent]注意:在实际生产环境中,本示例中的模板需要做一些修改,其中 influxdb 的服务定义部分不要对宿主机暴露端口。
[backcolor=transparent]version[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]'3'[backcolor=transparent] [backcolor=transparent]#版本号 - [backcolor=transparent]services[backcolor=transparent]:[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,所以您需要先创建 influxdb,再将 influxdb 对外暴露的数据上报地址添加到应用 labels 中,来通知数据采集客户端。完成以上步骤以后,监控服务会将采集到的容器运行状态数据自动写入 influxdb 中。
查看应用运行所在的 ECS 节点,在 [backcolor=transparent]节点列表 中点击目标节点,点击 ECS 实例ID,进入 ECS 控制台。
在 ECS 控制台中,为集群配置安全组规则,添加 8083 和 8086 端口的规则。参见
容器服务安全组规则。
根据集群的网络类型:VPC 或经典网络,您可以通过
http://EIP:8083端口,或 http://节点公网 IP:8083 在浏览器中访问 InfluxDB 管理页面,查看容器监控服务写入的各项指标数据,如下图所示。
- 选择 [backcolor=transparent]telegraf。
- 单击 [backcolor=transparent]Query Templates 并在下拉菜单中单击 [backcolor=transparent]Show Measurements。
按 Enter 键。
注意:如果集群配置的是 VPC 网络,需要绑定 EIP 且在安全组配置 8086 和 8083,才能通过
http://EIP:8083 访问 InfluxDB 页面。
您可以查看数据库表,如下图所示。
查看某个表的数据详情,如下图所示。
后续操作
容器服务与 InfluxDB 集成之后,您可以根据自己的情况选择其他数据展示图表框架,比如 Grafana 等。