开发者社区> 问答> 正文

Swarm 集群  监控  第三方监控方案集成





前提条件


创建一个被监控应用,本例中创建一个 nginx 应用,参见 通过镜像创建 Nginx


背景信息


容器服务提供了与第三方开源监控方案集成的能力。
下面的示例以 InfluxDB 为例介绍如何进行容器服务的第三方监控方案集成。


操作步骤

  1. 登录 容器服务管理控制台
  2. 在 Swarm 菜单下,单击左侧导航栏中的应用。
  3. 选择目标集群,单击页面右上角的创建应用。
  4. 填写应用的基本信息并单击使用编排模板创建。

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

  5. 填写下面的编排模板并单击创建并部署。

version: '2'
services:   #定义 influxdb
influxdb:
     image: tutum/influxdb:0.9
     volumes:
         - /var/lib/docker/influxdb:/data
     ports:
         - "8083:8083" #暴露 Web 界面端口
         - "8086:8086" #暴露数据 API Web 接口端口

6. 应用创建成功后,在应用列表页面,单击本示例所创建应用的名称influxdb, 查看应用详情。单击容器列表,查看当前应用对外暴露的节点 IP 和端口号,并复制该值(本示例中,复制 8086 端口对应的节点 IP 和端口号;该信息为influxdb对外暴露的数据上报地址),


7. 单击左侧导航栏中的应用,返回应用列表页面。选择准备好的 nginx 应用,单击更新配置,在现有的模板中,添加以下内容来声明 InfluxDB 和容器监控服务的集成并单击确定。
labels:
     aliyun.monitoring.addon.influxdb: "http://刚才复制的节点 IP:端口号"
     aliyun.monitoring.addon.influxdb_retention_policy: "default"
  由于容器监控服务的 Agent 采用了 host 网络模式,容器服务无法使用 link 来识别 InfluxDB,所以您需要先创建influxdb,再将influxdb对外暴露的数据上报地址添加到应用 labels 中,来通知数据采集客户端。完成以上步骤以后,监控服务会将 nginx 应用采集到的容器运行状态数据自动写入 influxdb 中。


8. 在应用列表页面,单击本示例所创建应用的名称influxdb 并单击容器列表。复制influxdb容器对外暴露的端口。


9. 推荐您通过 Web 代理的方式进行访问。
如果您想通过公网进行访问,首先需要进行公网认证,然后为 influxDB 应用所在的节点配置 8083 和 8086 的入方向安全组规则,VPC 网络的集群通过 http://EIP:8083端口进行访问。


10. 在浏览器中访问 InfluxDB 管理页面,查看容器监控服务写入的各项指标数据。
选择telegraf,若未出现 telegraf,请先运行 CREATE DATABASE telegraf,并重新部署需要监控的应用。
单击Query Templates并在下拉菜单中单击Show Measurements。
按 Enter 键。

展开
收起
青蛙跳 2018-08-27 21:48:52 1291 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
阿里邮箱—安全高效集成 立即下载
集成智能接入网关APP:优化企业级移动办公网络 立即下载
云效助力企业集成安全到DevOps中 立即下载