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

 

posted @ 2024-09-14 15:01  逍遥无名  阅读(6)  评论(0编辑  收藏  举报