五个常用的Linux监控脚本代码
原创五个常用的Linux监控脚本代码
在Linux系统中,监控是确保系统稳定运行的关键。以下列举了五个常用的Linux监控脚本,这些脚本可以帮助管理员实时监控系统的各种状态,包括CPU使用率、内存使用情况、磁盘空间、网络流量等。以下是这些监控脚本的详细说明和代码示例。
1. 监控CPU使用率
CPU使用率是衡量系统性能的重要指标。以下是一个易懂的bash脚本,用于监控CPU的使用率。
bash
#!/bin/bash
while true; do
read cpu_usage_1 cpu_usage_2 cpu_usage_3 < /proc/stat
idle_1=$(echo $cpu_usage_1 | awk '{print $4}')
idle_2=$(echo $cpu_usage_2 | awk '{print $4}')
idle_3=$(echo $cpu_usage_3 | awk '{print $4}')
total_usage_1=$((cpu_usage_1 - idle_1))
total_usage_2=$((cpu_usage_2 - idle_2))
total_usage_3=$((cpu_usage_3 - idle_3))
idle_diff=$((idle_3 - idle_2))
total_diff=$((total_usage_3 - total_usage_2))
cpu_usage=$((100 * (total_diff - idle_diff) / total_diff))
echo "CPU Usage: $cpu_usage%"
sleep 1
done
此脚本通过读取`/proc/stat`文件中的CPU使用数据,计算并输出CPU的使用率。
2. 监控内存使用情况
内存使用情况也是系统性能的关键指标。以下是一个监控内存使用情况的bash脚本。
bash
#!/bin/bash
while true; do
read mem_total mem_used mem_free < /proc/meminfo
mem_used_percent=$(echo "scale=2; $mem_used/$mem_total*100" | bc)
echo "Memory Usage: $mem_used_percent%"
sleep 1
done
此脚本通过读取`/proc/meminfo`文件中的内存信息,计算并输出内存的使用率。
3. 监控磁盘空间
磁盘空间不足或许造成系统性能下降或服务中断。以下是一个监控磁盘空间的bash脚本。
bash
#!/bin/bash
while true; do
df -h | awk 'NR==2 {print $5 " " $1}'
sleep 1
done
此脚本使用`df -h`命令输出磁盘使用情况,并只显示第二行(即根目录的使用情况)。
4. 监控网络流量
网络流量监控对于了解系统网络状态非常有用。以下是一个监控网络流量的bash脚本。
bash
#!/bin/bash
while true; do
read bytes_sent_1 bytes_recv_1 < /proc/net/dev
read bytes_sent_2 bytes_recv_2 < /proc/net/dev
sent_diff=$((bytes_sent_2 - bytes_sent_1))
recv_diff=$((bytes_recv_2 - bytes_recv_1))
echo "Bytes Sent: $sent_diff"
echo "Bytes Received: $recv_diff"
sleep 1
done
此脚本通过读取`/proc/net/dev`文件中的网络设备统计信息,计算并输出发送和接收的字节数。
5. 监控系统负载
系统负载是衡量系统当前工作负载的指标。以下是一个监控系统负载的bash脚本。
bash
#!/bin/bash
while true; do
read one two three < /proc/loadavg
echo "Load Average: 1 min: $one, 5 min: $two, 15 min: $three"
sleep 1
done
此脚本通过读取`/proc/loadavg`文件中的系统负载信息,输出1分钟、5分钟和15分钟的系统负载。
通过以上五个监控脚本,管理员可以实时了解Linux系统的状态,及时发现问题并进行处理。这些脚本可以选用实际需求进行调整和优化,以满足不同的监控需求。