背景
Django是使用最广泛的用python写的开源WEB框架,用它可以搭建一套WEB系统,它也可以和其他开源组件,如cellery组合使用,扩展性比较强。
下面详细讲一讲如何利用django搭建一套简易的服务器监控系统。
客户端服务端模式,客户端通过脚本抓取本地性能参数,然后提交POST请求给django服务端,把数据传给服务端。服务端接收到数据后先保存到本地数据库中,用户在浏览器端输入对应URL来展示数据库中的数据信息。
正文
下载安装django,我这里以1.4版本为例。
创建项目
django-admin.py startproject test_site
运行完命令后,在当前目录下会生成一个目录:test_site, 进去后你会发现有一些已经创建好的python文件。
启动django服务
python manage.py runserver 0.0.0.0:8080
执行完命令后,你可以在浏览器端输入IP:8080就可以正常访问了,前提是你的浏览器端和django服务所在的电脑能联通,而且端口没有被防火墙挡住,若这一步有问题请留言讨论,这里不再赘述。
配置django数据库
django内置了几种数据库的接口:mysql, postgresql, sqlite3 , oracle。我这里以最简单的sqlite3为例来讲。
在test_site/test_site目录下有个setting.py,打开,找到DATABASES这一段,把ENGINE的值设为django.db.backends.sqlite3,NAME的值写数据库的绝对路径,比如:/opt/django/db/sqlite3.db。
创建app
每个项目下可以有多个app,我们先创建一个monitor_metric。
python manage.py startapp monitor_metric
执行完后,你会在当前目录下看到monitor_metric目录。
打开test_site/test_site/setting.py,在INSTALLED_APPS段中添加刚刚创建的app:monitor_metric。
打开test_site/test_site/urls.py,添加一行:
url(r'^monitor_metric/', include('monitor_metric.urls')),
打开test_site/monitor_metric/models.py,内容如下:
from django.db import models
# Create your models here.
class ServerMetric(models.Model):
id = models.IntegerField(primary_key=True, db_column='ID') # Field name made lowercase.
history_ip = models.CharField(max_length=45)
history_datetime =