从零开始请看如下链接的前文提要部分

http://www.zhaibibei.cn/python/linuxcpu/cpu-intro/


前面介绍了如何使用Python获取Linux/unix系统的CPU 内存数据

这里我们使用Djangp批量获取

在此之前我们需要用到以前的知识,大家可以重温下

首先我们需要将Linux/Unix信息放入Django的MySQL数据库中

如主机名账号密码等

具体的原理可参考如下链接

使用Django管理数据库表


开发环境

操作系统:CentOS 7.4

Python版本 :3.6

Django版本: 1.10.5

操作系统用户:oms


编辑models.py文件

vim  monitor/models.py

添加linuxlist类

class linuxlist(models.Model):
    ipaddress=models.GenericIPAddressField(primary_key=True)
    hostname=models.CharField(max_length=100)
    username=models.CharField(max_length=100)
    password=models.CharField(max_length=100)
    os=models.CharField(max_length=50)
    oracle_log=models.CharField(max_length=300,blank=True,null=True)
    os_log=models.CharField(max_length=300,blank=True,null=True)
    monitor_type=models.IntegerField(default=1)
    performance_type=models.IntegerField(default=0)
    def __str__(self):
        return self.ipaddress
    class Meta:
        app_label='monitor'
  • ipaddress 为服务器的IP地址
  • hostname为主机名
  • username为连接的用户名
  • password为密码
  • os为服务器的类型,这里填写linux或unix
  • oracle_log 如果该服务器上有ORACLE数据库可在这里填写alert日志的路径,为以后监控日志所需
  • os_log 如需要监控操作系统日志则可在这里填写os日志的路径
  • monitor_type 判断是否需要监控该机器
  • performance_type 判断是否需要获取CPU等信息

Django栏位(Field)和原数据库的对用请参考如下连接

https://docs.djangoproject.com/en/1.11/ref/models/fields/

同步数据库

python manage.py  makemigrations
python manage.py  migrate

添加该表至admin后台

vim admin.py 

from django.contrib import admin

from monitor.models import linuxlist
admin.site.register(linuxlist)
1.png

填写需要运维的Linux数据库信息

2.png
3.png

5.源代码位置

欢迎访问我的github主页查看源码

https://github.com/bsbforever/oms_django

好了,这节介绍了如何将Linux/Unix的信息放入Django中

下节是利用自定义命令获取LInux/Unix服务器的信息并保存在redis数据库中