granfana nimon 相关监控命令
监控数据统计 CPU单位是% SELECT (mean("sys")+mean("user") ) as "Total-CPU /%" FROM "cpu_total" where $timeFilter GROUP BY "host" TZ('Asia/Shanghai') ; MemActive% SELECT (mean("Active")/ mean("MemTotal"))*100 FROM "proc_meminfo" WHERE $timeFilter GROUP BY "host" TZ('Asia/Shanghai') ; network Mbps select mean("network") from ( SELECT (sum("obytes") +sum("ibytes"))*8/(1024*1024) as network FROM "networks" WHERE $timeFilter GROUP BY time(1s),"host" TZ('Asia/Shanghai') ) GROUP BY "host"; disk-busy select mean("busy") from ( SELECT sum("busy") as "busy" FROM "disks" WHERE $timeFilter GROUP BY time(1s),"host" TZ('Asia/Shanghai') ) GROUP BY "host"; nimon hostname 源:XXX.XXX.XXX.XXX && nimon -H -s 2 -c 3 -i 目标:XXX.XXX.XXX.XXX -x nimon -p 8086 nimon hostname XXX.XXX.XXX.XXX && nimon -H -s 1 -c 14400 -i 目标:XXX.XXX.XXX.XXX -x nimon -p 8086 hostname XXX.XXX.XXX.XXX && nimon -H -s 1 -c 28800 -x nimon -i 目标:XXX.XXX.XXX.XXX -p 8086 nimon -H -s 1 -c 28800 -x nimon -i 目标:XXX.XXX.XXX.XXX -p 8086 show GLOBAL variables LIKE 'long_query_time'; show GLOBAL variables LIKE 'slow_query%'; show STATUS like 'table%'; 给定时间间隔的服务器状态 vmstat 2 表示vmstat每2秒采集数据,一直采集,直到我们主动结束程序。 参数详解 Linux 内存监控vmstat命令输出分成六个部分: (1)进程procs: r:在运行队列中等待的进程数 。 b:在等待io的进程数 。 (2)Linux 内存监控内存memoy: swpd:现时可用的交换内存(单位KB)。 free:空闲的内存(单位KB)。 buff: 缓冲去中的内存数(单位:KB)。 cache:被用来做为高速缓存的内存数(单位:KB)。 (3) Linux 内存监控swap交换页面 si: 从磁盘交换到内存的交换页数量,单位:KB/秒。 so: 从内存交换到磁盘的交换页数量,单位:KB/秒。 (4)Linux 内存监控 io块设备: bi: 发送到块设备的块数,单位:块/秒。 bo: 从块设备接收到的块数,单位:块/秒。 (5)Linux 内存监控system系统: in: 每秒的中断数,包括时钟中断。 cs: 每秒的环境(上下文)转换次数。 (6)Linux 内存监控cpu中央处理器: cs:用户进程使用的时间 。以百分比表示。 sy:系统进程使用的时间。 以百分比表示。 id:中央处理器的空闲时间 。以百分比表示。 常见诊断: 1) 假如 r 经常大于4 ,且 id 经常小于40,表示中央处理器的负荷很重。 2) 假如 bi,bo 长期不等于0,表示物理内存容量太小。 每个参数的具体意思如下: r 表示运行队列(就是说多少个进程真的分配到CPU),我测试的服务器目前CPU比较空闲,没什么程序在跑,当这个值超过了CPU数目,就会出现CPU瓶颈 了。这个也和top的负载有关系,一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,服务器的状态很危险。top的负载类似每秒的运行队 列。如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高。 b 表示阻塞的进程,这个不多说,进程阻塞,大家懂的。 swpd 虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器。 free 空闲的物理内存的大小,我的机器内存总共8G,剩余3415M。 buff Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存,我本机大概占用300多M cache cache直接用来记忆我们打开的文件,给文件做缓冲,我本机大概占用300多M(这里是Linux/Unix的聪明之处,把空闲的物理内存的一部分拿来做文件和目录的缓存,是为了提高 程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。) si 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。我的机器内存充裕,一切正常。 so 每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。 dstat -tcdlmnsygr --disk-util CPU使用情况 dstat -cyl --proc-count --top-cpu 查看使用CPU时间最多的进程、进程延迟最长的、I/O最大进程 dstat -c --top-cpu -d --top-bio --top-latency 1 4 内存使用情况 dstat -glms --top-mem 核数 cat /proc/cpuinfo|grep "physical id" |uniq|wc -l 内存 cat /proc/meminfo|grep MemTotal