Python开发【Django】:CMDB基础

BSM陈设前的不能缺少操作
一.手无寸铁中基地础设备零件与IT服务的涉嫌模型
2.构建CMDB
三.变化莫测资金管理种类
4.ITIL规范的跟进
伍.引进服务水平管理和业务服务映射技术 (ccw-cnw)

可想而知,随着BSM的放大,越多的铺面将会投身到BSM的建设中来,也唯有稳步创设好先前时代先决条件才能保障BSM的顺遂执行,以及前期项目标全面和全方位服务品质的升迁。而那3个还地处网络管理阶段的商店不应操之过切,须在充足做好IT服务管理的水准上更进一步,稳步向BSM发展,保险公司的IT管理和事务服务的共同提高。唯有服务才能生活,IT运行管理,究竟将走向BSM的实际业绩。

CMDB

  CMDB –Configuration Management
Database
配置管理数据库, CMDB存款和储蓄与管理集团IT架构中设备的各个配置音信,它与持有服务协助和服务付出流程都紧凑相联,帮忙这个流程的运行、发挥配置音信的价值,同时借助于有关流程保证数据的准头

在事实上的档次中,CMDB平时被认为是营造此外ITIL流程的基本功而优先思考,ITIL项目标胜负与是还是不是成功建立CMDB有那一个大的关系。

11分之7~4/5的IT相关难题与环境的转移有着间接的关系。实施变更管理的难点和严重性并不是工具,而是流程。即通过3个自动化的、可再一次的流水线管理变更,使妥当变更产生的时候,有多少个规则的流水生产线去实施,能够预测到那一个改变对任何系统一管理理发生的影响,并对那一个影响举办业评比估和控制。而更改管理流程自动化的兑现首要就是CMDB。

CMDB工具中最少含有那二种重点的作用:整合、调和、同步、映射和可视化。

结缘是指能够丰富利用来自其余数据源的音讯,对CMDB中带有的笔录源属性实行存取,将八个数据源合并至1个视图中,生成连同来自CMDB和别的数据源音信在内的告知;

疏通能力是指通过对来源各样数据源的相配字段进展对照,保证CMDB中的记录在多个数据源中未有再一次现象,维持CMDB中各种配置项目数据源的完整性;自动调整流程使得早先实施、数据库管理员的手动运作和现场维护扶助理工科程师作降至最低;

一块指确认保障CMDB中的消息能够反映联合数据源的翻新情况,在联合数据源更新频率的底蕴上规定CMDB更新日程,根据经过批准的更改来更新
CMDB,找出未被准许的改变;

运用映射与可视化,表明应用间的关联并反馈应用和其余零件之间的依存关系,掌握变更造成的熏陶并扶持检查判断难题。

此时此刻CMDB资产管理的兑现有如下方式:

1、Paramiko类

依据CMDB中控机和SSH对长途服务器执行命令达成

import paramiko

# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='c1.salt.com', port=22, username='wupeiqi', password='123')

# 执行命令
stdin, stdout, stderr = ssh.exec_command('df')
# 获取命令结果
result = stdout.read()

# 关闭连接
ssh.close()

2、SaltStack

基于SaltStack的master上的pillar以及远程执行命令达成

import salt.client
local = salt.client.LocalClient()
local.cmd('*', 'cmd.run', ['whoami'])

3、Puppet

puppet中默认自带了5个report,放置在【/usr/lib/ruby/site_ruby/1.8/puppet/reports/】路径下。如果需要执行某个report,
那么就在puppet的master的配置文件中做如下配置:

######################## on master ###################
/etc/puppet/puppet.conf
[main]
reports = store #默认
#report = true #默认
#pluginsync = true #默认


####################### on client #####################

/etc/puppet/puppet.conf
[main]
#report = true #默认

[agent]
runinterval = 10
server = master.puppet.com
certname = c1.puppet.com

如上述设置之后,每次执行client和master同步,就会在master服务器的 【/var/lib/puppet/reports】路径下创建一个文件,主动执行:puppet agent  --test

图片 1图片 2

在 /etc/puppet/modules 目录下创建如下文件结构: 

modules
└── cmdb
    ├── lib
    │   └── puppet
    │       └── reports
    │           └── cmdb.rb
    └── manifests
        └── init.pp

################ cmdb.rb ################
# cmdb.rb
require 'puppet'
require 'fileutils'
require 'puppet/util'

SEPARATOR = [Regexp.escape(File::SEPARATOR.to_s), Regexp.escape(File::ALT_SEPARATOR.to_s)].join

Puppet::Reports.register_report(:cmdb) do
  desc "Store server info
    These files collect quickly -- one every half hour -- so it is a good idea
    to perform some maintenance on them if you use this report (it's the only
    default report)."

  def process
    certname = self.name
    now = Time.now.gmtime
    File.open("/tmp/cmdb.json",'a') do |f|
      f.write(certname)
      f.write(' | ')
      f.write(now)
      f.write("\r\n")
    end

  end
end


################ 配置 ################
/etc/puppet/puppet.conf
[main]
reports = cmdb
#report = true #默认
#pluginsync = true #默认 

自定义factor示例

图片 3图片 4

$LOAD_PATH.unshift(File.dirname(__FILE__)) unless $LOAD_PATH.include?(File.dirname(__FILE__))
require "rubygems"
require 'pp'
require 'json'
require 'utils'

def dmi_get_ram(cmd)

    ram_slot = []

    key_map = {
        'Size' => 'capacity',
        'Serial Number' => 'sn',
        'Type' => 'model',
        'Manufacturer' => 'manufactory',
        'Locator' => 'slot',
    }

    output = Utils.facter_exec(cmd)
    devices = output.split('Memory Device')

    devices.each do |d|
      next if d.strip.empty?
      segment = {}
      d.strip.split("\n\t").each do |line|
        key, value = line.strip.split(":")
        if key_map.has_key?(key.strip)
          if key.strip == 'Size'
            segment[key_map['Size']] = value.chomp("MB").strip.to_i / 1024.0 # unit GB
          else
            segment[key_map[key.strip]] =  value ? value.strip : ''
          end
        end
      end

      ram_slot.push(segment) unless segment.empty?
    end

    return ram_slot

end

Facter.add("ram") do
  confine :kernel => "Linux"
  setcode do

    ram_slot = []
    cmd = "dmidecode -q -t 17 2>/dev/null"
    ram_slot = dmi_get_ram(cmd)

    JSON.dump(ram_slot)

  end
end


Facter.add("ram") do
  confine :kernel => 'windows'
  setcode do

    ram_slot = []

    if Facter.value(:manufacturer)  =~ /.*HP.*/i
      cli = 'C:\cmdb_report\dmidecode.exe'
      cmd = "#{cli} -q -t 17"
      ram_slot = dmi_get_ram(cmd) if File.exist?(cli)

    else

      require 'facter/util/wmi'
      Facter::Util::WMI.execquery("select * from Win32_PhysicalMemory").each do | item |

        if item.DeviceLocator
          slot = item.DeviceLocator.strip
        else
          slot = ''
        end

        if item.PartNumber
          model = item.PartNumber.strip
        else
          model = ''
        end

        if item.SerialNumber
          sn = item.SerialNumber.strip
        else
          sn = ''
        end

        if item.Manufacturer
          manufactory = item.Manufacturer.strip
        else
          manufactory = ''
        end

        ram_slot.push({
         'capacity' => item.Capacity.to_i / (1024**3), # unit GB
         'slot' => slot,
         'model' => model,
         'sn' => sn,
         'manufactory' => manufactory,
       })

      end
    end

    JSON.dump(ram_slot)

  end
end

内部存款和储蓄器新闻

4、Agent

基于shell命令完毕

图片 5  

 

对于Agent的版本的完毕思路:

  • Agent采集硬件开支
  • API提供相关处理的接口
  • 管住平台为用户提供可视化操作

 

 

本节内容

首先,来探望Forrester是何许给BSM下定义的:“BSM是动态把以作业为首要的IT服务与基础IT基础设备之间建立起联系的软件。以作业为第二的IT服务能够是独特的IT服务依然是业务流程的一部分,不过它必须援助理工科程师作全数者主要的、可知的事情指标。”

如此这般完美的工具假设能普及自然是好事,但其余新工作的赶来都有其不驾驭,BSM亦如此,大概过多用户近年来的管制层次依然停留在IT服务管理开端阶段,大概更早的互连网系统一管理理阶段,那那样的互连网管理框架结构匆忙就上BSM是格外不便宜管理的,大概不只不可能起到IT与业务有效整合,还是能够造成事情混乱,IT冬日。而其实从观念的IT服务向BSM迁移那中间存在着广大技能和管理的改进细节,同时也表示,企业在架设迁移、实际布置BSM的经过中,要求做大量的预备工作。

浅谈ITIL

  TIL即IT基础架构库(Information
Technology Infrastructure Library,
ITIL,音讯技术基础框架结构库)由United Kingdom政坛部门CCTA(Central Computing and
Telecommunications Agency)在20世纪80年间末制订,现由大不列颠及英格兰联合王国商务部OGC(Office
of Government
Commerce)负责管理,主要适用于IT服务管理(ITSM)。ITIL为公司的IT服务管理进行提供了3个靠边、严厉、可量化的正统和业内。

一、事件管理(Incident
Management)

事故管理负担记录、归类和陈设专家处监护人故并监察和控制整个处理进度直至事故赢得解决和终止。事故管理的目的是在玩命最小地震慑客户和用户业务的动静下使IT系统复苏到劳务级别协商所定义的劳务级别。

对象是:在不影响工作的处境下,尽恐怕赶快的恢复生机服务,从而保险最棒的效用和劳务的可持续性。事件管理流程的树立包罗事件分类,明确事件的优先级和确立事件的升级体制。

二、难点管理(Problem
Management)

题材管理是指通过侦查和分析IT基础架构的薄弱环节、查明事故时有爆发的神秘原因,并制订消除事故的方案和防护事故再一次发生的艺术,将出于难题和事故对工作爆发的负面影响减小到低于的劳务管理流程。与事故管理强调事故恢复生机的快慢差异,难题管理强调的是找出事故时有产生的来源于,从而制订适当的消除方案或预防其再一次发生的预防措施。

目的是:调查基础设备和装有可用音讯,包含事件数据库,来明确引起轩然大波爆发的着实潜在原因,一起提供的劳务中恐怕存在的故障。

三、配置管理(Configuration
Management)

配置管理是甄别和承认系统的配备项,记录和报告安排项意况和改动请求,检测配置项的科学和完整性等移动结合的历程,其目标是提供IT基础架构的逻辑模型,帮忙其余服务管理流程特别是改变管理和发表管理的运维。

对象是:定义和控克服务与功底设备的构件,并保证标准的安插音讯。

四、变更管理(Change
Management)

变动管理是指为在最短的间歇时间内形成基础架构或劳务的任一方面包车型大巴更改而对其展开控制的劳动行政管理流程。变更管理的对象是有限帮忙在变更实施进度中应用规范的措施和手续,尽快地履行变更,以将由变更所导致的业务暂停对工作的熏陶减小到低于。

对象是:以受控的办法,确认保障全部变更获得评估、批准、实施和评定审查。

五、宣布管理(Release
Management)

 发表管理是指对通过测试后导入实际运用的骤增或改动后的配备项实行分发和宣扬的管制流程。发布管理之前又称作软件控制与分发。

指标是:在骨子里运维环境的布告中,交付、分发并跟踪多个或七个转移。

 

实则工作场景中自动化学工业具举例:

图片 6

 

 

浅谈ITIL

TIL即IT基础框架结构库(Information Technology Infrastructure
Library,ITIL,消息技术基础架构库)由大不列颠及北爱尔兰联合王国政党部门CCTA(Central Computing
and Telecommunications
Agency)在20世纪80时期末制订,现由英帝国际商业信贷银行务部OGC(Office of Goverment
Commerce)负责管理,首要适用于IT服务管理(ITSM)。ITIL为集团的IT服务管理进行提供了1个靠边、严酷、可量化的正规化和正式。

一、事件管理(Incident Management)

事故管理负担记录、归类和配备专家处监护人故并监督整个处理进度直至事故赢得缓解和平息。事故管理的目标是在尽量最小地震慑客户和用户业务的图景下使IT系统复苏到劳动级别协商所定义的劳动级别。

二、难点管理(Problem Management)

难题管理是指通过调查研讨和剖析IT基础架构的薄弱环节、查明事故产生的秘密原因,并制定解决事故的方案和防患事故再度爆发的法子,将出于难题和事故对事情发生的负面影响减弱到最低的服务管理流程。与事故管理强调事故苏醒的进度不一样,难点管理强调的是找出事故发生的发源,从而钦命妥贴的消除方案或预防其再次产生的预防措施。

三、配置管理(Configuration Management)

配置管理是识别和承认系统的配备项,记录和告知布署项情况和改动请求,检查评定配置项的正确和完整性等移动结合的历程,其目标是提供IT基础架构的逻辑模型,援助任何服务管理流程特别是改变管理和发布管理的运营。

4、变更管理

变动管理是指为在最短的间歇时间内形成基础架构或劳务的任①方面的变更而对其进展支配的劳动行政管理流程。变更管理的目的是承接保险在转移实施进度中运用规范的不二诀要和手续,尽快地执行变更,以将由变更所导致的作业暂停对业务的熏陶减弱到低于。

5、公布管理

发布管理是指对因此测试后导入实际行使的疯长或涂改后的布置项实行分发和宣传的田管流程。公布管理在此以前又称之为软件控制与分发

 

事件管理的对象是在不影响工作的情事下,尽恐怕连忙的死灰复燃服务,从而保障最好的频率和劳动的可持续性。事件管理流程的建立包涵事件分类,鲜明事件的优先级和创造事件的升迁机制。

题材管理是考察基础设备和具有可用消息,包罗事件数据库,来分明引起轩然大波时有爆发的真的潜在原因,壹起提供的劳动中可能存在的故障。

配备管理的目的是:定义和控克制务与功底设备的预制构件,并保险标准的布置音信。

转移管理的对象是:以受控的办法,确定保障全体改变得到评估、批准、实施和评定审查。

公布管理的指标是:在实际上运营环境的颁发中,交付、分发并跟踪1个或多少个转移。

 

服务台:服务台是IT部门和IT服务用户之间的单一联系点。它经过提供3个集花潮全职的服务联系点促进了集团业务流程与劳务管理基础机构合并。服务台的重要对象是协调客户(用户)和IT部门中间的维系,为IT服务运转提供帮助,从而提升客户的满足度。

 

Forrester还提议,集团的IT部门将IT资金财产管理置于严密的控制下,以博取其IT环境中的服务器、客户机和互连网设施的正确资金财产目录。下一步,IT管理者应该思虑在全体IT部门推行ITILIT基础设施库)中鲜明的特等实践,从而革新公司中间IT服务的付出。

那到底BSM有什么妙用,且日益看来。BSM可根据差别的督察种类组合出可行的IT运行消息,给用户带来IT服务方面的优势,从而确认保障了店铺有了丰裕的竞争优势;集团得以从全新的事务角度来定位自个儿的IT系统,确定保障了IT服务可管理、可量化。在此基础上,公司能够很好把IT管理和业务管理关联起来,确认保障相互促进,周到升高客户的满意度。基于ITIL流程的BSM能够轻松同Business
Process
Management(BPM)整合,从而达成ITIL服务付出和服务支持的流水生产线,方便管理员通过一站式的导航周密领会IT服务情形,简化对整个IT系统的观望。如此1来,集团领导职员将会有越多日子用于IT决策,而不是用以掌握复杂的IT细节。

浅谈Restful API

理解RESTful架构 : 

RESTful API
设计指南 :  

7/十~十分之八的IT相关难点与环境的变更有着直接的关系。实施变更管理的困难和首要并不是工具,而是流程。即由此1个自动化的、可再度的流水生产线管理变更,使安妥变更发出的时候,有3个尺度的流水生产线去实施,能够预测到这些改变对1切系统一管理理发生的熏陶,并对那几个影响进行业评比估和操纵。而改变管理流程自动化的兑现重要正是CMDB。

BSM,从字面驾驭即为业务服务管理,是IT与业务管理手段的壹种组成与补偿。具体来讲,BSM正是动态把以工作为首要的IT服务与基础IT基础设备之间建立起联系的软件。以作业为机要的IT服务能够是独特的IT服务仍旧是业务流程的一部分,但它必须是能支持全体工作的主要服务。便是说,BSM是这一样1种工具,用户通过其促成保险事务永续、互联网通畅、数据安全。

资本管理功效开发

发表评论

电子邮件地址不会被公开。 必填项已用*标注