PostgreSQL 实时健康监控 大屏 - 高频指标(服务器) - 珍藏级

1 minute read

背景

最关键的一些数据库健康指标,趋势监测。

1 CPU

1,5,15分钟平均负载,超过CPU核数时,较高,需要关注优化或拆库或加资源。

uptime  
 21:29:36 up 36 days, 10:46,  2 users,  load average: 0.00, 0.75, 1.25  

2 IO读写吞吐

man iostat看所有指标含义

iostat -x 1  
Linux 3.10.0-693.2.2.el7.x86_64 (iZbp13nu0s9j3x3op4zpd4Z)       06/13/2018      _x86_64_        (56 CPU)  
  
avg-cpu:  %user   %nice %system %iowait  %steal   %idle  
           0.32    0.00    0.14    0.02    0.00   99.52  
  
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util  
vda               0.00     0.08    0.03    0.23     1.01     5.63    51.49     0.01   32.23    8.77   35.39   0.64   0.02  
vdb               0.00     1.32    0.03   10.28     9.84  1123.44   219.71     0.14   13.82    7.63   13.84   0.17   0.18  
vdc               0.00     0.39    0.05    1.56     7.25   183.56   237.36     0.00    0.94    1.34    0.93   0.10   0.02  

3 读写IOPS

都来自iostat

4 读写IO响应延迟

都来自iostat

5 block device UTIL

都来自iostat

100%表示BLOCK设备已非常繁忙,需要加资源,比如换SSD。

6 内存

Documentation/filesystems/proc.txt

可用内存

脏页

页表大小

cat /proc/meminfo   
MemTotal:       230943368 kB  
MemFree:         1177172 kB  
MemAvailable:   218722632 kB  可用内存  
Buffers:          559332 kB  
Cached:         222984788 kB  
SwapCached:            0 kB  
Active:         123800268 kB  
Inactive:       99803032 kB  
Active(anon):    1934628 kB  
Inactive(anon):  7540356 kB  
Active(file):   121865640 kB  
Inactive(file): 92262676 kB  
Unevictable:           0 kB  
Mlocked:               0 kB  
SwapTotal:             0 kB  
SwapFree:              0 kB  
Dirty:              2208 kB  脏页  
Writeback:             0 kB  
AnonPages:         59560 kB  
Mapped:          6962900 kB  
Shmem:           9415496 kB  
Slab:            4724068 kB  
SReclaimable:    4567004 kB  
SUnreclaim:       157064 kB  
KernelStack:        8816 kB  
PageTables:        29400 kB  页表大小  
NFS_Unstable:          0 kB  
Bounce:                0 kB  
WritebackTmp:          0 kB  
CommitLimit:    207849028 kB  
Committed_AS:   69435832 kB  
VmallocTotal:   34359738367 kB  
VmallocUsed:      432284 kB  
VmallocChunk:   34359294992 kB  
HardwareCorrupted:     0 kB  
AnonHugePages:         0 kB  
HugePages_Total:       0  
HugePages_Free:        0  
HugePages_Rsvd:        0  
HugePages_Surp:        0  
Hugepagesize:    1048576 kB  
DirectMap4k:      120700 kB  
DirectMap2M:     4073472 kB  
DirectMap1G:    232783872 kB  

6 网络

收发带宽

dstat

dstat  
You did not select any stats, using -cdngy by default.  
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--  
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw   
  0   0 100   0   0   0|  18k 1313k|   0     0 |   0     0 |3183  6612   
  0   0 100   0   0   0|   0     0 | 402B  770B|   0     0 | 414   307   

7 D状态进程数

ps -axo stat|grep -c "D"  
0  

8 硬盘健康状态,SSD剩余寿命

smartctl 或 SSD硬件厂商提供的状态监测软件  

8 服务器硬件错误

如果有内容,需要维修硬件。

cat /var/log/mcelog

9 网卡速率状态变化

观测由于网线或交换机或网卡接口问题导致的速率变化

ethtool eth0
...
ethtool ethn

10 文件系统

1、剩余空间

df -h

2、剩余inode

df -i

参考

《Use PostgreSQL collect and analyze Operation System statistics》

Flag Counter

digoal’s 大量PostgreSQL文章入口