收集主机信息到 cmdb
1、定义 URL 访问路径
[root@localhost simplecmdb]# vim simplecmdb/urls.py from django.conf.urls import patterns, include, url from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', # Examples: # url(r'^$', 'simplecmdb.views.home', name='home'), # url(r'^blog/', include('blog.urls')), url(r'^admin/', include(admin.site.urls)), url(r'^hostinfo/collect', 'hostinfo.views.collect'), # 添加该URL )
2、定义视图
[root@localhost simplecmdb]vim hostinfo/views.py from django.shortcuts import render from django.http import HttpResponse from hostinfo.models import Host # Create your views here. def collect(req): if req.POST: hostname = req.POST.get('hostname') ip = req.POST.get('ip') osver = req.POST.get('osver') vendor = req.POST.get('vendor') product = req.POST.get('product') cpu_model = req.POST.get('cpu_model') cpu_num = req.POST.get('cpu_num') memory = req.POST.get('memory') sn = req.POST.get('sn') host = Host() host.hostname= hostname host.ip = ip host.osver = osver host.vendor = vendor host.product = product host.cpu_model = cpu_model host.cpu_num = cpu_num host.memory = memory host.sn = sn host.save() return HttpResponse('OK') else: return HttpResponse('No Data')
3、通过 POST 方法传递数据
[root@localhost ~]# curl -d hostname='node02' -d ip='192.168.1.2' -d osver='CentOS 6.5' -d vendor='hp' -d product='BL 380' -d sn='1234xxx' -d cpu_model='Intel' -d cpu_num= -d memory='32G' http://192.168.5.131:8000/hostinfo/collect
查看是否插入了数据: