Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1351878
  • 博文数量: 632
  • 博客积分: 2778
  • 博客等级: 大尉
  • 技术积分: 3387
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-31 09:09
个人简介

123

文章分类

全部博文(632)

文章存档

2014年(36)

2013年(33)

2012年(563)

分类:

2012-11-14 09:53:19

原文地址:企业自动化运维 作者:ztguang



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

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

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

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

+++++++++++++++++++++++++++

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

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

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


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


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

+++++++++++++++++++++++++++

其实那么多自动化运维工具无非就两大类。
1、监控报警类
这块开源的很多,公司自己开发的也多。不过我觉得还是选择一款开源的玩熟就好了,没必要反复制造轮子。就拿绘图来说,估计没几家自己开发的图形监控有 cacti功能强大吧。cacti针对中小企业来说够用了。如果企业大了,机器确实太多了,可以考虑分布式的监控了,可以考虑使用多台cacti按功能或 者地域划分监控。还是那句话,方法总是有的,看你怎么平衡。


2、批量管理类
chifeng,puppet,expect,批量shell,还有很多各家自己开发的工具。
其实我觉得批量管理工具满足三点就好了。
(1、工具安全性,不能成为黑客攻击的入口
(2、功能校验,对发出的命令有校验和过滤功能,如果发现命令不正确或者危险命令,就忽略执行,避免对系统照成伤害。
(3、功能不用太强,一般就是批量修改密码,主机名,安装软件,修改配置文件之类的。
针对批量管理,能够把shell或者python玩好,中小企业就差不多了。

+++++++++++++++++++++++++++

1. 自己的虚拟化平台用linux+kvm,推荐proxmox,虽然有些小地方不是很稳定,但是总体功能没有问题,包括迁移、备份、恢复;
2. 内部在用nagios监控,配置好短信报警,基本上不用担心意外,也根据实际情况写点简单的监控脚本什么的;
3. 系统很多,但是分属多个系统,运营类的,不敢批量操作。

+++++++++++++++++++++++++++

1,针对本次话题说说您对自动化运维的理解
用定期执行的脚本或者工具来替代手动命令完成某一项工作,
优点:可量化,可查询,减少重复劳动,减少人为错误的风险。。。。


2,分享您在使用这些自动化工具中的经验
系统部署:Cobbler            
系统更新和应用部署: Puppet
版本控制:git
远程登录:vnc  netsupport(这个是收费的)
监控:Nagios、cacti   
虚拟化:KVM xen VMWARE(公司现在用这个)
备份:tar 配合find写脚本

+++++++++++++++++++++++++++


+++++++++++++++++++++++++++
阅读(517) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~