nmon监控🪸
nmon监控🪸
nmon
是一个性能监控工具,主要用于 Linux 系统,它可以收集系统的各种性能指标,包括 CPU、内存、磁盘 I/O、网络、进程、文件系统、系统调用等。nmon
工具生成的报告可以帮助系统管理员诊断和优化系统性能。
官网地址:nmon and njmon | Site / Download
示例:
nmon -f -s 1 -c 480 -m /root/result -t
-f
:批处理模式。-s 1
:每 1 秒采集一次数据。-c 480
:总共采集 480 个样本,即运行 480 秒(8 分钟)。-m /root/result
:将生成的数据文件存储在/root/result
目录下。-t
:在生成的文件名中包含时间戳。
一、安装nmon
方式一:使用yum安装
[root@localhost ~]# yum -y install nmon
方式二:官网下载
[root@localhost ~]# wget http://sourceforge.net/projects/nmon/files/nmon16m_helpsystems.tar.gz
[root@localhost ~]# tar -zxvf nmon16m_helpsystems.tar.gz
[root@localhost ~]# mv nmon_x86_64_centos7 nmon (进入解压目录后,为方便操作重命名)
二、使用nmon
在控制机执行脚本,批量执行nmon命令。
[root@localhost ~]# cat nmon.sh #!/bin/bash #执行nmon命令统计运行情况 for i in $(cat /tmp/sshpush/iplist) do echo -e "\033[35m===============当前执行主机为 $i===================\033[0m" ssh $i "/root/nmon -ft -s 1 -c480 -m /root/result" done
上述脚本执行完毕后,执行本脚本,将各目标主机上的监控文件重命名并复制到控制机。
[root@localhost ~]# cat transfer.sh #!/bin/bash # 定义目标目录 DEST_DIR="/tmp/test/" # 检查目标目录是否存在 if [ ! -d "${DEST_DIR}" ]; then echo "目标目录 ${DEST_DIR} 不存在!" exit 1 fi # 读取 iplist 文件中的每一行 while IFS= read -r i; do echo -e "\033[35m==============${i}=================\033[0m" # 通过 SSH 获取目标主机上的最新文件名 DEST_FILE=$(ssh "${i}" "find '${DEST_DIR}' -maxdepth 1 -type f -printf '%T+ %p\n' | sort -r | head -n 1 | cut -d' ' -f 2- | xargs basename" < /dev/null) # 检查 DEST_FILE 是否为空 if [ -z "$DEST_FILE" ]; then echo "${DEST_DIR}目录下为空!" exit 1 fi # 定义新文件名 DEST_MODIFY_FILE="${i}.nmon" # 通过 SSH 执行命令,重命名文件 if ssh "${i}" "mv '${DEST_DIR}/${DEST_FILE}' '${DEST_DIR}/${DEST_MODIFY_FILE}'" < /dev/null; then echo -e "\033[36m目标主机文件名称修改成功!\033[0m" else echo -e "\033[31m目标主机文件名称修改失败!\033[0m" exit 1 fi # 将目标主机文件转移到控制节点 if scp -r "${i}:${DEST_DIR}/${DEST_MODIFY_FILE}" /root/result/salt/ < /dev/null; then echo -e "\033[36m文件传输成功!\033[0m" else echo -e "\033[31m文件传输失败!\033[0m" exit 1 fi done < /tmp/sshpush/iplist