信用合作社客户直面BSM时的合计,BSM的实践之路

BSM业务服务管理)的概念承诺为IT管理人员提供专用的知识与工具,帮助他们管理基础设施和应用,以适应业务优先的IT应用趋势。如今,众多公司从IBM、HP、BMC、Managed
objects,到Indicative
Software、Oblicore等后起之秀)都把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)

变更管理是指为在最短的中断时间内完成基础架构或服务的任一方面的变更而对其进行控制的服务管理流程。变更管理的目标是确保在变更实施过程中使用标准的方法和步骤,尽快地实施变更,以将由变更所导致的业务中断对业务的影响减小到最低。

目标是:以受控的方式,确保所有变更得到评估、批准、实施和评审。

5、发布管理(Release
Management)

 发布管理是指对经过测试后导入实际应用的新增或修改后的配置项进行分发和宣传的管理流程。发布管理以前又称为软件控制与分发。

目标是:在实际运行环境的发布中,交付、分发并跟踪一个或多个变更。

 

实际工作场景中自动化工具举例:

澳门网上正规赌场网址 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有非常大的关系。

70%~80%的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("\r\n")
    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("\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命令实现

澳门网上正规赌场网址 6  

 

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

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

 

 

根据Forrester的描述,BSM软件不仅可以减少费用、优化服务,还可以改进业务部门对IT的理解。这种理解是建立在,有了正确的优先重点后,IT部门可以关注提供最关键任务的业务服务。

那究竟BSM有何妙用,且慢慢看来。BSM可根据不同的监控系统整合出有效的IT运维信息,给用户带来IT服务方面的优势,从而保证了企业有了充足的竞争优势;企业可以从全新的业务角度来定位自身的IT系统,确保了IT服务可管理、可量化。在此基础上,企业能够很好把IT管理和业务管理关联起来,确保相互促进,全面提高客户的满意度。基于ITIL流程的BSM能够轻松同Business
Process
Management(BPM)整合,从而实现ITIL服务提交和服务支持的流程,方便管理员通过一站式的导航全面了解IT服务状况,简化对整个IT系统的观测。如此一来,企业管理者将会有更多时间用于IT决策,而不是用于了解复杂的IT细节。

不过,从传统的IT服务向BSM迁移并非一个一蹴而就的过程,这中间存在着许多技术和管理的改进细节,同时也意味着,企业在架构迁移、实际部署BSM的过程中,需要做大量的准备工作。基于对BSM市场的调查和理解,Forrester建议企业在部署BSM之前,首先实施一些其他的IT项目。这些项目并不是一些零散的应用系统完善的工作,它们将对整个BSM系统的稳固构建提供强大的支撑。

为替用户解决更深层次的IT服务问题,很多厂商推出了
BSM解决方案。这是以流程为导向、以客户为中心的方案,它通过整合IT服务与企业业务,提高了企业的IT服务提供和服务支持的能力和水平。基于ITIL理念的BSM解决方案为用户提供如下服务:服务级别管理、IT服务财务管理、可用性管理、能力管理、IT服务连续性管理等。

Forrester指出:“作为基线,企业必须具有建立基础设施组件与IT服务关系模型的能力。这种关系可以通过嵌入式发现机制进行手工定义,或者从配置管理数据中心获得。与此同时,企业还应该拥有一个包含应用依赖性映射关系信息的CMDB配置管理数据库),以自动建立服务模型和实施BSM整体解决方案。”


BSM解决方案的帮助下,企业可以感受到全新的IT服务管理模式带来的变化,以前,IT部门更多地关注基础设施的可用性,当出现宕机故障时,一方面IT部门无法判断故障对业务造成的影响,另一方面到业务部门在面对着复杂的IT系统,只能望而却步。BSM的出现,整合了IT管理和业务服务二者的需求,制定了明确的服务质量管理体系。业务部门不必了解网络网络、主机等复杂的IT技术,只需要了解与自己相关的服务。通过与各项服务承诺进行对照,从而了解IT服务的质量,达到IT部门和业务部门之间相互依存、互利双赢的目的。以前,IT部门救火队式的混乱状况,无法判断其表现的好坏。IT部门是公认的成本中心。现在,IT部门的工作范畴也有了量化的目标,并促进IT部门从成本中心向利润中心转变。

Forrester还建议,企业的IT部门将IT资产管理置于严密的控制下,以取得其IT环境中的服务器、客户机和网络设备的正确资产目录。下一步,IT管理者应该考虑在整个IT部门实施ITILIT基础设施库)中规定的最佳实践,从而改进企业内部IT服务的交付。

这样完善的工具如果能普及自然是好事,但任何新事情的到来都有其不确定性,BSM亦如此,可能很多用户目前的管理层次仍然停留在IT服务管理初步阶段,或者更早的网络系统管理阶段,那这样的网络管理架构匆忙就上BSM是非常不利于管理的,可能不仅不能起到IT与业务有效结合,还能导致业务混乱,IT无序。而事实上从传统的IT服务向BSM迁移这中间存在着许多技术和管理的改进细节,同时也意味着,企业在架构迁移、实际部署BSM的过程中,需要做大量的准备工作。

接下来,服务水平管理SLM)技术包括最终用户响应时间管理)将帮助IT部门确保他们所交付的服务符合预先签订的服务水平协议SLA)。最后,Forrester指出,业务服务映射技术将帮助IT管理人员更好地理解那些评价BSM系统是否取得成功所需要的关键指标。“实施这些流程改进的企业将为更好地利用其BSM项目的全部价值做好准备。”Forrester表示。

基于对BSM市场的调查和理解,建议企业在部署BSM之前,首先实施一些其他的IT项目。这些项目并不是一些零散的应用系统完善的工作,它们将对整个BSM系统的稳固构建提供强大的支撑。一般来说,BSM部署前应该进行以下必要准备:确立基础设施组件与IT服务的关系模型;构建CMDBConfiguration
Management Database)
配置管理数据库;形成资产管理系统;ITIL规范的跟进;引入服务水平管理和业务服务映射技术
(ccw-cnw)。

BSM部署前的必要操作
1.确立基础设施组件与IT服务的关系模型
2.构建CMDB
3.形成资产管理系统
4.ITIL规范的跟进
5.引入服务水平管理和业务服务映射技术 (ccw-cnw)

其中最为重要的就是构建好CMDB,CMDB存储着企业IT架构中设备的各种配置信息,它与所有服务支持和服务交付流程都紧密相联,支持这些流程的运转、发挥配置信息的价值,同时依赖于相关流程保证数据的准确性。在实际的项目中,CMDB常常被认为是构建其它ITIL流程的基础而优先考虑,ITIL项目的成败与是否成功建立CMDB有非常大的关系。

CMDB存储与管理企业IT架构中设备的各种配置信息,它与所有服务支持和服务交付流程都紧密相联,支持这些流程的运转、发挥配置信息的价值,同时依赖于相关流程保证数据的准确性。在实际的项目中,CMDB常常被认为是构建其它ITIL流程的基础而优先考虑,ITIL项目的成败与是否成功建立CMDB有非常大的关系。

总之,随着BSM的推广,越来越多的企业将会投身到BSM的建设中来,也唯有逐步构建好前期先决条件才能保证BSM的顺利实施,以及后期项目的完善和整个服务质量的提升。而那些还处于网络管理阶段的企业不应急功近利,须在充分做好IT服务管理的水平上更进一步,逐步向BSM发展,保证企业的IT管理和业务服务的共同进步。唯有服务才能生存,IT运维管理,终究将走向BSM的大成。

70%~80%的IT相关问题与环境的变更有着直接的关系。实施变更管理的难点和重点并不是工具,而是流程。即通过一个自动化的、可重复的流程管理变更,使得当变更发生的时候,有一个标准化的流程去执行,能够预测到这个变更对整个系统管理产生的影响,并对这些影响进行评估和控制。而变更管理流程自动化的实现关键就是CMDB。

Post Author: admin

发表评论

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