Python监控系统信息、巡检数据库将结果写入到监控系统信息、巡检数据库将结果写入到html,并定时发送邮并定时发送邮
件到邮箱件到邮箱
1、编写、编写jinja2模板模板
系统信息:
{% for key,value in mInfo.items() %}
{% endfor %}
MemoryInfo
totalMem freeMem avaMem
{{ value }}
{% for key in cpuInfo.keys() %}
{% endfor %}
{% for value in cpuInfo.values() %}
{% endfor %}
CPUInfo
{{ key }}
{{ value
}}
{% for key,value in dInfo.items() %}
{% endfor %}
DiskInfo
MountName Total Used Free Percent
{{ key }} {{ value.total }}
{{ value.used
}}
{{ value.free
}}
{{ value.percent }}
Oracle数据库巡检:
{% for etl in emp_title_list %}
{% endfor %}
{% for row in results %}
{% endfor %}
监控数据库表空间使用情况
{{ etl }}
{{ row[0] }} {{ row[1] }} {{ row[2] }} {{ row[3] }} {{ row[4] }} {{ row[5] }} {{ row[6] }}
2、创建、创建Python脚本脚本
import psutil
import os
from jinja2 import Environment,FileSystemLoader
import webbrowser
import cx_Oracle
"""Monitor Memory"""
def monMem():
memInfo = psutil.virtual_memory()
totalMem = str(round(memInfo.total/1024/1024,2)) + 'M'
freeMem = str(round(memInfo.free/1024/1024,2)) + 'M'
avaMem = str(round(memInfo.available/1024/1024,2)) + 'M'
mInfo = {}
mInfo['totalMem'] = totalMem
mInfo['freeMem'] = freeMem
mInfo['avaMem'] = avaMem
"""这里区分下不同平台的情况"""
if os.name == 'posix':
bufMem = memInfo.buffers
cachedMem = memInfo.cached
评论0