999
微信
自定义监控__日志和监控_用户指南_容器服务-阿里云
容器监控服务集成了阿里云云监控服务,为您提供涵盖容器、应用、集群、节点的监控与告警服务,满足了容器监控的基本需求。但是在很多业务场景中,您可能需要自定义监控以满足您系统和应用的监控需求,所以容器监控服务在基础监控能力以外,还提供了两种自定义监控方式来允许您通过自己编写数据采集脚本或者自己暴露 HTTP 监控数据接口来上报自定义的监控数据。容器服务监控框架会按照每分钟采集一次的频率来执行脚本或者调用 HTTP 接口来采集数据。
前提条件
使用自定义监控功能之前,您必须将容器监控服务与第三方监控方案进行集成 (详细信息参见 第三方监控方案集成)。
注意:目前,容器服务监控集成默认只支持 InfluxDB 和 Prometheus。
您的自定义监控数据会上报给您的 InfluxDB 或 Prometheus,然后再对接您的数据展示和分析服务。
使用自定义监控脚本上报监控数据
构建 Docker 镜像,在镜像中添加自定义的数据采集脚本。
采集脚本的输出数据必须遵守 InfluxDB 的数据格式协议,如下所示。
weather,location=us-midwest temperature=82 1465839830100400200
| -------------------- -------------- |
| | | |
| | | |
+-----------+--------+-+---------+-+---------+
|measurement|,tag_set| |field_set| |timestamp|
+-----------+--------+-+---------+-+---------+
更详细的数据格式协议,参见 InfluxDB 数据协议 Line Protocol。
登录 容器服务管理控制台,使用编排模板创建应用,使用
aliyun.monitoring.script
标签声明监控服务用于采集数据的脚本。示例模板如下所示:
custom-script:
image: '您自己的镜像仓库地址'
labels:
aliyun.monitoring.script: "sh gather_mem.sh"
aliyun.monitoring.script
定义了监控服务执行应用容器内什么命令来收集监控数据。对应的 label 配置方式如下所示。labels:
aliyun.monitoring.script: "执行脚本的命令"
打开 InfluxDB 的 web 端管理界面,查看以数据指标名称为表名的数据库表。
有关如何查看数据库表,参见 第三方监控方案集成 中的相关信息。
使用自定义 HTTP 监控数据接口采集数据
构建 Docker 镜像,在应用中对外暴露 HTTP 接口。
该接口输出监控数据。您可以自定义监控数据的格式,只需符合 JSON 语法即可。此外,由于系统不能分辨自定义的 HTTP 接口返回的 JSON 数据中哪些是数据指标字段,哪些是数据指标的元数据标签,所以您还需要另外一个配置项来指明 JSON 数据中哪些数据的属性是 tag。具体可参考 Telegraf JSON 数据格式。
登录 容器服务管理控制台,使用编排模板创建应用。您需要在模板中填加
aliyun.monitoring.http
标签来声明采集数据的接口,使用aliyun.monitoring.tags: "您自己的 tag 属性名 1, 您自己的 tag 属性名 2, ……"
声明 HTTP 数据接口返回的数据字段中哪些的属性是 tag。参考模板:
nodejsapp:
command: "bash /run.sh"
ports:
- "3000:3000"
image: '您自己的镜像仓库地址'
labels:
aliyun.monitoring.http: "https://container:3000/metrics/data"
aliyun.monitoring.tags: "tag1,tag2"
nodejsapp 应用对外暴露的数据接口
https://container:3000/metrics/data
返回的数据如下所示:{
"tag1": "tag1value",
"tag2": "tag2value",
"field1": 1,
"field2": 2,
"field3": true,
"field4": 1.5
}
使用
aliyun.monitoring.tags: "tag1,tag2"
定义上报的 JSON 数据中,tag1 属性和 tag2 属性为上报数据的 tag。打开 InfluxDB 的 web 端管理界面,查看以
httpjson_
前缀加容器名称为表名的的数据库表。例如,容器名称为
nodejsapp_nodejsapp_1
,则 InfluxDB 中数据库表的表名为httpjson_nodejsapp_nodejsapp_1
。有关如何查看数据库表,参见 第三方监控方案集成 中的相关信息。
最后更新:2016-12-12 16:48:18
上一篇:
第三方监控方案集成__日志和监控_用户指南_容器服务-阿里云
下一篇:
节点自动伸缩__日志和监控_用户指南_容器服务-阿里云
镜像复制FAQ__ECS常见问题_产品使用问题_云服务器 ECS-阿里云
安全管家应急服务处理非安全问题吗?__常见问题_产品常见问题_安全管家服务-阿里云
将路由器接口置为非激活__高速通道相关接口_API 参考_云服务器 ECS-阿里云
配置后端 ECS 实例__快速入门_负载均衡-阿里云
PHP SDK 历史迭代版本__历史版本 SDK 下载_SDK 参考_表格存储-阿里云
万网域名使用万网企业邮箱,设置解析方法__邮箱解析_产品使用问题_云解析-阿里云
DRDSReader__Reader插件_使用手册_数据集成-阿里云
创建数据迁移任务__快速入门_数据传输-阿里云
应用限制__MapReduce_大数据计算服务-阿里云
指定宽高缩略__图片缩放_老版图片服务手册_对象存储 OSS-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云