Home >Backend Development >Python Tutorial >Monitor linux memory using python and write it to mongodb

Monitor linux memory using python and write it to mongodb

巴扎黑
巴扎黑Original
2017-09-13 10:02:351734browse

This article mainly introduces the relevant information about python monitoring Linux memory and writing to mongodb. Friends who need it can refer to

(psutil needs to be installed to obtain server resources and pymongo driver) #pip install psutil


##

#pip install pymongo
#vim memory_monitory.py

The content of the file is as follows


#!/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})

You can modify the file and execute it directly


#chmod +x memory_monitor.py

Use crontab to execute the monitoring program regularly


#vim vim /etc/crontab

Add the following content (execute once every minute)


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

The above is the detailed content of Monitor linux memory using python and write it to mongodb. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn