使用python编写一个linux系统的系统监控脚本,要求有服务自启动功能
时间: 2024-05-15 16:19:37 浏览: 97
用Python脚本实现对Linux服务器的监控
以下是一个简单的系统监控脚本,它可以监控系统的CPU、内存和磁盘使用情况,并在需要时自动重启指定的服务。该脚本可以在Linux系统上使用。
```python
import psutil
import subprocess
import time
# 要监控的进程名
process_name = "nginx"
# 要监控的磁盘路径
disk_path = "/"
# 要监控的CPU和内存使用率阈值
cpu_threshold = 80.0
mem_threshold = 80.0
# 自启动命令
start_command = "systemctl start nginx.service"
while True:
# 获取CPU和内存使用率
cpu_usage = psutil.cpu_percent()
mem_usage = psutil.virtual_memory().percent
# 获取磁盘使用情况
disk_usage = psutil.disk_usage(disk_path).percent
print("CPU usage: {}%, memory usage: {}%, disk usage: {}%".format(cpu_usage, mem_usage, disk_usage))
# 如果CPU或内存使用率超过阈值,或磁盘使用率超过90%,则重启指定的进程
if cpu_usage > cpu_threshold or mem_usage > mem_threshold or disk_usage > 90:
print("Restarting process {}...".format(process_name))
subprocess.call(start_command.split())
time.sleep(60) # 每60秒检查一次
```
要使用此脚本进行系统监控,请将其保存为`monitor.py`,然后在终端中运行以下命令:
```
python3 monitor.py
```
该脚本将在后台运行,并每60秒检查一次系统使用情况。如果CPU或内存使用率超过阈值,或磁盘使用率超过90%,则脚本将重启指定的进程(在本例中为nginx)。如果您希望监控其他进程,请将`process_name`变量更改为所需的进程名。如果您希望监控其他磁盘,请将`disk_path`变量更改为所需的路径。您还可以更改CPU和内存使用率阈值,以更好地适应您的系统。
阅读全文