如何选择ITIL监控工具,自动化运维经验谈

Infrastructure Technology Infrastructure Library (ITIL)承诺能够提高员工生产力,缩短解决问题时间,以及将IT运营更加紧密地向业务目标看齐。但为了实现ITIL和使它投入运行,您必须首先找到正确的ITIL监控工具以便详细且精确地了解网络组件以及它们之间的数据流。

自动化运维经验谈,以及为什么Docker是革命性的

随着开发效率的提高,运维的自动化已经成为很多技术团队越来越重视的问题,否则部署的速度容易成为业务创新的瓶颈。在这个背景下,定位于给互联网公司做运维服务的云络科技公司接触了越来越多的客户,对国内互联网公司的运维水平有相当多的了解。他们看到的现状是怎样的?技术团队要实现运维自动化应该从哪里开始?像Docker这样的技术如何影响开发者与运维工程师?在本次采访中,云络科技CEO Steve Mushero谈论了这些话题。

图片 1

嘉宾简介

Steve Mushero从硅谷来到中国,在全球范围内的广泛行业及从业企业中拥有超过25年的技术管理经验,其中包括IT运营、软件开发、物流、制造以及机械等领域。他曾在土豆网(中国)、Intermind、New Vine Logistics以及Advanced Management Systems等企业担任过CTO,拥有首席架构师工作经验,并以顾问身份为世界卫生组织、格莱珉银行基金会以及多家全球财富五百强企业的全球化项目提供指导。

自动化从构建和测试开始

运维自动化的关键在于标准化。当你有一个成熟的团队,有标准化的流程,那么运维自动化就水到渠成了。而如果你什么都没有,那就需要先设定优先级。

我们的目标当然是将所有的流程标准化,而哪些要放在前面做?做起来比较简单的,和比较重要的。我认为构建和测试的流程是最基本的第一步。这对于交付产品的公司来说容易一些,对互联网公司来说更复杂一些,而测试比构建也要复杂一些,但这是基础。构建和测试的流程标准化做好了,就可以准备做自动化的工作了。

不过我见过的很多公司连Git都还没有,仍然在用最原始的FTP push来更新代码。我的观点是,如果你还没有用上Git这样的工具,那根本就不用考虑什么自动化的问题,因为条件完全不成熟。

所以,我们假设你的团队能够很好的使用Git,然后你建立了构建和测试的标准化流程,然后你就可以用工具来实现自动化。这可能是Jenkins这样的工具,不过Jenkins比较复杂,如果你只是一个很简单的网站,那么自己写一些脚本来实现自动化是更合适的。

到此为止,我们说的还不是自动化运维,而是自动化工具链。工具链就是开发工具链,从IDE,到代码提交,代码审查,构建,到测试,仍然属于开发的范畴。在这之后才是运维的范畴,就是往生产环节部署。

部署

运维自动化最关键的部分是运行环境的定义。我们的目标是让各个阶段的代码完全一样,即开发者在自己笔记本上写的代码,到集成阶段的代码,到线上环境的代码,都是一致的。为什么Docker这么火,就是因为它帮助开发者很简单的就让自己的开发环境跟生产环境一致。环境的标准化,意味着目录、路径、配置文件、储存用户名密码的方式、访问权限、域名等种种细节的一致和差异处理的标准化。这涉及到很多方面,也是自动化运维最困难的一部分。

这里要注意的是,像Puppet这样的工具并不是魔法。你需要自己为你的环境定义一套描述的方式,工具是无法为你完成这项工作的。无论是Puppet还是Jenkins,都是根据你的定义来管理你的环境。你决定用户名和密码如何储存,你决定配置文件的路径。开发者很喜欢把各种配置和url之类的参数硬编码到代码里,这很快;他们还喜欢东搞西搞的用一些乱七八糟的手段让软件通过测试,但是如果要构建一个真正的系统,这些小把戏根本没用。你必须强迫他们采用标准的方式写代码,比如强制他们把用户名和密码写在固定的地方,然后你才能跟Puppet说,配置文件在这里,测试环境用这个配置,生产环节用那个配置。到这里就很简单了。

线上环境问题排查

对于线上环境的问题发现与解决,大部分基础的问题都能用工具来自动发现并提醒,比如磁盘空间不够,比如MySQL崩溃,比如访问网站的时候出现错误页面等等,有很多现成的工具可以抓到它们错误的信息。

比较困难的是排查网站为什么变慢这样的性能问题。我们经常看到客户的开发团队提交新代码后引入问题。在测试做得不好的时候这很常见,事实上很多东西是很难测试的,尤其是性能;而互联网公司又尤其没有测试的文化,互联网开发人员大多关注特性的实现,而不像传统企业级开发那样有很多测试的工具和流程。

理想的情况下,每个人提交代码前都应该测试。但既然反正也没人这样做,那么用工具来帮忙还是很有用的。比如New Relic这样的工具就很强大,它可以发现代码层面的问题。我们有时候也用我们的工具帮客户做测试,包括负载测试。性能测试是挺困难的一件事,既不容易用起来,也不容易让别人用起来,一般来说你需要一个专门的团队才能做性能测试,但互联网公司基本没有(除了Google、Facebook这样的),就算想有也找不到人。所以要善用工具。

Docker的意义

Docker很有意思,很火,很新,当然也很多问题。它目前没多少大型部署案例,所以人们不断的发现问题也是很正常的事情。

总体来说,Docker是一个对开发者非常友好的东西:简单的实现不同机器上的环境标准化,可以轻松拿来拿去,而且在不同的云平台上都支持。而把Docker用起来对运维而言则是很大的挑战,我们帮一个客户做一个规模较大的Docker部署,一个有经验的DevOps团队也花费了几个月的时间。为什么?

Docker容器就跟VM差不多,从运维的角度,会希望像管理VM那样管理Docker容器,但是Docker容器很难troubleshooting,因为默认来说它没有SSH,你要怎么登陆到一个容器里去查看里面发生了什么问题?Troubleshooting,这是一个最大的问题。

默认来说,Docker容器也无法运行cron任务或者batch任务,意味着你没法儿让它自动做备份之类的工作,而这是最基本的运维任务,这是另一个必须解决的问题,否则你根本无法构建一个自动化管理的云环境,而要解决这个问题,你需要搞一些手段,比如改造它的架构,但是你一折腾,又引入了很多新的问题要解决。

Docker有很好的网络机制,但是也很复杂,所以我们bypass了所有的Docker网络,而这也引入了一些问题。Docker容器也没有好的重启方法,因为你很难看到哪个是哪个,需要做一些好的命名映射的管理系统。总之,要在大型部署中把Docker玩好,你需要各个方面的专家,还需要时间。

我并不怀疑Docker是趋势,它的概念非常好,会极大的改善开发者的世界。如果你的系统比较简单,不是很大,那么用Docker是完全没问题的。而且它的文档很好,这也是很赞的地方。我相信它会引领未来。它只是还需要时间来完善。而这也不奇怪:想想KVM,其实KVM做的事情很简单,就关注系统层和CPU、内存、存储、网络的交互,并不难理解,但即使是目标如此简单的项目也多年处于问题层出不穷的状态,人们不断的围绕它开发工具,改进它,才到了今天的可用状态。Docker则复杂的多,有很多层:它是一个环境管理系统,它是个打包系统,它是个文件系统,它包含一套网络机制,它是一个repo系统,它是个代码系统,等等。基本上,Docker想要把所有的东西都扔到一个小盒子里,五脏俱全。当你用Docker提交代码时,你做的事情跟以前是完全不同的。在以前我们只是把代码提交上去,而在Docker中我们把整台计算机(虚拟机)提交上去。想象一下,这就好像是交换电脑一样,开发者把整台电脑交给运维,电脑里面的环境和代码都有了,是不变的;而运维需要把所有的电源网线什么的都插回去,需要处理很多变化的东西,比如变更的IP、用户名、文件系统等等。这是全新的方式。


图片 2


随着开发效率的提高,运维的自动化已经成为很多技术团队越来越重视的问题,否则部署的...

Moodle安装指导手册,moodle指导手册

大多数监控工具都依靠映射工具来收集网络设备和连接的信息;然后再测量和显示每个连接和设备层的使用汇总。但是,用来支持ITIL的监控工具并不只是用来测试总吞吐量,它还能显示每个应用的网络使用状态和最终用户可见的性能。

Moodle安装指导手册

此文档用于指导在Ubuntu(版本号:16.04)下进行Moodle安装及基本配置

这意味着ITIL监控工具也可以在7层协议上运行,并且提供关于用户发送请求之后多长时间才能获得响应的信息。这些工具将测量数据在网络中的传输时间,应用处理输入的时间,以及响应在网络上按原路返回到最终用户所需要的时间。例如,如果用户需要在1秒钟内得到响应,但是却必须等待10秒钟,那么网络团队就能够辨别出问题是出在网络还是应用本身。

Reference 参考引用

  • Moodle Document
  • Installing Moodle
  • Step by step installation guide for Ubuntu
  • How to install Moodle on Ubuntu 16.04
  • 安装Moodle

有许多的供应商提供ITIL监控工具,包括CA Technologies、EMC和HP以及其他一些小型供应商,如Infoblox和Ipswitch。

Requirments 安装要求

ITIL监控工具:购买时必须考虑什么

Hardware 硬件

  • 磁盘空间:160MB的(最小)可用空间以及尽可能大的存储空间以存储资料用。5GB大概是切合实际的最低配额
  • 备份:备份空间(最好是在网络位置)至少要与上述磁盘空间一样大以存储你的备份资料。
  • 内存:最少要256MB,强烈建议1G以上内存。一般的经验规则告诉我们Moodle使用1GB的内存可以支持10到20名并发用户,但是这会根 据你所使用的特定的硬件、软件组合及使用方式的不同而改变。“并发”指的是同一时间在内存中的网络服务器进程(如,用户在几秒钟内在网页上与系统进行交互 的行为)。显而易见,这并不是在说已登录到系统内的用户数。

网络配置信息必须保持更新并且能被ITIL监控工具访问。这意味着需要创建配置数据库,但是在ITIL v3中这种方法已经发生了变化。ITIL v2需要使用一个Configuration Management Data Base (CMDB)保存网络各个方面的配置信息。这就包括了关于网络设备、服务器、OS软件和应用软件方面的详细信息。这个CMDB包括所有一般称为配置信息的信息,同时还包括软件版本级别、支持合同状态等信息。但是,使用单个CMDB在实际操作中比较不灵活。ITIL v3建议创建多数据库,其中一个用于保存网络设备信息,一个用于保存服务器硬件信息,一个用于保存应用信息,等等。

Software 软件

1. 在做出选择之前,要先了解ITIL工具是如何交互的。在指定的ITIL数据库之间必须有恰当接口。例如,监控工具全天候地更新专门记录性能的数据库,从而记录关于网络使用状况变化的信息。如果一个设备或者连接重新配置或者出错了,那么必须在网络配置数据库中使用一个接口通知监控工具。

OS 操作系统

Ubuntu 16.04

如果从单一的供应商购买全套工具设备,兼容性是不会有问题的,但是如果要整合多个供应商的工具,兼容性就可能是一个问题。为了解决兼容性问题,有些供应商开发了支持更广泛地使用的其它供应商的产品的接口,或者将开放API添加到它们的产品中。

Web Server 网络服务器

Apache 2.0 or later

2. 选择能够让您专注于导致性能降低的问题根源的ITIL工具。在重要的应用中,对降低的性能作出反应需要能够快速地确定问题根源所在。虽然价格较低的监控工具可以显示网络上的所有活动,但是却很难专注于重要的流量。由于网络中的情况非常复杂,因此很难屏闭屏幕上所有的不重要的信息而只关注于您特别需要的信息。工具必须能够适时地监控最重要的应用。

Database 数据库

数据库开发以MySQL和PostgreSQL为主,两者均通过了全面地测试并能够获得丰富的文档支持。MSSQL也可全面支持(需要注 意的是,自选插件可能并没有在MSSQL上进行测试),但是文档及在线帮助不及MySQL或PostgreSql那样全面。Oracle不能完全支持,也不推荐使用它。

  • Mysql 5.5.31 or later
  • MariaDB 5.5.31 or later
  • PostgreSQL 9.3 or later
  • Microsoft SQL Server 2008 or later
  • Oracle Database 10.2 or later

3. 选择一个可以测量单个事务持续时间的ITIL监控工具。虽然吞吐率是重要的,但是最终用户关心的是在发出请求之后事务执行的时间。如果事务执行时间对于关键应用来说是可以接受的,那么就无须担心底层的事务细节了。

PHP

当前Moodle要求的最低版本是5.3.3。数个扩展需要启用;查看更多详情参阅PHP页面。如若缺失任何必须的扩展,安装程序会在环境检查中暂停。

建议在安装Moodle之前,预先安装以下PHP扩展:

  • ctype
  • curl
  • dom
  • fileinfo
  • gd
  • hash
  • iconv
  • intl
  • json
  • mbstring
  • openssl
  • pcre
  • simplexml
  • soap
  • spl
  • tokenizer
  • xml
  • xmlrpc
  • xmlreader
  • zip
  • zlib

    #安装PHP扩展 apt install php7.0-ctype php7.0-curl php7.0-dom php7.0-fileinfo php7.0-gd php7.0-hash php7.0-iconv php7.0-intl php7.0-json php7.0-mbstring php7.0-openssl php7.0-pcre php7.0-simplexml php7.0-soap php7.0-spl php7.0-tokenizer php7.0-xml php7.0-xmlrpc php7.0-xmlreader php7.0-zip php7.0-zlib -y

本文由ca88手机版登录发布于亚洲城官网,转载请注明出处:如何选择ITIL监控工具,自动化运维经验谈

TAG标签: ca88手机版登录
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。