python监控linux内存并写入mongodb(推荐)
作者:Mr.LUCKY 发布时间:2022-02-04 11:28:01
标签:linux,python,mongodb
(需要安装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网站的支持!
来源:http://www.cnblogs.com/wangchaozhi/archive/2017/09/11/7505549.html


猜你喜欢
- 字典,这个东西你现在还用吗?随着网络的发展,用的人越来越少了。不少人习惯于在网上搜索,不仅有web版,乃至于已经有手机版的各种字典了。我曾经
- 本文实例讲述了Python读取一个目录下所有目录和文件的方法。分享给大家供大家参考,具体如下:这里介绍的是刚学python时的一个读取目录的
- queue分类python3 queue分三类:先进先出队列后进先出的栈优先级队列他们的导入方式分别是:from queue import
- anaconda指的是一个开源的Python
- 菜单栏,tools--去掉勾选的Vim Emulator这个仿真插件就好了。来源:https://blog.csdn.net/weixin_
- MySQL由于它本身的小巧和操作的高效, 在数据库应用中越来越多的被采用.我在开发一个P2P应用的时候曾经使用MySQL来保存P2P节点,由
- 在矩阵应用的过程中,经常需要使用随机数,那么怎么使用numpy 产生随机数呢 ,为此专门做一个总结。random模块用于生成随机数,下面是一
- poi介绍:Apache POI是用Java编写的免费开源的跨平台的Java API,Apache POI提供API给Java程序对Micr
- 绘制图形时使用了中文标题,会出现乱码原因是matplotlib.pyplot在显示时无法找到合适的字体。先把需要的字体(在系统盘C盘的win
- 装饰器的价值不言而喻,可以用来增强函数功能、简化代码、减少代码冗余。它的使用场景同样很多,比较简单的场景包含打印日志、统计运行时间,这类例子
- 在视图中也有笨方法可以从数据库中获取数据。 很简单: 用现有的任何 Python 类库执行一条 SQL 查询并对结果进行一些处理。在本例的视
- 1. ES语法的getter和setter在开始了解 Vue 的数据响应式原理前应该先搞清楚 ES语法 中的 getter 和 setter
- 1.创建数据库表--使用哪个数据库,如果不写这一句是默认的数据库,也可以用鼠标选当前数据库use testDB--创建表 Cre
- 本文实例讲述了Python实现的远程登录windows系统功能。分享给大家供大家参考,具体如下:首先安装wmi 命令:pip install
- 在创建SQL Server 2000 故障转移群集之前,必须配置 Microsoft 群集服务 (MSCS) 并使用 Microsoft W
- 序列化把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serializa
- go,在删除切片中的元素时,可以使用append(),方式将其中的元素删除。slice :=make([]int , 0)slice = a
- 强化功能本文针对中大型的后台项目的接口模块优化,在不影响项目正常运行的前提下,增量更新。接口文件写法简化(接口模块半自动化生成)任务调度、L
- 快速排序(QuickSort)是对冒泡排序的一种改进:基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一
- 由于笔者最近在做一个跨数据库操作的测试,开始做IBatisNet (IBatis.DataMapper.1.6.2/IBatis.DataA