自动化运维浅谈

一、自动化监控

常见的有nagios和zabbix,外面已经用得很多了,网上文档也很多。这些软件,根据bash过滤业务日志监控某个指标很容易,但画出的监控图往往不太理想,很多时候,写技术分析报告需要参考过去一段时间的历史数据,有图是最好的了。公司如果有专门的运维开发人员,也可以用插件在java下自己开发出一些监控界面,如(同事开发的):

自动化运维浅谈_第1张图片


另外,推荐百度的开源图表库EChartshttp://www.oschina.net/p/echarts?fromerr=GMUsF6Vg),利用这东西,应该可以开发出很绚丽的业务数据监控界面。




二、自动化配置

重点推荐ansible,不用折腾被控机,相对简单,但实用性很强。puppet对于很多公司都太“重”了,毕竟大部分公司的主机数量和配置管理都不会到那个程度。

最常见的一个简单demo,批量部署一个ntp定时任务:

[root@localhost ansible]# ansible webservers -m cron -a 'name="ntp" minute="*/5" job="/usr/sbin/ntpdate 192.168.153.136"'
SSH password:
192.168.153.137 | success >> {
    "changed": true,
    "jobs": [
        "ntp"
    ]
}

192.168.153.135 | success >> {
    "changed": true,
    "jobs": [
        "ntp"
    ]
}

当然了,配置管理不只是批量部署定时任务,批量分发文件这么简单,ansible的playbook和saltStack的sls文件一样,要充分理解并在复杂业务环境中灵活使用,还是需要自己琢磨一段时间。


三、自动化报表

1、运维人员一般都知道rrdtool这个老牌画图工具,结合html和sendmail服务,可以定期形成邮件报表。如下为笔者用bash和python编写的一个监控国际漫游到中国联通的登网流量报表,每日通过邮件发送至相关同事:

自动化运维浅谈_第2张图片


2、用java和python画图,控制更灵活漂亮。


四、自动化知识库

除了自动化监控、配置管理和报表输出,还可以与案例库进行关联。在某个告警出现的时候,自动关联到知识库,给出处理tips





本文出自 “记忆碎片” 博客,谢绝转载!

你可能感兴趣的:(运维,自动化)