开发者社区> 问答> 正文

Swarm mode 集群第三方监控集成

反向一觉 2017-10-30 15:47:42 1521
容器服务提供了与第三方开源监控方案集成的能力。

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

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

操作流程
  1. 登录 容器服务管理控制台
  2. 单击左侧导航栏中的 [backcolor=transparent]应用。
  3. 单击页面右上角的 [backcolor=transparent]创建应用。
  4. 填写应用的基本信息并单击 [backcolor=transparent]使用编排模板创建。
    本示例创建名为 [backcolor=transparent]influxdb 的应用。
  5. 填写下面的编排模板并单击 [backcolor=transparent]创建并部署。 compose V3 中 lables 的用法与之前版本一致。

    [backcolor=transparent]注意:在实际生产环境中,本示例中的模板需要做一些修改,其中 influxdb 的服务定义部分不要对宿主机暴露端口。
    [backcolor=transparent]version[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]'3'[backcolor=transparent]  [backcolor=transparent]#版本号
  6. [backcolor=transparent]services[backcolor=transparent]:[backcolor=transparent]   [backcolor=transparent]##定义 influxdb
  7. [backcolor=transparent]  influxdb[backcolor=transparent]:
  8. [backcolor=transparent]    image[backcolor=transparent]:[backcolor=transparent] tutum[backcolor=transparent]/[backcolor=transparent]influxdb[backcolor=transparent]:[backcolor=transparent]0.9
  9. [backcolor=transparent]    ports[backcolor=transparent]:
  10. [backcolor=transparent]      [backcolor=transparent]-[backcolor=transparent] [backcolor=transparent]"8083:8083"[backcolor=transparent] [backcolor=transparent]#暴露 Web 界面端口
  11. [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。
  1. [backcolor=transparent] labels
  2. [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 管理页面,查看容器监控服务写入的各项指标数据,如下图所示。
  1. 选择 [backcolor=transparent]telegraf。
  2. 单击 [backcolor=transparent]Query Templates 并在下拉菜单中单击 [backcolor=transparent]Show Measurements。

  3. 按 Enter 键。

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

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

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


后续操作



容器服务与 InfluxDB 集成之后,您可以根据自己的情况选择其他数据展示图表框架,比如 Grafana 等。
分享到
取消 提交回答
全部回答(0)
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章