【www.hj8828.com】ITIL与运维管理结合之道

BKJIA.com 综合简报】什么是ITIL?

Python开发【Django】:CMDB开发,djangocmdb

BKJIA.com独家特写稿件】编者按:最近,ITIL已经不复是叁个新生事物,但过多运转职员并非很精晓毕竟如何是ITIL,ITIL又怎么和调谐管理的运营系统相结合?上面,大家就来一同研究一下ITIL与运营管理相结合的有个别标题。

ITIL(新闻本事基础设施库)是Information Technology Infrastructure
Library的缩写。ITIL是英帝国政党宗旨计算机与电信管理基本(CCTA)在20世纪90年份早先年代发表的一套IT服务管理最棒试行指南,意在缓慢解决IT服务质量不好的状态。在此之后,CCTA又在主流IT能源管理软件厂商近期所做出的一层层实践和追究的根基之上,总括了IT服务的一流实践经验,变成了一多元基于流程的形式,用以标准IT服务的水平。

浅谈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)

 公布管理是指对经过测验后导入实际应用的新扩张或涂改后的布署项实行分发和宣扬的管制流程。发布管理以前又称作软件调整与分发。

目的是:在实际上运维情状的文告中,交付、分发并追踪三个或五个转移。

 

实在职业情形中自动化学工业具举个例子:

www.hj8828.com 1

 

 

什么是ITIL

ITIL正是目的在于消除并修正这一个也许出现的破绽,它提供了贰个引导性框架,那一个框架能够保存协会现存IT管理措施中的合理部分,同临时候增添供给的手艺,并且有利于了各种IT职能间的关联和协调。但它并非一套理论情势,而是以全世界最好实际经验为依附,基于高素质、合理定义、可再度流程等运作为底蕴,确立的可不仅仅立异的陈设。

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

www.hj8828.com 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示例
www.hj8828.com 3

$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命令实现

www.hj8828.com 4  

 

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

  • Agent收集硬件花费
  • API提供相关管理的接口
  • 管住平台为用户提供可视化操作

 

 

浅谈ITIL TIL即IT基础架构库(Information Technology Infrastructure
Library, ITIL,新闻技艺基础架构库)由大不列颠及英格兰联合王国政坛…

ITIL,全称 Information Technology Infrastructure
Library,译为“新闻本事基础架构库”或“IT基础架构库”。它是大不列颠及英格兰联合王国国家Computer和电信管理局CCTA以往已融为一炉英帝国际商业信用贷款银银行业务部)于80年间中叶初步开荒的一套针对
IT行当的劳动管理规范库。

中华从引进ITIL的观点已经有五三年时光,到明天全数产业界对ITIL的接受程度有了十分的大巩固,越来越多的CIO发轫给保养ITIL服务管理的非常重要。他们也逐步应用ITIL作为他们集团IT服务管理的底本。

ITIL 暴发的背景是,当时英帝国政党为了升高政府部门
IT服务的品质,运转三个类型来 特邀国内外闻明IT厂家和大家共同开辟一套标准化的、可举行财务计量的 IT能源利用方
法。这种艺术应该是独立于商家的还要可适用于区别层面、差异手艺和工作必要的团体。
这些类型的末梢成果正是当今被广大承认的 ITIL。

ITIL最好施行框架介绍

百货店依据 ITIL进行IT管理,至少有两地方的补益。一是业务部门能够依据一套用工作语言陈说的可量化的质量指标,“名正言顺”地拍卖与
IT 部门之间的关系;二是
IT部门也能够加强劳动品质、裁减服务费用、学习以前的阅历并处理好和业务部门之间的关联。

非凡的IT运转管理软件将ITIL项目执行经验抽象为知识、流程与模板,用规范的IT运转管理经验知识,辅助企业系统的宏图与管理IT服务与运维,以升高本领集团业的政工运营效能,减少业务流程的运维资本与危机。
 

ITIL与运转系统的构成

 
图1

当前IT部门注重的运维系统不但要对互连网设施满含路由器、调换机、安全产品、服务器与PC等)实行田间管理,通过有些手艺目的和阀值来监督互连网的运转情形;何况要运用Portal手艺,整合集团现有的多套监督软件,达成一站式登入。通过Portal对于集团内差异剧中人物提供所需内容通过服务仪表盘),让领导和业务部门能够出席进去,尤其精通其难度,扩大双方的相互打听。运营系统倡导ITIL,完全以实际景况和可操作的法子出发,使集团能到达IT运营流程化、自动化和标准化。CMDB即安插管理数据库,通过辨认、调整、维护,检查公司的IT财富,进而高效调控与治本持续改动的IT基础架构与IT服务,并为别的流程,比方事故管理、难题管理、改换管理、公布管理等工艺流程提供可信的配备音信。

将ITIL先进的统一准备意见加以管理经验,变成一套完整的现实的ITIL实行依据,将总体的ITIL分为四大推行阶段,各样阶段的性状如下:

服务台

计划

服务台ServiceDesk)在劳动支撑中扮演着四个特别首要的剧中人物。完整意义上的服务台能够明白为其余IT 部门和劳动流程的“前台”,它能够在没有须要沟通特定才干职员的情况下管理大量的客户诉求。对用户来讲,服务台是他俩与 IT
部门的头一无二连接点,确定保证他们找到援助其化解难题和呼吁的连带人口。

 
表1

服务台不仅仅担负处管事人故、难题和客户的问询,同期还为别的运动和流程提供接口。
这一个活动和流程包蕴客户退换诉求、维护合同、服务品级处理、配置管理、可用性管理和持续性处理等。