运维岗真有人用Python脚本运维吗?

【Linux 从基础到进阶】 Python脚本在运维中的应用 运维工作中,定时任务是非常常见的需求。虽然cron是Linux下的传统定时任务工具,但Python通过集成schedule库,可以实现更加灵活和可控的任务调度。在运维工作中,实时监控系统资源(CPU、内存、磁盘等)使用情况至关重要。Python可以利用psutil库来获取这些资源的详细信息,并根据设定的阈值触发报警。在运维中,批量管理服务器是常见的任务,如批量执行命令、批量部署应用等。使用Python结合paramiko库,可以实现对多台服务器的远程操作。 阅读详情

个人愚见,抛砖引玉。

我的理解,在运维工作中使用python,并不是说“简单的命令行操作”就能解决的东西,或者写个bash shell、powershell、bat脚本就能解决的东西,都必须转换成用python来解决。

更加不是说必须抛弃已经熟练掌握的技能,然后使用完全不熟悉的技术栈(python)来做运维,舍近求远,本末倒置。毕竟,个人理解,运维首先追求的应该是稳定,其次才是效率,创新。

相反地,python应该是“命令行”与“脚本”的补充,专门用来解决这两者无法解决的东西与问题的。更甚者,由于python有各种的第三方库,可以写桌面GUI程序、可以写WEB、可以写爬虫等等等等。因此,我觉得使用python来做运维,最终极的目标可能是“让不会运维的人都能运维”。

为啥要“让不会运维的人都能运维”?因为现实运维工作中,就分了外包人员与正式员工,而外包可能还分为服务台、一、二、三线工程师,正式员工也分助理、中级、高级等不同级别的工程师,每个岗位对人员的要求、对知识的掌握与熟练程度都是不一样的(当然对应薪酬也不一样)。所以有些时候你又不能直接给服务台或者外包的一线工程师登录服务操作的权限(否则万一真在服务器上跑rm -rf /怎么办),但又有些简单的、重复劳动的体力活想要他们来替你承担,而厂家产品自带的工具里面又没有这个功能,那怎么办?

答案就是自己Devops开发,开发出一个具有图形化界面,易用性足够简单的运维工具,来让“让不会运维的人都能运维”。

终极目标:让不会运维的人都能运维

例如我弄过这样一个东西(用“腾讯蓝鲸”的python+django框架+html/css/jquery做的),公司购买了一个软件产品,软件许可(技术授权)没有买全所有用户,每个用户登录后就占用一个用户许可,一旦占满许可之后,后面的用户就无法登陆了,需要管理员手动清空当前的用户许可占用。

然后我就开发了一个下面这样的WEB工具,外包一线的工程师收到用户无法登陆的工单,并且判断是许可不足之后,就点击一下“刷新授权”的按钮。

系统自动弹层授权刷新中,

然后,页面自动刷新“状态”字段会显示任务“进行中”还是“已完成”。

服务器侧,授权占用数量自己慢慢就下去了。

任务完成后,自动显示“状态”为“已完成”。

整个操作过程,一线工程师不用登陆服务器,而且,易用性简单到爆炸,点击一下“刷新授权”按钮就足够了。就算换了个一线工程师,他根本不需要掌握任何实质性的技能,只需要根据KB指引,点击一下就可以了,从而达到“让不会运维的人都能运维”。

如何做到足够的易用性,我认为需要图形化界面的支持(无论是WEB还是GUI),然而“命令行”与“脚本”都做不到,但python却有丰富的框架可以做图形化WEB界面(例如Django、Flask等),而且python入门比较简单,所以很适合运维人员用来开发一些运维工具。

再来一些自己做过的案例:

1、对接短信网关/微信接口,实现监控系统短信告警

基本上所有开箱即用的软件产品(例如solarwinds、zabbix、ITSM系统等),默认都会配置有邮件、短信、部分还有微信通知/告警。

相当一部分的运维工程师都只会配上邮件通知/告警,因为邮件通知/告警的配置简单以及无成本,基本上只要在软件上配置SMTP服务器IP地址,端口(SMTP默认端口25),邮箱账号名,密码,就可以了。

然而很多业务场景,邮件通知/告警实时性根本是不够的。(例如监控系统的故障告警,有时候邮件没看就错过了,至少也要短信告警,最好是电话告警)

为什么不做短信告警呢,1是因为涉及要与运营商短信网关/短信接口的对接,就需要写代码,将接口要求的参数,按照接口的规定的格式,传输给接口。2是参数哪里来呢?当然是从需要发送短信告警的软件系统中接收的,而不同的软件产品,输出的参数命名、参数数量、格式(如XML、JSON)又不一样,所以又是要写代码对接。

而因为一般运维工程师都不会写代码,所以基本上短信告警就黄了。(微信告警同样)

而当你会用python,这个东西弄起来其实就很简单了。譬如之前,公司买了H3C的网络设备统一管理平台(IMC),里面可以纳管所有H3C的网络设备,并且具备监控与告警功能。IMC上面的短信告警配置,默认使用POST请求提交数据,能够填写接口url地址,并且使${mpNumber}表示接收告警短信的电话号码,${smsContent}表示短信内容,具体内容IMC会根据不同的告警对象与问题进行填充。

而公司在用的短信API,则要求调用方将参数按照JSON的格式输入,有userid,password,phone,content四个变量需要输入,所以IMC的输出的参数命名、数量、格式与短信网关接口的输入格式、参数不匹配,无法直接对接,怎么办?

于是我就用python+django起了个web服务,做了一个接口,在IMC上面配置POST请求往我的接口发送,我的接口负责接收IMC传输过来的${mpNumber}与${smsContent},将其连同userid、password整理为JSON格式。

#伪代码
(
'userid':'xxxx',
'password':'xxxx',
'phone':${mpNumber},
'content':${smsContent}
)

然后调用公司的短信接口,将参数传输过去,就完成IMC与短信接口的对接,实现监控系统实时短信告警了。

更加有意思的是,我开发这个功能,用非工作的业余时间开发了2天(我承认我开发水平很渣,这么简单的东西弄了那么久)。而在收到需求的第一天上午我们也找H3C厂家询价了,在第2天晚上我开发出来之后,H3C厂家回复这个与短信接口对接的需求,属于个性化需求,需要定制开发,报价7万元。所以某种程度上,我两天业余时间的开发,赚了7万块钱。而这个需求,通过“命令行”与“脚本”,应该也是解决不了的。

2、写爬虫,帮领导自动填报数据

工具化运维,一般都会建很多烟囱式的系统,不同的人管不同的系统。而一旦要统计各个系统的运维数据,就需要人手一个个系统登录,查询数据并且记录,然后汇总到表格里面。如果只是每月、每周采集一次,可能还好,而如果每天都要填报,系统又多,每天就要花费专门的时间处理这个重复劳动又吃力不讨好的工作。

领导觉得很烦,于是又要我开发个自动采集的功能,这个东西“命令行”与“脚本”应该也是无法解决。最好的方法应该是调用各个系统的接口直接取数,如果不行可能次优方法是直接读各个系统的数据库视图取数,而如果这两个方法都不可行,那么只能硬来,通过爬虫模拟人的正常访问行为,自动访问网页,填写用户名密码,模拟点击操作,然后读取相关的数据,写入数据库或者EXCEL表,再FTP上传到指定位置。

于是我用python+selenium,使用chromedriver,用爬虫打开chrome浏览器,然后自动爬取数据入库,让该系统直接从我数据库读取相关的数据,就不用自己填报了。

所以我相信python是运维除了“命令行”与“脚本”之外的一个强大补充,为运维自动化、DevOps、AIOps提供了更多的可能性。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、Python练习题

检查学习结果。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至优快云官方,朋友如果需要可以直接微信扫描下方优快云官方认证二维码免费领取【保证100%免费】。

基于云盾构建等保三级Web安全体系:从合规要求到实战落地 网络安全等级保护(等保)是保障信息系统安全的重要制度,其核心原理是通过分级防护、动态调整的策略,构建纵深防御体系。在技术层面,等保要求覆盖物理环境、通信网络、区域边界、计算环境和安全管理中心等多个层面,旨在通过技术和管理相结合的方式,有效应对网络攻击和数据泄露风险。对于Web应用而言,满足等保三级要求具有极高的技术价值,它不仅是合规的刚性需求,更是提升业务系统整体安全水位、建立用户信任、保障业务连续性的关键工程实践。在云计算时代,利用云原生安全服务(如Web应用防火墙WAF、云安全中心、态势感知等)可以高效 阅读详情

相关推荐

配置 NVIDIA RTX 5090 + sm_120 + flashattention,已跑通一个大模型 ~~

本文介绍了在Ubuntu 22.04系统下为NVIDIA RTX 50系显卡搭建深度学习环境的完整流程。重点包括:1)安装适配50系显卡(sm_120架构)的CUDA 12.9驱动和Toolkit,需注意禁用系统自带驱动;2)配置环境变量解决nvcc命令识别问题;3)通过源码编译方式安装支持sm_120的PyTorch nightly版本(cu129),解决官方二进制包不兼容问题。整个过程涉及显卡驱动安装、CUDA环境配置、PyTorch适配等关键步骤,并提供了详细的验证方法和常见问题解决方案。文中特别强调

qq_36674060的博客 6160

用python开发的运维管理系统,python网络运维脚本

len为0时进入循环;datetime.datetime.fromtimestamp(psutil.boot_time()) # 得出的结果不是str格式,继续进行转换 datetime.datetime.fromtimestamp(psutil.boot_time()).strftime('%Y-%m-%d%H:%M:%S')print_str = print_str + " 系统的内存以使用容量为: "+str( mem.used/( memory_convent ) ) + " MB\n"

P42695665的博客 1690

从零开始:QNX SDP 8.0开发环境搭建与实战入门

本文详细介绍了如何从零开始搭建QNX SDP 8.0开发环境并进行实战入门。内容涵盖许可证获取、环境安装、命令行与IDE工具使用、BSP构建、系统镜像生成,以及编写、编译和运行第一个QNX程序的全过程。旨在帮助嵌入式开发者,特别是汽车电子和工业控制领域的工程师,快速掌握这一实时操作系统(RTOS)的开发基础。

weixin_29163857的博客 642

Python在自动化运维时最常用的50个方法

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)

m0_59235245的博客 1424

Squareline Studio + LVGL实战:从Figma设计到MCU屏幕的UI开发一条龙(避坑中文显示)

本文详细介绍了使用Squareline Studio和LVGL实现从Figma设计到MCU屏幕UI开发的全流程,重点解决中文显示等常见问题。通过设计工具链搭建、设计稿转换、LVGL工程集成及性能优化等步骤,帮助开发者高效完成嵌入式GUI开发,提升开发效率。

weixin_29246195的博客 585

群晖Git Server权限配置全攻略:如何让普通用户(非admin)也能安全提交代码?

本文详细解析了群晖Git Server权限配置方案,特别针对普通用户(非admin)安全提交代码的需求。通过SSH服务配置、精细化用户权限管理及仓库创建自动化脚本,实现在DS218+等群晖NAS设备上的高效代码协作,同时确保系统安全。

weixin_42528780的博客 466

运维人员的Python详细学习路线

运维人员python学习知识点

bltyu2000的博客 2246

FPGA_adc采样并通过以太网发送到上位机

本项目使用FPGA-ZYNQ-7020采集8通道ADC数据,通过以太网上传到上位机显示波形PL部分包括数据的获取与处理,数据从PL传递到PSPS部分包括以太网的发送,由PL到PS的中断触发本文章不详细讲解背后原理 但保证每一步足够详细,跟着就能实现。本人FPGA平台 大磊FPGA7020开发板 vivado2020.2 vitis2020.2 匿名上位机公开版

weixin_42304868的博客 5628

python搭建自动化运维平台,python开发运维系统

大家好,小编为大家解答python 运维开发都需要掌握哪些的问题。很多人还不知道python搭建自动化运维平台,现在让我们一起来看看吧!这两天在学校实训:用Python Django做学校的在线课堂系统,可谓是让我这个从未摸过Django和SQL的屌丝涨了市面。工作之余,我无意之间翻了翻都写哪些经典的Python WEB框架:Flask、Django这些都太大了,自己手动写纯Socket工程量又太大......有没有什么好一点的这种方案呢?

zjl102562的博客 1764

Himall商城ExpressDaDaHelper 取消订单(线上环境)

Himall商城ExpressDaDaHelper 取消订单(线上环境)

GZM888888的博客 399

华为OD机试 - 名字的漂亮度(Java 牛客练习题)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个不同字母拥有相同的“漂亮度”。给出一个字符串,该字符串仅由小写字母组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。给出多个字符串,计算每个字符串最大可能的“漂亮度”。第一行一个整数N,接下来N行每行一个字符串。数据范围:输入的名字长度满足。每个字符串可能的最大漂亮程度。

学Java,找哪吒 1786

做运维的需要学会用python的哪些技术?

自动化运维工程师主要的技能要求是Python、shell、Linux、数据库、openpyxl 库等;如果大家的运维阶段还处于一个中级水平,那么在Linux原理和基础知识熟练掌握之后,可以对上层的应用和服务进行深入学习,其中涉及到的网络相关知识也是需要花时间学习的。TCP/IP网络基础:CCNA、NP的知识;Linux企业常用服务以及安全原理和防范技巧:这里包括的比如系统性能/安全等等;加密/解密原理以及数据安全、系统服务访问控制以及服务安全基础iptables安全策略构建。

xx16755498979的博客 1849

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

运维岗真有人用Python脚本运维吗?用Python写脚本更爽!

我的理解,在运维工作中使用python,并不是说“简单的命令行操作”就能解决的东西,或者写个bash shell、powershell、bat脚本就能解决的东西,都必须转换成用python来解决。更加不是说必须抛弃已经熟练掌握的技能,然后使用完全不熟悉的[技术栈](python)来做运维,舍近求远,本末倒置。毕竟,个人理解,运维首先追求的应该是稳定,其次才是效率,创新。相反地,python应该是“[命令行]”与“脚本”的补充,专门用来解决这两者无法解决的东西与问题的。

m0_59162248的博客 621

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

运维脚本python能用吗_运维岗真有人用Python脚本运维吗?

Shell在运维工程师思想中比较根深蒂固了,而且应用比较广泛,但是可移植差,也已经被公认了。Shell又称为胶水语言,就是把不同的命令粘合在一起的一种语言。是一种系统级别的语言,对操作系统依赖性强。就算是Linux范围内的不同的操作系统之间移植改动可能都超过重写,所花费的时间和经历。因此经常见到各种各样的Shell脚本,只是为了某一类甚至是某几个问题,而开发的。而且执行的时候,并不考虑系统资源占用...

weixin_39971172的博客 288

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

python常用运维脚本实例-运维岗真有人用Python脚本运维吗?

题主明明在问怎么用python运维,为何要争论python和shell到底谁强呢?要比的话,我来引用下神仙们的看法Guido van Rossum:"All you can do with a shell script is make it worse. But since this is Python, you can make it better."源文地址:http://...

weixin_37988176的博客 250

python运维脚本实例 windows_运维岗真有人用Python脚本运维吗?

其实从运维本身的工作内容里来讲,具体使用什么方式运维其实是不重要的。初阶运维可能使用shell脚本就能完成日常运维需求,进阶一点的可以使用Python脚本进行运维,再有一些经验的项目型运维可能就会直接使用一些高级语言比如Java和Golang甚至C来写一些常用的运维工具了。至于大家通常说的Python运维,其实是因为shell虽然灵活,但是扩展性不够,所以shell和其他语言之间需要做一个权衡选择...

weixin_39588542的博客 199

Python运维常用的脚本,提高工作效率就靠它了

前言 用Python做运维的小伙伴肯定会进行重复的工作,这个时候脚本的重要性就体现出来了 一个好的脚本工具可以帮你省去很多重复的工作,创造更大的价值 下面小编就带你们看看Python运维最常用的脚本吧 清除指定redis缓存 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # @Time : 2018-12-20 15:19...

weixin_44099558的博客 1万+

让你一步步成为运维专家之各种运维脚本

让你一步步成为运维专家之各种运维脚本 最近想做一个自动化运维的脚本,就整理一些资料,分享出来,一起共勉! 运维脚本参考:https://github.com/SwordfallYeung/BigData_AutomaticDeploy 自动化部署:https://gitee.com/lucky110100/sloth/tree/master Linux命令行与shell脚本编程大全案例:https://github.com/fengyuhetao/shell shell常用分析命令和脚本:https://g

lv_hulk的博客 3504

python常用运维脚本实例-经典!Python运维中常用的几十个Python运维脚本

原标题:经典!Python运维中常用的几十个Python运维脚本本文由马哥教育Python自动化实战班4期学员推荐,转载自互联网,作者为mark,内容略经小编改编和加工,观点跟作者无关,最后感谢作者的辛苦贡献与付出。file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建。但是更推荐使用内置函数open()来打开一...

weixin_37988176的博客 4161

Python 运维脚本整理归纳

Python 是一种功能强大且易于学习的编程语言,它在运维工程师的日常工作中扮演着重要的角色。Python 的简洁性和丰富的库生态系统使其成为编写自动化脚本和工具的理想选择。下面是一些运维工程师在日常工作中经常使用的 Python 脚本的概述。

微软技术分享 2万+

Python运维脚本网络收集

Python运维脚本网络收集 阅读目录 常用系统脚本 python 命令行模块 from optparse import OptionParser parser = OptionParser() parser.add_option("-u", "--user", action="store_true", dest="users", default=False, help="user names") parser.add_option("-p", "--port", action="store_

ァ簡簡單單メ 6201
上一篇: 大学生用python爬虫赚到钱了吗?
下一篇: 金融工程现在用python多吗?
壹只小小码农
博客等级 码龄5年 8104粉丝 1333原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值