参考:https://blog.51cto.com/u_11555417/5515816
(1 - avg(irate(node_cpu_seconds_total{mode="idle"}[1m])) by (instance)) * 100
100 - (avg by (instance) (rate(node_cpu_seconds_total{job="node",mode="idle"}[1m])) * 100)
#5分钟
100 - avg (irate(node_cpu_seconds_total{job="node",mode="idle"}[5m])) by (instance) * 100
四舍五入
round(100 - avg(irate(node_cpu_seconds_total{mode="idle"}[1m])) by (instance) * 100 )
#大于80告警
round(100 - avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by (instance) * 100 ) > 80
node_memory_MemTotal_bytes - 主机上的总内存
node_memory_MemFree_bytes - 主机上的空闲内存
node_memory_Buffers_bytes_bytes - 缓冲区缓存中的内存
node_memory_Cached_bytes_bytes - 页面缓存中的内存
#计算内存百分比:(总内存-(空余内存+缓存+缓冲))/总内存*100
round((node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Cached_bytes + node_memory_Buffers_bytes)) / node_memory_MemTotal_bytes * 100)
告警表达式:当内存使用率超过80的时候就告警
round((node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Cached_bytes + node_memory_Buffers_bytes)) / node_memory_MemTotal_bytes * 100) > 80
#和内存类似,我们使用 (空闲的空间)/总空间 * 100 得出空闲空间的百分比
node_filesystem_free_bytes{mountpoint="/",device="rootfs"} / node_filesystem_size_bytes{mountpoint="/",device="rootfs"} * 100
#然后使用100 减去空闲的百分比,就得到磁盘使用的百分比,由于可能有多个磁盘空间,所以我们这里使用正则表达式,表示所有分区:
100-(node_filesystem_free_bytes{fstype=~"ext4|xfs"}/node_filesystem_size_bytes {fstype=~"ext4|xfs"}*100)
向上取整
ceil(100-(node_filesystem_free_bytes{fstype=~"ext4|xfs"}/node_filesystem_size_bytes {fstype=~"ext4|xfs"}*100))
#告警表达式
round(100-(node_filesystem_free_bytes{fstype=~"ext4|xfs"}/node_filesystem_size_bytes {fstype=~"ext4|xfs"}*100)) > 80
#先求出5m之内磁盘IO的增长率:</p>
irate(node_disk_io_time_seconds_total[5m])
#根据avg行数求出这个时间段的平均值,也就是这个时间段的IO:
avg(irate(node_disk_io_time_seconds_total[5m])) by (instance) * 100
#100减去这个磁盘的IO使用率,就得到磁盘IO得空闲百分比,跟60相比较就得到如下表达式
100-(avg(irate(node_disk_io_time_seconds_total[1m])) by(instance)* 100) < 60
round(irate(node_network_receive_bytes_total{instance!~"data.*",device!~'tap.*|veth.*|br.*|docker.*|vir.*|lo.*|vnet.*'}[1m])/1024) > 2048
node_netstat_Tcp_CurrEstab
node_netstat_Tcp_CurrEstab >500