天然集成
数据可视化
监控数据处理
灵活报警
场景:
主机监控
应用场景
混合云场景下监控解决方案
云监控插件支持安装在非ECS服务器上,解决云上、云下双重环境的基础监控问题。
企业级用户的监控解决方案
提供应用分组功能,支持将阿里云不同地域的服务器分配在同一个组中,从业务角度管理服务器。
关键功能说明
丰富的监控指标:30余种监控指标
密集的采集频率:关键项1秒1次,所有监控项均为15秒上报1次
业务及进程监控:采集当前活跃进程占用的CPU、内存和文件打开数
报警服务:提供电话、短信、邮箱、旺旺、钉钉机器人
云服务监控
主机监控
主机监控分为插件采集的监控项和ECS原生自带的监控项,插件采集频率为15秒一次,ECS基础监控数据采集频率为1分钟1次。
插件采集指标
CPU
Host.cpu.idle 当前CPU处于空闲状态的百分比
Host.cpu.system 指系统上下文切换的消耗,该监控项数值比较高,说明服务器开了太多的进程或者线程
Host.cpu.user 用户进程对CPU的消耗
Host.cpu.iowait 该项数值比较高说明有很频繁的IO操作
Host.cpu.other 其他消耗,计算方式为(Nice + SoftIrq + Irq + Stolen)的消耗
Host.cpu.totalUsed 指以上各项CPU消耗的总和,通常用于报警
内存
Host.mem.total 服务器的内存总量
Host.mem.used 用户程序使用的内存 + buffers + cached,buffers为缓冲区占用的内存空间,cached为系统缓存占用的内存空间
Host.mem.actualused 用户实际使用的内存,计算方法1: (used - buffers - cached);计算方法2:(total - available) Centos 7.2与Ubuntu 16.04以上(包含)的系统使用了新的Linux内核,在内存的估算上更准确.
Host.mem.free 剩余内存量,计算方法:(total-used)
Host.mem.freeutilization 剩余内存百分比,计算方法:(available/total*100%)
Host.mem.usedutilization 内存使用率,计算方法:(actualused/total*100%)
系统平均负载项
Host.load1 过去1分钟的系统平均负载,Windows操作系统没有此指标
Host.load5 过去5分钟的系统平均负载,Windows操作系统没有此指标
Host.load15 过去15分钟的系统平均负载,Windows操作系统没有此指标
磁盘相关监控项
Host.diskusage.used 磁盘的已用存储空间
Host.disk.utilization 磁盘使用率
Host.diskusage.free 磁盘的剩余存储空间
Host.diskussage.total 磁盘存储总量
Host.disk.readbytes 磁盘每秒读取的字节数
Host.disk.writebytes 磁盘每秒写入的字节数
Host.disk.readiops 磁盘每秒的读请求数量
Host.disk.writeiops 磁盘每秒的写请求数量
文件系统监控项
Host.fs.inode inode使用率,Windows操作系统没有此指标。UNIX/Linux系统内部不使用文件名,而使用inode号码来识别文件。当磁盘还未存满,但inode已经分配完时会出现无法在磁盘新建文件的情况,因此要监控inode使用率。inode数量代表文件系统文件数量,大量小文件会导致inode使用率过高。
网络
Host.netin.rate 网卡每秒接收的比特数,即网卡的上行带宽
Host.netout.rate 网卡每秒发送的比特数,即网卡的下行带宽
Host.netin.packages 网卡每秒接收的数据包数
Host.netout.packages 网卡每秒发送的数据包数
Host.netin.errorpackage 设备驱动器检测到的接收错误包的数量
Host.netout.errorpackages 设备驱动器检测到的发送错误包的数量
Host.tcpconnection 各种状态下的TCP连接数包括LISTEN、SYN_SENT、ESTABLISHED、SYN_RECV、FIN_WAIT1、CLOSE_WAIT、FIN_WAIT2、LAST_ACK、TIME_WAIT、CLOSING、CLOSED
进程相关监控项
Host.process.cpu 某个进程消耗的CPU百分比
Host.process.memory 某个进程消耗的内存百分比
Host.process.openfile 当前进程打开文件数
Host.process.number 指定关键字的进程数
ECS自带监控项
ECS.CPUUtilization CPU使用率
ECS.InternetInRate 公网入流量平均速率
ECS.IntranetInRate 私网入流量平均速率
ECS.InternetOutRate 公网出流量平均速率
ECS.IntranetOutRate 私网出流量平均速率
ECS.SystemDiskReadbps 系统磁盘每秒读取字节总数
ECS.SystemDiskWritebps 系统磁盘每秒写入字节总数
ECS.SystemDiskReadOps 系统磁盘每秒读取次数
ECS.SystemDiskWriteOps 系统磁盘每秒写入次数
ECS.InternetIn 公网流入流量
ECS.InternetOut 公网流出流量
ECS.IntranetIn 内网流入流量
ECS.IntranetOut 内网流出流量
云数据库RDS
云监控通过监控RDS的磁盘使用率、IOPS使用率、连接数使用率、CPU使用率等监控指标
监控项
磁盘使用率——数据库实例中磁盘空间的使用百分率
IOPS使用率——数据库实例中IOPS的使用百分率
连接数使用率——连接数是指应用程序可以连接到RDS实例的数量。连接数使用率即已经使用的连接数百分率
CPU使用率——实例对CPU的使用率,数据库内存的大小决定CPU的性能
内存使用率——数据库实例中内存的已用占比,目前只有MySQL类型数据库支持内存实例率
只读实例延迟——Mysql只读实例延迟时间
网络入流量——实例每秒钟的输入流量
网络出流量——实例每秒钟的输出流量
实例故障——事件类型指标,可设置报警规则
实例主备切换——事件类型指标,可设置报警规则
容器服务监控
监控项
containerCpuUtilization 容器CPU使用率
containerMemoryUtilization 容器内存使用率
containerMemoryAmount 容器内存使用量
containerInternetIn 容器入网流量
containerInternetOut 容器出网流量
containerIORead 容器IO读
containerIOWrite 容器IO写
API调研
可调用的API
查询云产品监控数据
- QueryProjectMet
查询云监控支持的时序类监控项产品列表
eg:description——project name
AnalyticDB——acs_ads——分析型数据库监控
API Gateway——acs_apigateway_dashboard——API网关监控
Internet Shared Bandwidth——acs_bandwidth_package——共享带宽
CDN——acs_cdn——CDN监控
Cloud Enterprise Network——acs_cen——
Container Service for Swarm——acs_containerservice_dashboard——容器服务之Swarm
DCDN——acs_dcdn
Anti-DDoS Pro——acs_ddos——DDoS高防IP
DirectMail——acs_directmail——邮件推送监控
ECS——acs_ecs_dashboard——ECS监控
Elasticsearch——acs_elasticsearch——Elasticsearch监控
E-MapReduce——acs_emr——E-MapReduce监控
Auto Scaling——acs_ess_dashboard——弹性伸缩
Express Connect——acs_express_connect——高速通道
Function Compute——acs_fc——函数计算监控
Realtime Compute(StreamCompute)——acs_galaxy——流计算监控
Global Acceleration——acs_global_acceleration——全球加速
ApsaraDB for Hbase——acs_hbase——云数据库hbase版监控
TSDB(Time Series and Spatial-Temporal Database)——acs_hitsdb——高性能时间序列数据库
HybridDB for PostgreSQL——acs_hybriddb——云数据库HybridDB for PostgreSQL
IPv6 Translation Service——acs_ipv6trans
MQ for Kafka——acs_kafka——消息队列之Kafka
Container Service for Kubernetes——acs_kubernetes——容器服务之K8S
ApsaraDB for Redis——acs_kvstore——云数据库Redis版监控
ApsaraDB for Memcache——acs_memcache——云数据库Memcache版监控
Message Service——acs_mns_new——消息服务监控
ApsaraDB for MongoDB——acs_mongodb——云数据库MongoDB版监控
ApsaraVideo for Media Processing——acs_mps——
Message Queue——acs_mq——
NAT Gateway——acs_nat_gateway——NAT网关监控
- QueryMetricMeta
查询云监控开放的时序类监控项的监控项描述。
eg: Project传进为ECS,即acs_ecs_dashboard时,查询到的是云主机监控的所有监控项
单个监控项的返回实例:
{
"Description": "ECS.CPUUtilization", #监控项的描述
"Statistics": "Average,Minimum,Maximum", #统计方法,Maximum, Minimum, Average
"Labels": "[{\"name\":\"alertUnit\",\"value\":\"%\"},{\"name\":\"alertDefault\",\"value\":\"80\"},{\"name\":\"minAlertPeriod\",\"value\":\"60\"},{\"name\":\"metricCategory\",\"value\":\"instanceId\"},{\"name\":\"is_alarm\",\"value\":\"true\"}]",# metricCategory:指标分类,alertEnable:是否可以报警,alertUnit:报警单位,unitFactor:单位转换系数,minAlertPeriod:最小报警周期,productCategory:产品
"Metric": "CPUUtilization", #监控项名称
"Dimensions": "instanceId", #监控项的Dimensions
"Project": "acs_ecs_dashboard", #监控项的Project名称
"Periods": "60,300", #监控项的所有统计周期
"Unit": "%" #监控项单位
}
其他监控项的名称:
CPUUtilization——CPU百分比
cpu_idle——Host.cpu.idle,当前空闲CPU百分比
cpu_other——Host.cpu.other,其他占用CUP百分比,其他消耗,计算方式为(Nice + SoftIrq + Irq + Stolen)的消耗
cpu_system——Host.cpu.system,当前内核空间占用CPU百分比
cpu_total——Host.cpu.total,当前消耗的总CPU百分比
cpu_user——Host.cpu.user,当前用户空间占用CPU百分比
cpu_wait——Host.cpu.iowait,当前等待IO操作的CPU百分比
DiskReadBPS——系统磁盘总读BPS
DiskReadIOPS——系统磁盘读IOPS
diskusage_free——Host.diskusage.free,磁盘的剩余存储空间
diskusage_total——Host.diskussage.total,磁盘存储总量
diskusage_used——Host.diskusage.used,磁盘的已用存储空间
diskusage_utilization——Host.disk.utilization,磁盘使用率
DiskWriteBPS——系统磁盘总写BPS
DiskWriteIOPS——系统磁盘写IOPS
disk_readbytes——Host.disk.readbytes,磁盘每秒读取的字节数
disk_readiops——Host.disk.readiops,磁盘每秒的读请求数量
disk_writebytes——Host.disk.writebytes,磁盘每秒写入的字节数
disk_writeiops——Host.disk.writeiops,磁盘每秒的写请求数量
eip_InternetInRate
eip_InternetOutRate
fs_inodeutilization——Host.fs.inode,inode使用率
gpu_decoder_utilization
gpu_encoder_utilization
gpu_gpu_temperature
gpu_gpu_usedutilization
gpu_memory_freespace
gpu_memory_freeutilization
gpu_memory_usedspace
gpu_memory_usedutilization
- QueryMetricLast
查询指定产品实例的最新监控数据 - QueryMetricList
查询一段时间内指定产品实例的监控数据
报警规则
- CreateAlarm
创建报警规则 - DeleteAlarm
删除已创建的报警规则 - ListAlarm
查询指定或远不报警规则设置 - EnableAlarm
启用报警规则 - DisableAlarm
禁用报警规则 - UpdateAlarm
修改已创建的报警规则 - ListAlarmHistory
查询报警历史 - ListContactGroup
查询云账号下对应的报警规则联系人组
主机监控
- NodeStatus
查询指定实例的云监控插件运行状态 - NodeInstall
调用接口为指定ECS实例安装云监控插件 - NodeStatusList
批量查询云监控插件状态。
实践
针对各个云服务查询对应的监控数据时,调用相同的接口QueryMetricList
和QueryMetricLast,接口中需要传入的两个关键参数为Project和Metric,前者代表该产品的名称对应的缩写字段,后者代表给定产品名称下的监控指标的缩写字段
云服务器ECS
- ECS基础监控数据,无需安装插件即可查询监控数据。
- Project为acs_ecs_dashboard,采样周期为60s,Period赋值为60或60的整数倍。
- Dimensions中的instanceId赋值ecs实例的instanceId
基础监控项
Mertic | 描述 | 详细说明 |
---|---|---|
CPUUtilization | CPU百分比 | CPU使用率 |
InternetInRate | 公网流入带宽 | 公网入流量平均速率 |
IntranetInRate | 私网流入带宽 | 私网入流量平均速率 |
InternetOutRate | 公网流出带宽 | 公网出流量平均速率 |
IntranetOutRate | 私网流出带宽 | 私网出流量平均速率 |
InternetOutRate_Percent | 公网流出带宽使用率 | |
DiskReadBPS | 系统磁盘总读BPS | |
DiskWriteBPS | 系统磁盘总写BPS | |
DiskReadIOPS | 系统磁盘读IOPS | |
DiskWriteIOPS | 系统磁盘写IOPS | |
VPC_PublicIP_InternetInRate | 专有网络公网流入带宽 | |
VPC_PublicIP_InternetOutRate | 专有网络公网流出带宽 | |
VPC_PublicIP_InternetOutRate_Percent | 专有网络公网流出带宽使用率 |
操作系统级别监控项
Mertic | 描述 |
---|---|
cpu_idle | Host.cpu.idle,当前空闲CPU百分比 |
cpu_system | Host.cpu.system,当前内核空间占用CPU百分比 |
cpu_user | Host.cpu.user,当前用户空间占用CPU百分比 |
cpu_wait | Host.cpu.iowait,当前等待IO操作的CPU百分比 |
cpu_other | Host.cpu.other,其他占用CUP百分比,其他消耗,计算方式为(Nice + SoftIrq + Irq + Stolen)的消耗 |
cpu_total | Host.cpu.total,当前消耗的总CPU百分比 |
memory_totalspace | Host.mem.total,内存总量 |
memory_usedspace | Host.mem.used,已用内存量 ,用户程序使用的内存 + buffers + cached,buffers为缓冲区占用的内存空间,cached为系统缓存占用的内存空间 |
memory_actualusedspace | Host.mem.actualused,用户实际使用的内存,计算方法为(used - buffers - cached) |
memory_freespace | Host.mem.free,剩余内存量 |
memory_freeutilization | Host.mem.freeutilization, 剩余内存百分比 |
memory_usedutilization | Host.mem.usedutilization,内存使用率 |
load_1m | Host.load1,过去1分钟的系统平均负载,Windows操作系统没有此指标 |
load_5m | Host.load5, 过去5分钟的系统平均负载,Windows操作系统没有此指标 |
load_15m | Host.load15,过去15分钟的系统平均负载,Windows操作系统没有此指标 |
diskusage_used | Host.diskusage.used,磁盘的已用存储空间 |
diskusage_utilization | Host.disk.utilization,磁盘使用率 |
diskusage_free | Host.diskusage.free,磁盘的剩余存储空间 |
diskusage_total | Host.diskussage.total,磁盘存储总量 |
disk_readbytes | Host.disk.readbytes,磁盘每秒读取的字节数 |
disk_writebytes | Host.disk.writebytes,磁盘每秒写入的字节数 |
disk_readiops | Host.disk.readiops,磁盘每秒的读请求数量 |
disk_writeiops | Host.disk.writeiops,磁盘每秒的写请求数量 |
fs_inodeutilization | Host.fs.inode,inode使用率 |
networkin_rate | Host.netin.rate,网卡每秒接收的比特数,即网卡的上行带宽 |
networkout_rate | Host.netout.rate,网卡每秒发送的比特数,即网卡的下行带宽 |
networkin_packages | Host.netin.packages,网卡每秒接收的数据包数 |
networkout_packages | Host.netout.packages,网卡每秒发送的数据包数 |
networkin_errorpackages | Host.netin.errorpackage,设备驱动器检测到的接收错误包的数量 |
networkout_errorpackages | Host.netout.errorpackages,设备驱动器检测到的发送错误包的数量 |
net_tcpconnection | Host.tcpconnection,各种状态下的TCP连接数包括LISTEN、SYN_SENT、ESTABLISHED、SYN_RECV、FIN_WAIT1、CLOSE_WAIT、FIN_WAIT2、LAST_ACK、TIME_WAIT、CLOSING、CLOSED |
云数据库RDS
- Project为acs_rds_dashboard。采样周期默认为300s,Period赋值为300或300的整数倍。
- 如果已在RDS控制台开通1分钟监控频率,则采样周期最小为60s。
- Dimensions中的instanceId赋值RDS实例的instanceId。
Mertic | 描述 | 详细说明 |
---|---|---|
CpuUsage | CPU使用率 | 实例对CPU的使用率,数据库内存的大小决定CPU的性能 |
DiskUsage | 磁盘使用率 | 数据库实例中磁盘空间的使用百分率 |
IOPSUsage | IOPS使用率 | 数据库实例中IOPS的使用百分率 |
ConnectionUsage | 连接数使用率 | 连接数是指应用程序可以连接到RDS实例的数量。连接数使用率即已经使用的连接数百分率 |
DataDelay | 只读实例延迟 | Mysql只读实例延迟时间 |
MemoryUsage | 内存使用率 | 数据库实例中内存的已用占比,目前只有MySQL类型数据库支持内存实例率 |
MySQL_NetworkInNew | Mysql每秒网络入流量 | 实例每秒钟的输入流量 |
MySQL_NetworkOutNew | Mysql每秒网络出流量 | 实例每秒钟的输出流量 |
MySQL_ActiveSessions | Mysql当前活跃Sessions数 | |
SQLServer_NetworkInNew | SQLServe每秒网络入流量 | |
SQLServer_NetworkOutNew | SQLServer每秒网络出流量 |
容器服务
- Project为acs_containerservice_dashboard ,采样周期为60s,Period赋值为60或60的整数倍。
Mertic | 描述 |
---|---|
CpuUtilization | CPU使用率 |
InternetIn | 容器的网络流入流量 |
InternetOut | 容量网络流出流量 |
InternetInRate | 公网流入带宽 |
InternetOutRate | 公网流出带宽 |
InternetInSum | 从容器生命周期开始到当前时间的所有网络总流入流量 |
InternetOutSum | 从容器生命周期开始到当前时间的所有网络总流出流量 |
MemoryAmount | 容器内存使用量 |
MemoryUtilization | 容器内存使用率 |
IOReadRate | 容器IO读速率 |
IOWriteRate | 容器IO写速率 |
IORead | 容器IO读取量bytes |
IOWrite | 容器IO写入量bytes |
IOReadSum | 从容器生命周期开始到当前时间的所有容器IO读取的总流量 |
IOWriteSum | 从容器生命周期开始到当前时间的所有容器IO写入的总流量 |
GPUMemoryUsed | GPU内存使用量 |
GPUTemperature | GPU温度 ℃ |
GPUUsed | GPU使用率 |
ContainerGPUMemoryUsed | 容器GPU内存使用量 |
CpuUtilization | CPU使用率 |