云监控

天然集成
数据可视化
监控数据处理
灵活报警

场景:

主机监控

应用场景

混合云场景下监控解决方案
云监控插件支持安装在非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使用率

你可能感兴趣的:(云监控)