全部产品
容器服务

第三方监控集成

更新时间:2017-09-11 16:20:02   分享:   

容器服务提供了与第三方开源监控方案集成的能力。

注意:目前,容器服务监控集成默认只支持 InfluxDB 和 Prometheus。

下面的示例以 InfluxDB 为例介绍如何进行容器服务的第三方监控方案集成。

操作流程

  1. 登录 容器服务管理控制台

  2. 单击左侧导航栏中的 应用

  3. 单击页面右上角的 创建应用

    create

  4. 填写应用的基本信息并单击 使用编排模板创建

    本示例创建名为 influxdb 的应用。

    info

  5. 填写下面的编排模板并单击 创建并部署。 compose V3 中 lables 的用法与之前版本一致。

    注意:在实际生产环境中,本示例中的模板需要做一些修改,其中 influxdb 的服务定义部分不要对宿主机暴露端口。

    1. version: '3' #版本号
    2. services: ##定义 influxdb
    3. influxdb:
    4. image: tutum/influxdb:0.9
    5. ports:
    6. - "8083:8083" #暴露 Web 界面端口
    7. - "8086:8086" #暴露数据 API Web 接口端口
  6. 应用创建成功后,在应用列表页面,单击本示例所创建应用的名称 influxdb, 查看应用详情。单击 容器列表,查看当前应用运行所在的节点 IP 和端口号,并复制该值(本示例中,复制 8086 端口对应的节点 IP 和端口号;该信息为 influxdb 对外暴露的数据上报地址),如下图所示。

    copy

  7. 单击左侧导航栏中的 应用,返回应用列表页面。单击 更新配置,在现有的模板中,添加以下内容来声明 InfluxDB 和容器监控服务的集成并单击 确定

    说明: 第三方开源监控集成目前只支持 InfluxDB 和 Prometheus,label 分别为 aliyun.monitoring.addon.influxdbaliyun.monitoring.addon.prometheus。标签取值的格式必须为 schema:hostIp:port

    1. labels
    2. aliyun.monitoring.addon.influxdb:"http://刚才复制的节点 IP:端口号"

    由于容器监控服务的 Agent 采用了 host 网络模式,容器服务无法使用 link 来识别 InfluxDB,所以您需要先创建 influxdb,再将 influxdb 对外暴露的数据上报地址添加到应用 labels 中,来通知数据采集客户端。完成以上步骤以后,监控服务会将采集到的容器运行状态数据自动写入 influxdb 中。

  8. 查看应用运行所在的 ECS 节点,在 节点列表 中点击目标节点,点击 ECS 实例ID,进入 ECS 控制台。

    进入ECS控制台

  9. 在 ECS 控制台中,为集群配置安全组规则,添加 8083 和 8086 端口的规则。参见 容器服务安全组规则

    配置安全组

  10. 根据集群的网络类型:VPC 或经典网络,您可以通过 http://EIP:8083端口,或 http://节点公网 IP:8083 在浏览器中访问 InfluxDB 管理页面,查看容器监控服务写入的各项指标数据,如下图所示。

    1. 选择 telegraf
    2. 单击 Query Templates 并在下拉菜单中单击 Show Measurements
    3. 按 Enter 键。

      注意:如果集群配置的是 VPC 网络,需要绑定 EIP 且在安全组配置 8086 和 8083,才能通过 http://EIP:8083 访问 InfluxDB 页面。

    您可以查看数据库表,如下图所示。

    InfluxdbQuery

    查看某个表的数据详情,如下图所示。

    query

后续操作

容器服务与 InfluxDB 集成之后,您可以根据自己的情况选择其他数据展示图表框架,比如 Grafana 等。

本文导读目录
本文导读目录
以上内容是否对您有帮助?