cmdb-资产管理
cmdb-资产管理
1、新建一个app(资产管理的)
python manage.py startapp asset
新建modles.py(数据表)
1、python manage.py makemigrations #看是否有数据更新
2、python manage.py migrate #生成表
3、
新建数据库(当执行python manage.py migrate(自动创建生产数据表))
定义了
自动获取:
name(主机名)、ip、mac地址、os系统、arch(架构,64还是32位)
内存、cpu、磁盘
sn号
user(负责人)
remark(备注)
purchase_time(服务器采购时间)
over_insurance_time(服务器过保时间)
created_time 添加时间(第一次添加到数据库的时间)
last_time 最后更新时间 这个是自己修改后,然后更新的时间
4、新建一个自定义的命令
在asset下新建一个management的包(带有__init__.py),在management目录下新建一个commands的包(带有__init__.py)
cmdb/asset/management/commands/collect_host.py
必须得带有Command、handle固定格式
from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
def handle(self, *args, **options):
print('hello, django!')
collect_host.py:获取主机信息,然后保存到数据库中
5、多个任务则写多个elif (collect_host则是个函数)
def v2_runner_on_ok(self, result, **kwargs):
if result.task_name == 'collect_host':
self.collect_host(result._result)
写ansible的playbook,执行setup 功能
play_source = {
'name' : "cmdb",
'hosts' : 'all',
'gather_facts' : 'no',
'tasks' : [
{
'name' : 'collect_host',
'setup' : ''
}
]
}
主机信息:在当前目录下的 etc/hosts 里面
inventory = InventoryManager(loader=loader, sources=os.path.join(settings.BASE_DIR, 'etc', 'hosts'))
[root@test-01 etc]# cat hosts
localhost ansible_connection=local
#test ansible_connection=smart ansible_host=192.168.1.69 ansible_user=root ansible_ssh_pass=123456
test-03
test-04
test-05
执行:python manage.py collect_host (自定义的)
执行成功后,到数据库查看是否有数据
2、开始写index.html
可以先写一个模板base.html,然后继承它
{% extends "base.html" %} {#继承base.html的模板#}
{% block title %}资产管理{% endblock %}{#标题#}
jQuery('#form-view').find('[name=name]').val(result['result']['name']);
jQuery('#form-view').find('[name=id]').val(result['result']['id']);
jQuery('#form-view').find('[name=remark]').val(result['result']['remark']);
{# <input type="hidden" class="form-control" name="id" value=""/>,找到name=id(find('[name=id]')),value= result['result']['id']#}
3、这个是获取id=form-view 中的字典元素 {'id':1,'name':2}
var data = jQuer 5b4 y('#form-view').serializeArray();
4、/*刷新table*/ 这个只是刷新当前页面的
table.ajax.reload(null, false);
jQuery.get 如果ajax请求的是get,则访问路径会带上token地址,post 则不会
- 转载----开发运维资产管理系统cmdb一些观点扯淡
- Python 结合Ansible 把管理资产信息自动插入到CMDB中
- 使用iTOP进行CMDB资产管理
- 资产管理 cmdb之ansible 获取服务器硬件、软件等信息
- 运维资产管理系统cmdb对实施自动化运维的重要性 推荐
- 视频版|如何构建一个好的资产管理系统(CMDB)
- 用Python快速构建CMDB自动IT资产管理平台视频课程(共13课时)_在线培训教程_51CTO学院
- 开源数字媒体资产管理系统:Razuna
- 数据资产管理“五星模型”与企业级实践 - 大数据
- 上周五资产管理会议
- EAM 企业资产管理
- CMDB 管理平台
- 企业为什么需要IT资产管理
- 用Ossim管理IT资产(视频)
- (转)2017:整合欧美中小型资产管理公司的元年及如何突出重围
- IT资产管理规定
- IT资产管理中的安全管理 推荐
- 用友NC资产管理解决方案助机场行业盘活增效
- Zabbix资产记录管理无主机,显示No hosts found.