自动化运维用shell还是python_自动化运维用什么编程语言

前言

运维嘛!应该Python会比较熟悉吧,所以一般都是用Python,但是是否其他系统也可以快速的完成任务?

u=4095047791,727785312&fm=173&app=25&f=JPEG?w=640&h=360&s=7E239745422003079700893503001061

需求分析

1、方便管理。自动化运维就需要有一个Web界面,Python有很多web框架,如果多人维护的时候,用比较成熟的框架比较好一起维护,个人觉得Django比较适合。

2、批量执行任务的需要。自动化都会涉及到批量执行,现在用的比较多的,也比较成熟的就是ansible,ansible也是使用Python写的,调用也很方便。

3、资产收集。资产管理也是运维工作的一部分,Linux一切皆文件的哲学,可以让我们很容易就获取到系统信息,所以shell脚本就可以获取到很多信息,而且使用curl就可以PSOT收集到的信息发送到资产管理平台,当然有时候,shell脚本需要一些命令的依赖就提前安装,Python也是一样需要提前安装一些库,go语言依赖比较少,但是编译出来的二进制文件比较大,分发相对耗流量(当然分发也是一次性的,可以忽略)。

4、资产信息接口。监控的自动发现,有时候就依赖于资产平台的资产信息,就要求资产平台有对应的API,让监控系统获取到资产信息,才能对应做出监控动作。一般Web页面用Python写的,就让Python提供一些http api,让监控系统进行调用。但是如果是比较频繁地调用,是否可以使用golang提供高并发的API?(不过监控系统调用也不是很频繁)

5、系统健康监控。这个就交给运维监控系统(比如:open-falcon、zabbix、nagios等等),结合资产管理监控项,一般都会遇到需要自己编写脚本获取信息的情况,一般还是能用shell实现的还是用shell实现,通用性比较好,这个个人观点。但是如果是遇到需要复杂运行,才能获取到具体的性能指标的呢?是不是可以考虑Python、golang等?

6、运维报告自动生成。这个就是要报告老板,特别到总结的时候,老板都希望看到一些数据,这时候这些报告就起到了关键性的作用了。这些报告也可以让我们发现哪里存在不足,哪里需要改进,哪里需要增加机器等等等。这时候让运维平台每个固定周期生成一份报告就可以了。这时候Python绝对够用了。

u=127028249,4191292305&fm=173&app=25&f=JPEG?w=640&h=480&s=C8E23A6613B6B6675E5D900F0100E0C1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值