在CentOS系統中,你可以使用Python編寫腳本來進行系統監控。以下是一些基本步驟和示例,幫助你開始使用Python進行系統監控:
首先,確保你已經安裝了Python。CentOS 7默認安裝了Python 2.7,但推薦使用Python 3。你可以使用以下命令安裝Python 3和pip:
sudo yum install python3 python3-pip
然后,安裝一些常用的系統監控庫,例如psutil
和matplotlib
:
pip3 install psutil matplotlib
下面是一個簡單的Python腳本示例,用于監控CPU使用率、內存使用率和磁盤I/O。
import psutil
import time
import matplotlib.pyplot as plt
# 初始化數據列表
cpu_usage = []
memory_usage = []
disk_io = []
# 監控間隔(秒)
interval = 5
# 監控時長(秒)
duration = 60
# 開始監控
end_time = time.time() + duration
while time.time() < end_time:
# 獲取CPU使用率
cpu_usage.append(psutil.cpu_percent(interval=interval))
# 獲取內存使用率
memory = psutil.virtual_memory()
memory_usage.append(memory.percent)
# 獲取磁盤I/O統計信息
disk_io_stats = psutil.disk_io_counters()
disk_io.append(disk_io_stats.read_bytes + disk_io_stats.write_bytes)
# 打印當前監控數據
print(f"Time: {time.strftime('%H:%M:%S')}, CPU Usage: {cpu_usage[-1]}%, Memory Usage: {memory_usage[-1]}%, Disk I/O: {disk_io[-1]} bytes")
# 等待下一個監控間隔
time.sleep(interval)
# 繪制圖表
plt.figure(figsize=(12, 6))
plt.subplot(3, 1, 1)
plt.plot(cpu_usage, label='CPU Usage (%)')
plt.xlabel('Time')
plt.ylabel('Usage (%)')
plt.title('CPU Usage Over Time')
plt.legend()
plt.subplot(3, 1, 2)
plt.plot(memory_usage, label='Memory Usage (%)', color='orange')
plt.xlabel('Time')
plt.ylabel('Usage (%)')
plt.title('Memory Usage Over Time')
plt.legend()
plt.subplot(3, 1, 3)
plt.plot(disk_io, label='Disk I/O (bytes)', color='green')
plt.xlabel('Time')
plt.ylabel('I/O (bytes)')
plt.title('Disk I/O Over Time')
plt.legend()
plt.tight_layout()
plt.show()
將上述腳本保存為monitor.py
,然后在終端中運行:
python3 monitor.py
你可以使用cron
來定期運行監控腳本。編輯crontab
文件:
crontab -e
添加以下行以每分鐘運行一次監控腳本:
* * * * * /usr/bin/python3 /path/to/monitor.py >> /var/log/monitor.log 2>&1
保存并退出編輯器。
你可以根據需要擴展監控腳本,例如:
通過這些步驟,你可以在CentOS系統上使用Python進行基本的系統監控。