Gray1982 发表于 2012-11-07 09:59

企业自动化运维 十八般兵器你在耍啥?(获奖名单已公布2013-1-6)

获奖名单已公布,详情请看:http://bbs.chinaunix.net/thread-4062236-1-1.html

随着企业的业务对IT的依赖越来越多,企业的服务器的架构规模不断扩展,为了更有效率的执行任务,为了我们运维人员不再像流水线上的一名工人一样不断重复的做着同样的工作,我们将会用一类工具,这类工具是可编程的,我们只是需要写上一些代码就可以帮我们自动完成所有的工作,这类工具就是我们需要研究的对象。常见的有:Kickstart、Chef、Nagios、Cobbler、ControlTier、OpenNMS、OpenQRM、Func、Zabbix、Spacewalk、Puppet、Cacti等。自动化运维工具可以帮我们完成很多任务,比如系统安装、系统升级、批量修改密码、主机名规范、终端资源监控、批量配置管理、终端批量实时操控等等。在如此多的工具中,我们如何选择合适的工具来完成我们的工作需求?哪些工具的定制化比较好,哪些效率高?哪些功能全?

讨论话题:
一:所知的运维自动化工具应用类别
二:常用的运维自动化工具
三:简单介绍下目前使用的自动化工具的功能

邀请嘉宾:
刘鑫 (Gray1982)      高级系统运维工程师,《高性能网站构建实战》作者
胡安伟(king_819)      金游数据运维主管
余洪春(yuhongchun) 易瑞特系统架构师、《构建高可用Linux服务器》作者

活动时间:
2012.11.7-2012.11.30

活动要求:
1,针对本次话题说说您对自动化运维的理解
2,分享您在使用这些自动化工具中的经验
               
讨论有奖:
活动结束后,我们会评选出五位积极参与话题讨论的网友奖励Gray1982新作《高性能网站构建实战》一本,对其他积极参与讨论的网友(回帖有参考价值)我们将奖励积分20分。
http://linux.chinaunix.net/book2012/images/gxnweb.jpg

tonyzhang828 发表于 2012-11-07 10:41

对于大批量修改密码,在不安装服务器Agent的情况下,大家有什么好的建议?

Gray1982 发表于 2012-11-07 13:10

回复 2# tonyzhang828


    你可以看下我博客的批量部署脚本:victory:

kellyseeme123 发表于 2012-11-07 13:35

暂时还没接触,不过搬个凳子坐等高手解答

ruochen 发表于 2012-11-07 13:46

系统安装是交给IDC人员,最小化安装有标准规范
Nagios、Cacti生产用的最多
ControlTier、Zabbix、Puppet--这些折腾和测试过
目前批量改密是用的脚本
主机统一管理和登录是买的第三方产品
自己内部用python开发了一套运维管理系统
php开发数据库备份检查工具

aizibin 发表于 2012-11-07 14:30

本帖最后由 aizibin 于 2012-11-07 14:31 编辑

1.不部署(或者无需刻意部署)agent的
ssh,ssh+except做自动应答,其他基于ssh的(串行跑的,并行跑的等等)
优点:方便,无需部署(例如sshd一般默认安装且开启daemon)
缺点:慢

2.需部署agent的
puppet,cfengine,自己写的(例如python、perl等方式,shell实现不了socket级别的貌似)
优点:速度快
缺点:当然是需部署了,上手不易,而且自己开发的话不好搞定(我是小白,没这个能力:$)

我就能想到这么多,错误之处望大家勿怪

Gray1982 发表于 2012-11-07 15:24

回复 6# aizibin


    搞下Python多线程的不慢:victory:
Puppet要整理的东西多:victory:

刺客阿地 发表于 2012-11-07 15:39

1,针对本次话题说说您对自动化运维的理解

答:自动化运维,我的理解是借用一些软件工具,将这些工具运用到日常重复复杂的工作上,简化工作流程和手动操作,

使自己的工作能够高效率的完成,而不是手动重复的去做一些日常和枯燥的重复性劳动,这样,自动化运维的价值才能体现出来。


2,分享您在使用这些自动化工具中的经验

答:公司里面部署过Hudson持续集成引擎,Hudson主要应用于
1.持续、自动地构建/测试软件项目,如CruiseControl与DamageControl。
2.监控一些定时执行的任务。

Hudson的主要特性概括如下:

Hudson拥有的特性包括:

    易于安装-只要把hudson.war部署到servlet容器,不需要数据库支持。
    易于配置-所有配置都是通过其提供的web界面实现。
    集成RSS/E-mail/IM-通过RSS发布构建结果或当构建失败时通过e-mail实时通知。
    生成JUnit/TestNG测试报告。
    分布式构建支持-Hudson能够让多台计算机一起构建/测试。
    文件识别- Hudson能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
    插件支持-Hudson可以通过插件扩展,你可以开发适合自己团队使用的工具。


我们公司有很多测试服务器,用于给测试人员做测试项目用的,因为测试环境太多,人为手动部署太慢,重复操作工作效率低下啊,用了Hudson之后,可以慢慢坐着喝茶,等Hudson自动发布吧,哈哈!

虫虫猫 发表于 2012-11-07 16:44

一:所知的运维自动化工具应用类别
我理解一般分这么几类
1.系统安装初始化
2.环境部署、配置变更、进程监控、日志监控
3.代码分发

二:常用的运维自动化工具
bacula cobbler zabbix cfengine swatch... ,最主要得还是脚本

三:简单介绍下目前使用的自动化工具的功能
目前所使用的自动化运维工具主要还是cobbler用于自动安装系统和初始化,cfengine来做配置的变更修改,svn+hook 方式实现代码的自动发布
还有swatch 来做应用的日志监控来自动重启服务,bacula来做数据的集中备份管理。


对自动化运维的理解
其实对运维工程师来说,能自动来做的地方不要手动,能交给程序来做的事情就让程序做就是自动化运维的动力,现有的各种工具只是让
自动化运维更加方便。很多时候一个计划任务加上一个shell脚本就可以满足自动化运维的要求了。
各大互联网公司内部的几千上万台机器绝大多数操作都是自动化操作的,不过这些都属于核心技术,涉及安全也不会对外放开,对于中小型
企业没有专门的运维开发人员,只能靠运维工程师自己多想,多尝试,不过运维工程师一般开发能力都不强,也就很难做出太多的东西。


经验
最好的工具是适合自己业务的工具,一套自动化运维工具也是由一个一个小模块组成的。还有就是自动化之前一定要确定自动化运维的准确性
做好测试工作,不要认为没有问题,结果跑了一段时间才发现没有达到预期的目的甚至对业务造成影响和损失。某些工作手工检查和确认还是必要的:))。

Shell_HAT 发表于 2012-11-07 17:38

回复 2# tonyzhang828


    一般都是用expect
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: 企业自动化运维 十八般兵器你在耍啥?(获奖名单已公布2013-1-6)