您的位置:1010cc时时彩经典版 > 服务器&运维 > 企业用户面对BSM时的思考,CMDB初步了解

企业用户面对BSM时的思考,CMDB初步了解

发布时间:2019-11-06 15:12编辑:服务器&运维浏览(68)

    BSM业务服务管理卡塔 尔(英语:State of Qatar)的定义承诺为IT管理人士提供专用的文化与工具,扶持她们管理根基设备和平运动用,以适应工作优先的IT应用趋势。近日,众多厂商从IBM、HP、BMC、Managed objects,到Indicative Software、Oblicore等新锐卡塔 尔(英语:State of Qatar)都把BSM作为本人成品战术的主要。如今,集镇研讨机关Forrester Research对这一个变得更其拥挤的BSM市镇张开了深刻深入分析,鲜明了发展IT处理战术来适应事业目的所不可不具备的正规化,以至具体的达成情势。

    互连网管理提升到前天,历经了三代分歧的治本档期的顺序,分别是“互连网系统处理(NSM)——IT服务管理(ITSM)——面向业务的劳务管理(BSM)”,每风华正茂档期的顺序的互联网管理都意味这段日子的大势和才具,而随着才能的人事代谢,大家看出独有的网络范围的管住不再能满意拉长的才具和客商要求,客商要求的是从服务角度出手的新的越来越高档期的顺序的互联网管理,即不仅可以管住好网络,更能将互联网所提供的劳动、面向业务的服务管理调节好,能够看见,BSM是网络管理的最高境界和档次。

    浅谈ITIL

      TIL即IT功底架构库(Information Technology Infrastructure Library, ITIL,音讯技艺底子架构库)由英国政党部门CCTA(Central Computing and Telecommunications Agency)在20世纪80年间末制定,现由大不列颠及苏格兰联合王国际商业信贷银行务部OGC(Office of Government Commerce)担任管理,首要适用于IT服务管理(ITSM卡塔 尔(阿拉伯语:قطر‎。ITIL为合营社的IT服务管理实践提供了八个创建、严峻、可量化的标准和行业内部。

    1、事件管理(Incident Management卡塔 尔(阿拉伯语:قطر‎

    事故管理肩负记录、归类和配备行家处监护人故并监督整个管理进度直至事故赢得减轻和安息。事故管理的目标是在尽量最小地影响客商和客商业务的情事下使IT系统苏醒到服务等第协商所定义的劳动等级。

    对象是:在不影响专门的职业的图景下,尽恐怕快捷的上升服务,进而有限支撑最好的效能和服务的可持续性。事件管理流程的树立满含事件分类,明确事件的优先级和确立事件的升级机制。

    2、难点管理(Problem Management卡塔 尔(阿拉伯语:قطر‎

    主题材料管理是指通超过实际验研讨和深入分析IT根基架构的虚亏环节、查明事故时有爆发的绝密原因,并创建杀绝事故的方案和防御事故再度发生的方法,将出于难点和事故对职业发生的消极面影响减小到最低的劳务管理流程。与事故处理强调事故恢复的快慢不一致,难题管理重申的是搜索事故时有产生的源于,进而制订合适的技术方案或防止其再度产生的防范措施。

    指标是:侦查幼功设备和全体可用音讯,富含事件数据库,来规定引起平地风波时有产生的真的潜在原因,一同提供的劳动中或然存在的故障。

    3、配置管理(Configuration Management卡塔尔

    安插处理是可辨和承认系统的配置项,记录和告诉安插项意况和改造诉求,核准配置项的对的和完整性等活动组成的进程,其指标是提供IT底子架构的逻辑模型,扶植任何服务管理流程极度是改换管理和发表管理的运维。

    对象是:定义和决定服务与功底设备的构件,并维持规范的布局音讯。

    4、更动管理(Change Management卡塔 尔(英语:State of Qatar)

    改变管理是指为在最短的中止时间内到位根基架构或服务的任一方面包车型客车改观而对其展开调节的劳务管理流程。更动管理的对象是保证在改正奉行进度中应用正规的办法和步子,尽快地试行更换,以将由更改所招致的政工暂停对事情的影响减小到最低。

    对象是:以受控的不二等秘书籍,确定保证全体改变拿到评估、批准、实践和评定调查。

    5、公布管理(Release Management卡塔尔

     公布管理是指对经过测量试验后导入实际运用的疯长或涂改后的安排项举办分发和宣传的管理流程。发布管理早先又称之为软件调节与分发。

    目的是:在事实上运作情形的发表中,交付、分发并追踪三个或五个转移。

     

    企业用户面对BSM时的思考,CMDB初步了解。实际职业情景中自动化学工业具比方:

    图片 1

     

     

    本节内容

    第意气风发,来探视Forrester是什么给BSM下定义的:“BSM是动态把以工作为重要的IT服务与底工IT幼功设备之间创建起联系的软件。以作业为首要的IT服务可以是异样的IT服务仍为业务流程的风姿浪漫局地,不过它必得协理专门的职业全部者主要的、可知的事务目标。”

    BSM,从字面精晓即为业务服务管理,是IT与业务管理花招的风流洒脱种组成与互补。具体来说,BSM正是动态把以作业为重大的IT服务与幼功IT根底设备之间成立起联系的软件。以作业为根本的IT服务能够是异样的IT服务或许是业务流程的风华正茂局地,但它必需是能支撑所有的事情的最重要服务。就是说,BSM是那同样后生可畏种工具,客户通过其实现有限帮忙作业永续、互连网流畅、数据安全。

    CMDB

      CMDB --Configuration Management Database 配置管理数据库, CMDB存款和储蓄与治本集团IT架构中设备的种种配置音讯,它与具备服务支撑和服务交由流程都紧凑相联,扶助那一个流程的运营、发挥配置音信的股票总值,同期借助于有关流程保障数据的准头

    在实际上的档期的顺序中,CMDB平常被认为是创设别的ITIL流程的底工而优先思量,ITIL项指标胜败与是不是中标建设构造CMDB有丰硕大的关联。

    九成~十分九的IT相关难题与景况的退换有着直接的关联。试行改变管理的困难和严重性并不是工具,而是流程。即由此一个自动化的、可另行的流程管理更改,使伏贴退换发生的时候,有二个原则的流程去实践,能够预测到那几个修改对全部系统管理产生的熏陶,并对那个潜移暗化实行评估和操纵。而改良处理流程自动化的完结首要正是CMDB。

    CMDB工具中足足含有那二种重大的成效:整合、调护医疗、同步、映射和可视化。

    构成是指能够丰硕利用来自别的数据源的音信,对CMDB中带有的笔录源属性进行存取,将四个数据源归并至四个视图中,生成连同来自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
    

    图片 2图片 3

    在 /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("rn")
        end
    
      end
    end
    
    
    ################ 配置 ################
    /etc/puppet/puppet.conf
    [main]
    reports = cmdb
    #report = true #默认
    #pluginsync = true #默认 
    

    自定义factor示例

    图片 4图片 5

    $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("nt").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_reportdmidecode.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命令完毕

    图片 6  

     

    对于Agent的版本的实现思路:

    • Agent收集硬件费用
    • API提供有关管理的接口
    • 治本平台为客商提供可视化操作

     

     

    浅谈ITIL

    据悉Forrester的陈说,BSM软件不只能够减掉开销、优化服务,还足以改善业务部门对IT的掌握。这种掌握是起家在,有了不利的初期器重后,IT部门得以关切提供最重要职务的事情服务。

    那终究BSM有什么妙用,且日益看来。BSM可依附分歧的监察和控制种类整合出有效的IT运营消息,给顾客带给IT服务地点的优势,进而确认保证了信用合作社有了充足的逐鹿优势;公司方可从全新的事体角度来恒定本身的IT系统,确认保障了IT服务可拘留、可量化。在此基本功上,企业能够很好把IT管理和业务管理关联起来,确认保证互相推动,周到进步客商的满足度。基于ITIL流程的BSM可以轻巧同Business Process Management(BPM)整合,从而完结ITIL服务付出和劳务帮忙的流水生产线,方便管理员通过一条龙的导航周到精通IT服务情况,简化对总体IT系统的洞察。如此一来,集团经营管理者将会有越来越多时光用来IT决策,实际不是用于了然复杂的IT细节。

    CMDB介绍

    不过,从古板的IT服务向BSM迁移实际不是贰个轻松的历程,那中档存在着累累本事和处理的改进细节,同一时间也意味,集团在架设迁移、实际陈设BSM的进度中,须要做大批量的打算工作。基于对BSM市集的核实和清楚,Forrester提议企业在安插BSM在此以前,首施夷光行部分别样的IT项目。那几个连串并非有些零碎的接纳种类周全的行事,它们将对任何BSM系统的抓实营造提供苍劲的支撑。

    为替顾客解除更加深档案的次序的IT服务难题,非常多厂家生产了 BSM解决方案。这是以流程为导向、以客商为核心的方案,它通过整合IT服务与配合社工作,升高了集团的IT服务提供和劳动支撑的手艺和水平。基于ITIL观念的BSM建设方案为客商提供如下服务:服务级别管理、IT服务财务管理、可用性管理、工夫管理、IT服务三回九转性管理等。

    Django自定义客商认证

    本文由1010cc时时彩经典版发布于服务器&运维,转载请注明出处:企业用户面对BSM时的思考,CMDB初步了解

    关键词: