阿里云集成
简介
连接到阿里云您可以:
- 得到阿里云ECS主机的监控数据,而不需要安装Cloud Insight 探针
- 得到阿里云其他服务的CMS监控数据:ECS, RDS
请注意: 我们对监控的主机数量做了每个产品20台的限制,即一个阿里云账户可以监控20个ECS和20个RDS。
配置
- 登陆到阿里云管理控制台
- 开通访问控制, 进入访问控制的管理界面
- 创建新用户(开启字自动生成AccessKey), 保存生成的AccessKey对,点击 授权,为新用户增加权限: AliyunCloudMonitorReadOnlyAccess 和 ReadOnlyAccess
- 将您的 key 和 secret 以及想要监控的的区域 对应填写到Cloud Insight的阿里云集成页面的表格中
- 可选,进入云监控管理界面,点击云服务器ECS,点击安装 插件(推荐,ECS的一些指标需要安装插件之后才能获取)
- 完成~
支持情况
首先要说明一下我们如何集成阿里云:
- 使用了阿里云的几个API:ECS、CMS、RDS
- 阿里云云监控服务默认就开启,而且云资源购买之后就可以直接使用云监控, 但是一些ECS指标是需要安装插件才能拿到的
- 使用您提供的AccessKey获取您的云资源列表(如ECS),然后调用CMS对每个资源获取监控指标
以下是对阿里云不同服务的支持情况:
想了解阿里云的监控指标,可以参考 阿里云 监控项。
ECS, 对应Cloud Insight的System服务
metric 映射
阿里云 | Cloud Insight | 说明 |
---|---|---|
CPUUtilization | system.cpu.user | 单位:% |
DiskReadIOPS | system.io.r_s | 单位:次, io 读取次数 |
DiskWriteIOPS | system.io.w_s | 单位:次,io写入次数 |
InternetIn | system.net.bytes_rcvd | 单位:byte/s, 外网入流量 |
InternetOut | system.net.bytes_sent | 单位:byte/s, 外网出流量 |
IntranetIn | system.net.bytes_rcvd | 单位:byte/s, 内网入流量 |
IntranetOut | system.net.bytes_sent | 单位:byte/s, 内网出流量 |
vm.LoadAverage | system.load.1/5/15 | 单位:%; 系统负载,操作系统级监控数据,需要安装插件才能获取 |
vm.DiskUtilization | system.disk.in_use | 单位:%; 磁盘使用率,操作系统级监控数据,需要安装插件才能获取 |
vm.DiskIORead | system.io.rkb_s | 单位:kb/s; io读取速度, 操作系统级监控数据,需要安装插件才能获取 |
vm.DiskIOWrite | system.io.wkb_s | 单位:kb/s; io写入速度, 操作系统级监控数据,需要安装插件才能获取 |
系统信息说明
字段 | 说明 |
---|---|
以下为 instance tab 信息 | |
zone | 实例所属可用区 |
region | 实例所属地域ID |
cluster_id | |
create_time | 创建时间。按照ISO8601标准表示,并需要使用UTC时间。格式为: YYYY-MM-DDThh:mmZ |
expire_time | 过期时间。按照ISO8601标准表示,并需要使用UTC时间。格式为: YYYY-MM-DDThh:mmZ |
description | 实例描述(阿里云自定义的) |
instance_charge_type | 实例的付费方式。 PrePaid:预付费,即包年包月; PostPaid:后付费,即按量付费 |
instance_id | 实例Id |
instance_name | 实例的显示名称 |
instance_type | 实例资源规格 |
instance_type_family | 实例规格族 |
provider | 公有云厂商 |
以下为 network tab 信息 | |
internal_ip | 实例的内网IP地址 |
public_ip | 实例的外网IP地址 |
internet_charge_type | 网络计费类型,PayByBandwidth,PayByTraffic两个值中的一个。预付费实例显示PayByBandwidth(按带宽计费)。 PayByTraffic:按流量计费; PayByBandwidth:按带宽计费 |
internet_max_bandwidth_in | 公网入带宽最大值 |
internet_max_bandwidth_out | 公网出带宽最大值 |
instance_network_type | 实例网络类型,可选值Classic, Vpc |
以下为 system tab 信息 | |
cpu | CPU 核数 |
host_name | 主机名 |
memory | 内存大小,单位为 MB |
~~disk~~ | 磁盘大小 (自定义阿里云镜像没有) |
osname | 操作系统的显示名称 (自定义阿里云镜像没有) |
ostype | 操作系统类型 (自定义阿里云镜像没有) |
platform | 操作系统平台系列(ubuntu,centos..) (自定义阿里云镜像没有) |
默认的host tag
host tags |
---|
instance_charge_type |
instance_name |
instance_network_type |
instance_type |
instance_type_family |
internet_charge_type |
region |
zone |
provider |
ostype (自定义阿里云镜像没有) |
platform (自定义阿里云镜像没有) |
默认的metric tag
metric tags |
---|
instance_charge_type |
instance_name |
instance_type |
internet_charge_type |
region |
zone |
RDS, 对应Cloud Insight的aliyun_rds服务
metric 映射
阿里云 | Cloud Insight | 说明 |
---|---|---|
CpuUsage | cpu.usage | 单位:% |
DiskUsage | disk.usage | 单位:% |
IOPSUsage | ipos.usage | 单位:% |
ConnectionUsage | connection.usage | 单位:% |
MemoryUsage | memory.usage | 单位:% |
MySQL_NetworkIn | mysql.network_in | 单位:kb/s |
MySQL_NetworkOut | mysql.network_out | 单位:kb/s |
SQLServer_NetworkIn | sqlserver.network_in | 单位:kb/s |
SQLServer_NetworkOut | sqlserver.network_out | 单位:kb/s |
系统信息说明
字段 | 说明 |
---|---|
以下为 instance tab 信息 | |
create_time | 创建时间 |
expire_time | 到期时间,按量付费实例无到期时间 |
description | 实例描述 |
instance_type | 实例规格类型 |
Primary:主实例;ReadOnly:只读实例;Guard:灾备实例;Temp:临时实例 | |
engine | 数据库类型 |
engine_version | 数据库版本 |
pay_type | 付费类型 Postpaid:按量付费;Prepaid:预付费 |
zone | 区域 |
region | 地域 |
provider | 公有云厂商 |
以下为 network tab 信息 | |
db_net_type | 实例网络类型 |
network_type | 实例网络规格类型 |
Classic:经典网络;VPC:VPC网络 | |
connection_mode | 访问模式 |
Performance为标准访问模式;Safty为高安全访问模式 |
默认的host tag
host tags |
---|
instance_type |
pay_type |
region |
zone |
provider |
默认的metric tag
metric tags |
---|
description |
instance_type |
engine |
network_type |
zone |
region |
问题定位
指标不太对?
你会发现,指标概览和Cloud Insight的demo不一样,指标才只有几个,这是有原因的:
首先,阿里云的监控指标项和我们的指标项只能互相匹配一部分, 并且有几个指标是需要您安装阿里云插件才能获取到; 其次,有些指标比如磁盘,操作系统等的信息是从API获取不到的; 再次,某些指标项,比如cpu使用率,阿里云只提供了一个值(cpu.user)来表示(it is true), 而我们的cpu指标下有cpu.user,cpu.system,cpu.idle,cpu.stolen,cpu.iowait, 指标是匹配不上的。
数据有延迟?
当使用阿里云集成时,我们是从阿里云 CMS API 每5分钟获取一次数据。取出的最近时间的数据你会看到2~4分钟的数据延迟,这主要是API的限制导致的。
从使用阿里云 CMS API的情况来看,在当前时间请求前一分钟和前前一分钟的数据成功返回是不准确的(阿里云方面有确认这个情况),所以我们最近时间使用的是前前前(别晕)一分钟, 加上每次请求以及发送给服务器的固定网络开销还有服务器的处理时间,就是最近时间的延迟所在。
如果这个延迟对您来说有点不能接受的话,推荐您在这些主机上安装Cloud Insight探针,几乎feel不到延迟 :)。
数据少了(掉点)?
目前阿里云会偶然地取不到某一分钟的监控数据,我们已经向阿里云提出了这个问题,正在修复中。