Maison  >  Article  >  développement back-end  >  Surveillez la mémoire Linux à l'aide de Python et écrivez-la sur MongoDB

Surveillez la mémoire Linux à l'aide de Python et écrivez-la sur MongoDB

巴扎黑
巴扎黑original
2017-09-13 10:02:351616parcourir

Cet article présente principalement les informations pertinentes sur la surveillance par Python de la mémoire Linux et l'écriture sur mongodb. Les amis qui en ont besoin peuvent se référer à

(psutil doit être installé pour obtenir les ressources du serveur et le pilote pymongo) #pip install. psutil


#pip install pymongo
#vim memory_monitory.py

Le contenu du fichier est le suivant


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

Modifier le fichier et exécuter directement


#chmod +x memory_monitor.py

Utilisez crontab pour exécuter le programme de surveillance régulièrement


#vim vim /etc/crontab

Ajoutez le contenu suivant (exécuté une fois toutes les minutes)


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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn