我管理一系列 Windows 和 Linux 服务器。在 Windows 服务器上,我每 15 秒将以下性能计数器记录到 CSV 文件中:
瓶颈分析:
- 处理器队列长度
- 内存:页面输入/秒(从磁盘读取页面以解决硬页面错误(即当系统的物理 RAM 太少时)的速率)
- 物理磁盘:当前磁盘队列长度(对于每个驱动器)
- 网络接口:输出队列长度(针对每个 NIC)
一般活动:
- 处理器时间百分比(总计)
- 总工作集(所有进程的总和)
- 内存:可用兆字节
- 物理磁盘:字节数/秒(每个驱动器)
- 网络接口:总字节数/秒(每个 NIC)
我的 Linux 服务器缺少类似的性能日志。我查看了 Sysstat (http://sebastien.godard.pagesperso-orange.fr/),虽然相当复杂,但看起来很有希望。
如果我要使用 Sysstat(或其他程序),我该如何设置上述 Windows 计数器的 Linux 等效程序?
答案1
dstat 和 collectl 是很好的工具,可以为您提供系统概览,但如果您希望获取特定信息放入您的 CSV 文件,我认为最简单的方法是解析 sysstat 工具或 vmstat 的输出,或者只是解析 /proc 中的原始数据。
具体来说:
处理器队列长度:/proc/loadavg 的 1 分钟平均负载
内存页面输入/输出:来自 vmstat 输出的 si/so 列
物理磁盘:iostat -x 的输出
网络接口输出队列长度:ethtool -g ethN 和 ifconfig ethN(静态值,所以可能没有多大意义?)
% 处理器时间:例如,使用“mpstat -P ALL”查看 mpstat 或每个 CPU
总工作集:参见“free”或“vmstat -s”的输出
可用内存:free 或 vmstat -s
物理磁盘:参见 iostat -x
nic:ip -s link 或 netstat -i 并计算,或 sar -n DEV
答案2
我想推荐另一个免费工具,叫做海狮。它是一款基于云的监控工具,可执行一些众所周知的系统分析命令,如、、、top
等,并以非常漂亮的时间轴格式呈现。这里要注意的最重要的一点是安装过程非常简单。它很快就能完成设置,数据也很快就能开始填充。如果您有数百台服务器需要监控,那么这非常有用。uptime
iostat
vmstat
netstat