python监控linux内存并写入mongodb(推荐)

yipeiwu_com6年前Python基础

(需要安装psutil 用来获取服务器资源,以及pymongo驱动)#pip install psutil

#pip install pymongo
#vim memory_monitory.py

文件内容如下

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import psutil
import socket
import time
from pymongo import MongoClient
mongodbIp = '192.168.200.112'
mongodbPort = 27017
hostname = socket.gethostbyname(socket.gethostname())#获取本地IP地址
def getCurrentTime():
    return time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
memoryInfo = psutil.virtual_memory()
conn = MongoClient(mongodbIp,mongodbPort)
db = conn.servermonitor
dbset = db.memory
dbset.insert({
    'time':getCurrentTime(),
    'total':memoryInfo.total,
    'available':memoryInfo.available,
    'percent':memoryInfo.percent,
    'used':memoryInfo.used,
    'free':memoryInfo.free,
    'active':memoryInfo.active,
    'inactive':memoryInfo.inactive,
    'buffers':memoryInfo.buffers,
    'cached':memoryInfo.cached})

修改文件可以直接执行

#chmod +x memory_monitor.py

使用crontab 定时执行监控程序

#vim vim /etc/crontab

添加如下内容(每分钟执行一次)

*/1 * * * * root /usr/local/memory_monitor.py
#service crond reload  //重新载入配置
#service crond restart //重启服务

总结

以上所述是小编给大家介绍的python监控linux内存并写入mongodb,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

Python判断变量是否为Json格式的字符串示例

Json介绍 全名JavaScript Object Notation,是一种轻量级的数据交换格式。Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式。现在也常用于...

python中while和for的区别总结

Python中for循环和while循环本质上是没有区别的,但是在实际应用上,针对性不太一样。 while循环适用于未知循环次数的循环,for循环适用于已知循环次数的循环 。 for主...

有趣的python小程序分享

有趣的python小程序分享

python可以简单优美,也很有趣,下面是收集的例子: 1.一句话开始一个http的文件服务器: $ python -m SimpleHTTPServer Serving HTTP on...

使用Python的toolz库开始函数式编程的方法

在这个由两部分组成的系列文章的第二部分中,我们将继续探索如何将函数式编程方法中的好想法引入到 Python中,以实现两全其美。 在上一篇文章中,我们介绍了不可变数据结构 。 这些数据结构...

解决pycharm无法识别本地site-packages的问题

解决pycharm无法识别本地site-packages的问题

之前一直用python自带的IDLE写python程序,后来发现有一些限制啥的,于是下载了pycharm作为IDE去处理python 新建项目以后本以为能直接跑以前的代码,发现有些库无法...