下面是 Python 监控 Linux 内存并写入 MongoDB 的完整攻略:
步骤一:安装 pymongo
pymongo 是 Python 与 MongoDB 交互的一个库,安装方式如下:
pip install pymongo
步骤二:获取系统内存信息
在 Python 中获取系统内存信息需要使用 psutil 这个库,以获取总内存和空闲内存为例,代码如下:
import psutil
# 获取系统总内存和空闲内存
mem = psutil.virtual_memory()
total_mem = mem.total
free_mem = mem.available
步骤三:连接 MongoDB
使用 Pymongo 连接 MongoDB 的代码如下:
import pymongo
# 连接 MongoDB 数据库
client = pymongo.MongoClient('mongodb://user:password@localhost:27017/')
db = client['mydb']
collection = db['memory_info']
其中,'user'、'password'、'localhost'、27017、'mydb' 和 'memory_info' 根据实际情况修改。
步骤四:写入 MongoDB
使用 pymongo 写入 MongoDB 的代码如下:
# 定义需要写入的数据结构
data = {'total_memory': total_mem, 'free_memory': free_mem}
# 写入 MongoDB
result = collection.insert_one(data)
其中,我们定义了一个字典 data 来存储内存信息,并通过 insert_one 方法写入了 MongoDB,中间返回值 result 可以忽略。
示范应用
示例一
通过定时器每 5 秒钟获取一次系统内存信息,并将信息写入 MongoDB。
import psutil
import pymongo
from datetime import datetime
import time
# 连接 MongoDB 数据库
client = pymongo.MongoClient('mongodb://user:password@localhost:27017/')
db = client['mydb']
collection = db['memory_info']
# 定时器,每 5 秒钟获取一次系统内存信息,并将信息写入 MongoDB
while True:
# 获取系统总内存和空闲内存
mem = psutil.virtual_memory()
total_mem = mem.total
free_mem = mem.available
# 定义需要写入的数据结构
data = {'total_memory': total_mem, 'free_memory': free_mem, 'time': datetime.now()}
# 写入 MongoDB
result = collection.insert_one(data)
print('Data inserted : ', data)
# 睡眠 5 秒钟
time.sleep(5)
示例二
获取系统内存信息并打印输出,不写入 MongoDB。
import psutil
# 获取系统总内存和空闲内存
mem = psutil.virtual_memory()
total_mem = mem.total
free_mem = mem.available
# 打印输出
print('Total memory:', total_mem)
print('Free memory:', free_mem)
这两个示例展示了如何使用 Python 获取系统内存信息并写入 MongoDB,或者仅获取内存信息并进行操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python监控linux内存并写入mongodb(推荐) - Python技术站