1 运行指标

汽车工程在启动一个发动机研发项目前,要做好标定,比如最大马力要在多少转输出,扭矩多大。
软件工程,尤其是互联网应用,开发前要针对预期并发,使用年限,规划好高可用、低延迟、高吞吐指标。

1.1 高可用

可用性 = 业务正常运行时间 / 业务总运行时间。
一般而言,互联网非核心业务要求2个9,核心业务3个9,但部分领导可能会要求4个9,比如 OPPO 运动健康云。
作为参考,阿里云大多数设施提供99.5%的可用性,航空航天要求5个9。

1.2 低延迟(RT)

TP90 完成90% 请求的耗时
TP99 完成99% 请求的耗时

1.3 高吞吐(Throught)

QPS 每秒完成请求数
TPS 每秒完成事务数

2 CPU指标

2.1 主要指标

指标 解释 范围
CpuPercent CPU使用率
CpuLoad 系统平均负载
CpuUsed CPU使用量

2.2 次要指标

指标 解释 范围
CpuLimit Cpu总量
node_cpu_busy_percent CPU busy百分比
node_cpu_cnt CPU核数
node_cpu_guest_nice_percent CPU guest_nice百分比
node_cpu_guest_percent CPU guest百分比
node_cpu_idle_percent CPU idle百分比
node_cpu_iowait_percent CPU iowait百分比
node_cpu_irq_percent CPU irq百分比
node_cpu_nice_percent CPU nice百分比
node_cpu_softirq_percent CPU softirq百分比
node_cpu_steal_percent CPU steal百分比
node_cpu_system_percent CPU system百分比
node_cpu_user_percent CPU user百分比

3 内存指标

3.1 主要指标

指标 解释 范围
MemUsedPercent 内存使用率
SwapUsedBytes SWAP使用量
MemUsed 内存使用量
MemoryFailcnt 内存申请失败次数
Cache访问次数
Cache命中百分比
DCache访问次数
DCache命中百分比

3.2 次要指标

指标 解释 范围
MemLimit 内存总量
node_memory_Active 内存频繁使用量
node_memory_Active_anon 内存最近较少使用量
node_memory_Active_file 内存页最近访问量
node_memory_AnonHugePages AnonHugePages占用的内存大小
node_memory_AnonPages 用户进程中匿名内存页大小
node_memory_Bounce bounce buffers占用的内存
node_memory_Buffers 内存Buffers大小
node_memory_Buffers_percent 内存Buffers大小百分比
node_memory_Cached 内存Cached大小
node_memory_Cached_percent 内存Cached大小
node_memory_CommitLimit 系统可分配的内存量
node_memory_Committed_AS 系统已经分配的内存量
node_memory_DirectMap1G 映射为1G的内存页的内存量
node_memory_DirectMap2M 映射为2M的内存页的内存量
node_memory_DirectMap4k 映射为4kB的内存页的内存量
node_memory_Dirty 写回磁盘的数据大小
node_memory_HardwareCorrupted 内核识别为已损坏或不工作的内存量
node_memory_HugePages_Free 系统当前总共拥有的空闲HugePages数目
node_memory_HugePages_Rsvd 系统当前总共保留的HugePages数目
node_memory_HugePages_Surp 超过系统设定的常驻HugePages的数目
node_memory_HugePages_Total 系统当前总共拥有的HugePages内存量
node_memory_Hugepagesize 每一页HugePages的大小
node_memory_Inactive 最近使用较少的内存, 优先被回收利用
node_memory_Inactive_anon 长时间未被访问过的匿名页和交换区缓存(包括 tmpfs)
node_memory_Inactive_file 长时间未被访问过的与文件对应的内存页
node_memory_KernelStack 内核栈大小(常驻内存,不可回收)
node_memory_Mapped 内存缓存页占用量
node_memory_MemAvailable 内存可使用量(Free+Buffers+Cache-Share-tmpfs-ramfs)
node_memory_MemAvailable_percent 内存可使用量百分比(Free+Buffers+Cache-Share-tmpfs-ramfs)
node_memory_MemFree 内存空闲量
node_memory_MemFree_percent 内存空闲百分比
node_memory_MemTotal 内存总量
node_memory_MemUsed 内存使用量
node_memory_MemUsed_percent 内存使用百分比
node_memory_Mlocked mlock系统调用锁定的内存大小
node_memory_NFS_Unstable 发送给NFS尚未写入硬盘缓存页
node_memory_PageTables 虚拟和物理内存地址之间映射的内存
node_memory_SReclaimable slab分配的内存中可回收的部分
node_memory_SUnreclaim slab分配的内存中不可回收的部分
node_memory_Shmem 共享内存
node_memory_Slab 内核用于缓存数据结构以供自己使用的内存
node_memory_SwapCached 跟踪已从交换区中提取出来但尚未修改的页面的内存
node_memory_SwapCached_percent 跟踪已从交换区中提取出来但尚未修改的页面的内存百分比
node_memory_SwapFree 交换分区空闲空间
node_memory_SwapFree_percent 交换分区空闲空间百分比
node_memory_SwapTotal 内存交换分区大小
node_memory_SwapUsed 交换分区使用的空间
node_memory_SwapUsed_percent 交换分区使用的空间百分比
node_memory_Unevictable 不可被回收的内存
node_memory_VmallocChunk vmalloc 可分配的最大的逻辑连续的内存大小
node_memory_VmallocTotal 已用总内存大小
node_memory_VmallocUsed vmalloc已用的总内存大小
node_memory_Writeback 回写硬盘的缓存页
node_memory_WritebackTmp 临时写回缓冲区的内存

4 系统指标

4.1 主要指标

指标 解释 范围
Processes 进程数
Threads 线程数
FD 文件句柄数
NtpOffset NTP时间偏差
Liveness 连通性(1:异常; 0:正常)
Readiness SSH连通性(1:异常; 0:正常)

4.2 次要指标

指标 解释 范围
node_load1 负载Load1
node_load15 负载Load15
node_load5 负载Load5
node_boot_time 系統启动时间
node_context_switches 系统上下文切换数
node_context_switches_rate 系统上下文切换速率
node_filefd_allocated 系统文件句柄数
node_filefd_allocated_percent 系统文件句柄使用率
node_filefd_maximum 系统最大文件句柄数
node_forks
node_intr 系统中断次数
node_intr_rate 系统每秒中断次数
node_process_num 进程数量
node_procs_blocked 当前被阻塞的任务的数目
node_procs_running 当前运行队列的任务的数目
node_thread_num 系统线程数量
node_uptime 系统启动时长
process_cpu_seconds_total 系统CPU使用时间
process_max_fds 进程打开最大文件文件描述符数
process_open_fds 文件打开文件描述符数
process_resident_memory_bytes 进程常驻内存大小
process_start_time_seconds 进程开始时间
process_virtual_memory_bytes 进程占用的虚拟内存的大小
process_virtual_memory_max_bytes 进程占用的最大虚拟内存
up 机器是否活跃

5 网络指标

5.1 主要指标

指标 解释 范围
BytesSentRate 网卡流出速率
BytesRecvRate 网卡流入速率
PacketsSentRate 网卡流出报文数
PacketsRecvRate 网卡流入报文数
TcpConns TCP连接数
TCP状态连接数
TcpInSegments 入流TCP分段报文数
TcpOutSegments 出流TCP分段报文数
TcpRetrans TCP重传次数
TcpInerrs 入流TCP报文错误数
IpInreceives 入流IP报文数
IpIndiscards 入流IP报文丢包数
Errin 网卡流入错误数
Errout 网卡流出错误数
Dropin 网卡流入丢包数
Dropout 网卡流出丢包数

次要指标

指标 解释 范围
ListenOverflows TCP队列满
TcpActiveOpens TCP主动连接数
node_netstat_Tcp_ActiveOpens 客户端通过connect发起主动打开数
node_netstat_Tcp_ActiveOpens_rate 每秒客户端通过connect发起主动打开数
node_netstat_Tcp_EstabResets ESTABLISHED状态或CLOSE-WAIT状态直接转换到CLOSED状态的TCP连接数
node_netstat_Tcp_EstabResets_rate 每秒ESTABLISHED状态或CLOSE-WAIT状态直接转换到CLOSED状态的TCP连接数
node_netstat_Tcp_OutRsts TCP发送的报文数
node_netstat_Tcp_OutRsts_rate 每秒TCP发送的报文数
node_netstat_Tcp_PassiveOpens LISTEN状态直接转换到SYN-RCVD状态的TCP连接数
node_netstat_Tcp_PassiveOpens_rate 每秒LISTEN状态直接转换到SYN-RCVD状态的TCP连接数
node_network_receive_bytes 网络接口接收流量
node_network_receive_bytes_rate 每秒网络接口接收流量
node_network_receive_compressed 网络接口接收的压缩数据包总数
node_network_receive_compressed_rate 每秒网络接口接收的压缩数据包数
node_network_receive_drop 网络接口接收的丢弃数据包总数
node_network_receive_drop_rate 每秒网络接口接收的丢弃数据包数
node_network_receive_errs 网络接口接收的错误数据包总数
node_network_receive_errs_rate 每秒网络接口接收的错误数据包数
node_network_receive_fifo 网络接口接收的fifo数据包总数
node_network_receive_fifo_rate 每秒网络接口接收的fifo数据包总数
node_network_receive_frame 网络接口接收的帧数据包总数
node_network_receive_frame_rate 每秒网络接口接收的帧数据包总数
node_network_receive_multicast 网络接口接收的多播数据包数
node_network_receive_packets 网络接口接收的数据包总数
node_network_receive_packets_rate 每秒网络接口接收的数据包数
node_network_transmit_bytes 网络接口发送数据量
node_network_transmit_bytes_rate 每秒网络接口发送数据量
node_network_transmit_compressed 网络接口发送的压缩数据包总数
node_network_transmit_drop 网络接口发送的丢弃的数据包总数
node_network_transmit_drop_rate 网络接口每秒发送的丢弃的数据包数
node_network_transmit_errs 网络接口发送的错误数据包总数
node_network_transmit_errs_rate 网络接口每秒发送的错误数据包数
node_network_transmit_fifo 网络接口发送的fifo数据包总数
node_network_transmit_frame 网络接口发送的帧数据包总数
node_network_transmit_multicast 网络接口发送的多播数据包数
node_network_transmit_packets 网络接口发送的数据包总数
node_network_transmit_packets_rate 每秒网络接口发送的数据包数
node_network_up 网络接口启动
node_ssstat_socket_kernel ss.kernel
node_ssstat_socket_toal ss.total
node_ssstat_tcp_closed ss.closed
node_ssstat_tcp_estab ss.tcp_estab
node_ssstat_tcp_orphaned ss.tcp_orphaned
node_ssstat_tcp_ports ss.tcp_ports
node_ssstat_tcp_synrecv ss.tcp_syncrecv
node_ssstat_tcp_timewait ss.tcp_timewait
node_ssstat_tcp_total ss.tcp_total

6 磁盘指标

6.1 主要指标

指标 解释 范围
DiskPercent 磁盘使用率 28.5% ~ 31.5%
BusyPercent 磁盘繁忙 0% ~ 0.05%
ReadKBytes 读流量 0.06KB ~ 3.61KB
WriteKBytes 写流量 71KB ~ 531KB
ReadCount 读次数 0rps ~ 0.25rps
WriteCount 写次数 1.57wps ~ 3.18wps
InodesPercent Inode使用率 2% ~ 2%
InodesUsed Inode使用量 15902 ~ 15590
DiskUsed 磁盘使用量 20.8GB ~ 21.67GB
VFS文件操作次数

6.2 次要指标

指标 解释 范围
DiskTotal 磁盘总量
InodesTotal Inodes总量
node_read_disk_err 磁盘读错误数
node_disk_bytes_read 磁盘读数据量
node_disk_bytes_read_rate 磁盘读数据速率
node_disk_bytes_written 磁盘写数据量
node_disk_bytes_written_rate 磁盘写数据速率
node_disk_ifree 磁盘inodes空闲数
node_disk_inodes 磁盘inodes总数
node_disk_io_now 磁盘未完成IO数量
node_disk_io_time_ms 磁盘IO消耗时间
node_disk_io_time_weighted 磁盘IO消耗加权时间
node_disk_io_used_percent 磁盘IO使用率
node_disk_inode_usage Inode使用率
node_disk_iused 磁盘inode使用数
node_disk_read_time_ms 磁盘分区读花费毫秒数
node_disk_reads_completed 磁盘分区读完成次数
node_disk_reads_merged 磁盘分区合并读完成次数
node_disk_reads_rate 磁盘分区每秒读次数
node_disk_sectors_read 磁盘扇区读次数
node_disk_sectors_written 磁盘扇区写次数
node_disk_usage 磁盘分区使用率
node_disk_write_time_ms 磁盘写消耗时间
node_disk_writes_completed 磁盘分区写完成次数
node_disk_writes_merged 磁盘分区合并写完成次数
node_disk_writes_rate 磁盘分区每秒写次数

7 GPU指标

7.1 主要指标

指标 解释 范围
GpuUtilization GPU使用率
GpuMemoryUsage GPU内存使用率
GpuMemoryUsed GPU内存使用量
GpuPowerDraw GPU功耗
GpuTemperature GPU温度

7.2 次要指标

指标 解释 范围
GpuFanSpeed GPU风扇转速

8 JVM指标

指标 解释 范围
jvm_memory_used_bytes jvm_memory_used_bytes
jvm_memory_max_bytes jvm_memory_max_bytes
jvm_threads_states_threads jvm_threads_states_threads
jvm_gc_pause_seconds_max jvm_gc_pause_seconds_max
jvm_gc_pause_seconds_count jvm_gc_pause_seconds_count
jvm_gc_pause_seconds_sum jvm_gc_pause_seconds_sum
jvm_buffer_count_buffers jvm_buffer_count_buffers
jvm_buffer_memory_used_bytes jvm_buffer_memory_used_bytes
jvm_buffer_total_capacity_bytes jvm_buffer_total_capacity_bytes
jvm_classes_unloaded_classes_total jvm_classes_unloaded_classes_total
jvm_gc_max_data_size_bytes jvm_gc_max_data_size_bytes
jvm_gc_memory_allocated_bytes_total jvm_gc_memory_allocated_bytes_total
jvm_threads_peak_threads jvm_threads_peak_threads
jvm_classes_loaded_classes jvm_classes_loaded_classes
jvm_gc_live_data_size_bytes jvm_gc_live_data_size_bytes
jvm_gc_memory_promoted_bytes_total jvm_gc_memory_promoted_bytes_total
jvm_threads_daemon_threads jvm_threads_daemon_threads
jvm_threads_live_threads jvm_threads_live_threads
system_cpu_usage system_cpu_usage
system_load_average_1m system_load_average_1m
system_cpu_count system_cpu_count
process_cpu_usage process_cpu_usage

参考文献