自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 自动化运维初级村-巡检-文本解析-从正则到TextFSM

有很多朋友一开始就想从TextFSM上手,但TextFSM究竟比正则强在哪儿?TextFSM所遵循的状态转移和匹配机制究竟是如何产生又是如何运用的?在我带领大家实践正则表达式的过程中,大家会发现如此灵活的正则匹配的短板在哪里?而这些短板恰恰就是催生TextFSM的重要因素。

2023-01-07 13:12:21 404 1

原创 自动化运维初级村-巡检-文本解析-正则

这一章节主要是给大家做一下正则表达式的科普,本身正则表达式的编写并不会特别复杂,但需要掌握的知识点较为零碎,所以我希望尽可能的精简,并且通过匹配IP的例子将其串联起来,让大家尽快熟悉正则表达式,也能为后续学习TextFSM打好基础。

2022-12-31 13:15:32 223

原创 自动化运维初级村-巡检-Flask大型应用-下

这一章节结束后Flask大型应用的构建就已经结束了,从文件拆分,到路由蓝图,再加上环境配置、异常处理,最后完成和SSH执行器的结合。现在已经具备了将远程CLI进行服务化的基本能力。

2022-12-17 18:18:53 234

原创 自动化运维初级村-巡检-Flask大型应用-上

经过前面几个章节的学习,大家应该已经对巡检模块的整体设计以及各个部分的实现都有了清晰的了解,但之前的代码其实只是小试牛刀,主要是为了让大家能够更方便的理解各个部分的功能,并且让刚接触较为复杂的程序设计的朋友更容易上手。今天的章节中,我们会把巡检的代码和新手村中的CMDB结合起来,将巡检集成到Flask后端应用中,并且对其中命令筛选和设备筛选进行重构。

2022-12-10 10:00:00 254

原创 自动化运维初级村-Netmiko-巡检-3

这一章节给大家演示如何逐步完善SSH执行器的代码,其中涉及到面向对象的特性、Python中的函数注解、异常处理和日志记录等诸多知识点,希望大家可以反复观看视频进行深入理解。

2022-12-09 21:35:15 369

原创 自动化运维初级村-Netmiko-巡检-2

这一章节会着重讲解获取命令和设备的功能,并逐步完善SSH执行器。一方面由于部分朋友第一次接触较为复杂的模块设计,其次这几个章节中还包含一些Python中较高级的用法,为了让大家便于理解,就先以文件为存储介质,实现命令筛选和设备筛选,后续的话会扩展到与Flask结合,并使用ORM来操作MySQL实现这些功能。

2022-12-09 21:33:04 668

原创 自动化运维初级村-Netmiko-巡检-1

这一章节主要给大家讲解了如何设计一个巡检模块,并对其中的基本组成做了初步的介绍,尤其是针对初始化SSH执行器做了较为深入的讲解,下一章节我们继续巡检模块的讲解,带领大家实现设备和命令的获取。

2022-12-09 21:30:47 708

原创 自动化运维初级村-Netmiko-入门

这一章节主要讲解了如何使用Netmiko进行设备连接,并执行show命令,但我想强调的是,这一章节的几行代码是次要的,最重要的是对于Netmiko收发数据机制的理解,只有理解了这部分逻辑,才能够对各种异常情况得心应手。

2022-11-27 22:47:19 1029 1

原创 自动化运维初级村-Paramiko vs Netmiko

对于大部分的公司,服务器运维或者网络设备运维都仍然依靠远程SSH这一方法,所以我们使用Python作为自动化运维的编程语言的话,就非常需要一个第三方包来实现这一功能,而Paramiko和Netmiko可以说是扛把子的角色。相信看这个教程的朋友肯定都听过这两个工具包,但可能并不是所有的人都了解这两个包之间的关系。除此之外,网上五花八门的对于用哪个更好的争论也难以分辨。那么这个章节就先给大家介绍一下这两个包的来龙去脉,以及我个人在工作中对两个包都深度使用过之后的体验。

2022-11-27 22:39:23 623

原创 【自动化运维新手村】Flask部署上线

在自动化运维新手村中,我们已经依次讲解了Python的基础知识,函数与面向对象设计,使用了Flask框架作为Web应用的后端,与此同时还学习了数据库的相关知识,最终完成了一个以Flask为后端的资产管理服务。到目前为止,如果大家可以充分理解并灵活应用所讲的知识点,就已经可以按照自己的实际需求,做出一些基本的运维工具,但如果需要对外提供运维能力,还需要最后一步,那就是将Flask后端部署上线。

2022-03-27 16:50:49 2127 2

原创 【自动化运维新手村】Flask-ORM关联查询

到目前为止,Flask集成ORM扩展到基本操作,已经算是接近尾声了,上一章节已经将单表数据的增删改查,做了十分详细的讲解,并且从Flask应用的日志中可以看出每个ORM操作对应的数据库SQL语句,能够更为清晰的看到程序模型到数据库之间的映射关系,让大家可以对MySQL有一个基本的了解。但几乎所有的后端应用都不可能只存在单独的一张数据表,大多数情况下都是存在多张数据表,并且这些数据表之间都存在关联,可能是一对一,或者一对多,等等。那么今天这一章节我们就着重讲解一下如何使用Flask-SQLAlchemy进

2022-03-27 16:49:10 2386

原创 【自动化运维新手村】Flask-ORM框架-CRUD

上一章节,已经是正式在我们的后端应用中引入了MySQL数据库,并使用了Flask-SQLAlchemy作为ORM框架,来更方便的对数据库进行读写,增删改查是数据库的基本操作,今天这一章节就在对原先的后端做兼容MySQL改造的同时,也对“删、改、查”做一个详细的讲解。

2022-03-13 23:01:09 3138 2

原创 【自动化运维新手村】Flask-ORM

在上一章节【删库跑路第一步】中,我们已经了解了基本的数据库的概念,以及常用的数据表操作,并且我希望大家意识到,如果在后端应用不必须依赖数据库时,最好不要引入;但如果引入,那么就最好在使用之前了解一些数据库的基础知识,比如:从手动写SQL语句建数据表开始。在建好表后,今天这一章节,就开始讲解如何在后端应用中集成对数据库操作的能力。

2022-03-06 20:44:02 823

原创 【自动化运维新手村】删库跑路第一步

一键式的操作存在的意义,一是可以让已经完全熟悉原理的人节省重复的步骤,提高效率;二是可以让完全不懂的人不必在意底层实现进行无脑操作。但对于还处在正在学习自动化运维阶段的朋友来说,一定要有一个想法就是坚决不做第二种人。我一直提倡的理念最小上手范围,是指学习并运用有限但必要的知识来解决面对的场景,并不提倡在知识匮乏的情况下,通过一些奇技淫巧来一步登天。

2022-03-06 20:41:39 827

原创 【自动化运维新手村】Flask-权限校验

上一章节,我们主要对Web应用的用户认证做了详细的讲解,包括使用Flask实现用户注册,登录,并通过Session机制实现用户保持登录。那么在了解了用户认证之后,这一章节我们就着重介绍一下权限校验的原理以及实现方式。

2022-02-20 19:22:54 2081

原创 【自动化运维新手村】Flask-2认证

在Flask专题的上一章节中,主要对Web应用的路由,异常处理和接口返回做了更进一步的讲解,虽然代码更健壮,但离在生产环境中使用还差了最关键的一步,那就是认证。认证在任何存在交互的场景中都是十分重要的环节。

2022-02-13 23:28:36 879

原创 【自动化运维番外篇】Python装饰器-进阶

通过上一章节闭包函数和简单装饰器的讲解,大家应该能够理解Python中的装饰器的运行原理是怎样的了,这一节就需要讲解一些进阶的知识,并将功能进行泛化,使其更具有通用性和严谨性。

2022-02-02 10:56:44 1388

原创 【自动化运维番外篇】Python装饰器

Python中同样也有很多语法糖,比如:**列表推导式,with上下文管理器,装饰器**等。其中装饰器是一个十分重要的特性,并且在之前面向对象章节中类的讲解,以及Flask框架的讲解中,也都或多或少使用过装饰器。今天这一章节,就来着重给大家讲解一个Python中的装饰器。

2022-02-02 10:54:05 1374

原创 【自动化运维新手村】番外-迭代器生成器

在之前的文章中我们提到过很多次的**可迭代对象**,并且很多面试中对于Python几乎必问的一个问题是:“请解释一下迭代器和生成器?”在Python中对象是否可迭代是一个十分重要的特性,今天我们就一次性的给大家讲解清楚究竟什么是**可迭代**,如何判断一个对象是否的可迭代的,什么又是**迭代器**,以及什么是**生成器**?

2022-01-22 15:16:24 710

原创 【自动化运维新手村】初见Flask

当然,讲解的风格仍然是延续我们一直以来秉承的思想,那就是**从场景出发,先学习迫切需要用到的那部分知识,用不到的先不学**,最近还新造了一个词叫**最小化上手范围(Minimize Range)**,就是指想要完成一个需求所需要的最小化的知识范围。

2022-01-16 14:08:03 573

原创 【自动化运维新手村】Web框架序篇

首先我们需要先想清楚,为什么一定要学Web框架,有的朋友会觉得运维中最常用的应该是脚本,我只要脚本写的溜,能提高工作效率就好了。但如果有一天你的同事也遇到了相同的场景,那你的脚本要直接拷贝给他吗?如果有一天你通过脚本解决的是一个需要跨部门合作的痛点,那你是不是也可以把执行脚本的权限交给对方呢?答案当然是否定的,自动化运维最大的意义是通过自动化来将从工作效率实现从量变到质变的提升,那如何提升呢,我觉得Web应用就是一个很好的方式。

2022-01-13 23:07:48 414

原创 【自动化运维新手村】番外-IDE调试

上一篇番外中我们讲解了调试对于编程的重要性,并且介绍了Python中的pdb工具包,可以帮我们在没有IDE的环境下进行代码调试。但pdb终归是基于命令行交互式的,对于刚接触编程的朋友来说并不友好,并且在日常开发中,如果代码架构略微复杂,或者是引用的第三方库,不太了解具体的实现细节,那么pdb就不是最合适的调试方法了。那么今天我们就讲解一下最容易上手且很直观的IDE调试方法

2022-01-10 21:39:08 751

原创 【自动化运维新手村】番外篇-调试

这是自动化运维新手村里最重要的一篇番外,没有之一。调试应该是所有编程语言中都需要用到的一种技巧,不管对于编程新手还是资深码农,调试都会是不可或缺的技能。刚接触编程的朋友经常会的困惑就是,已经了解某段代码的功能逻辑,但却对于逻辑具体的实现却充满疑惑,其实这是十分正常的现象。

2022-01-02 23:18:45 722

原创 【自动化运维新手村】Python基础-5

经过我们一起不懈的努力,终于一行一行的读完了CMDBv1.0.py的源代码,理解了对资产信息增删改查的详细逻辑,并且在阅读源码的过程中逐步培养起良好的编程规范和编程思维,这对于大家以会起到至关重要的作用。那么我们到此还没有结束,下一节我们会将CMDBv1.0利用面向对象的思想再次重构为CMDBv1.5,到时候将会是从函数式编程到面向对象编程的一个大的飞跃,敬请期待。

2021-12-29 23:56:15 489

原创 【自动化运维番外篇】数据结构-哈希表与字典

这篇我们就来着重讲解一下数据结构中的哈希表与Python中的字典类型,并且告诉大家为什么字典是无序的,顺带破除一下网上大部分博客对于这一知识点的误解。

2021-12-16 00:51:21 2517

原创 【自动化运维新手村】Python基础-4

虽然很多读者朋友是刚接触编程,但我们仍然从编程思维的养成和源码的阅读上,向大家普及一些更深入的东西,比如重构的原则,和多层嵌套的优雅处理等,所以我的本意是能够将这些知识在刚开始学习的时候就耳濡目染的让大家去了解,而不是说新手就应该死记硬背一些基础的方法和规范,这对于学习来说反而会适得其反,所以希望大家能在阅读文章的同时仔细去感受体会

2021-12-14 23:15:47 983

原创 【自动化运维新手村】番外篇-Python参数那些事儿

这是自动化运维新手村中除了数据结构番外篇之外的另一个番外,这个番外主要给大家详细讲解一下Python中的一些特殊技巧,这些技巧在平时写代码的过程中会极大的帮助我们快速的解决问题,所以你想成为一个真正的Pythoner,想让自己的代码更Pythonic,一定要仔细阅读这个番外!

2021-12-10 23:14:06 1072

原创 【自动化运维新手村】Python基础-3

根据我上面五个步骤的讲解,大家可以再次发现,在编程的过程中,前一到四步可以说是最终代码成型的地基,并且上面的四个步骤在进行的过程中并不需要我们真正掌握哪一门具体的编程语言,而是需要我们充分利用编程的思想,将要解决的问题逐步拆解;第五步才是真正需要利用代码实现,而且我们选择的Python是较为容易上手的语言,这也是对刚接触编程的朋友来说比较友好的,最后希望大家能够在跟随我一步一步学习的过程中培养起良好的编程思想。

2021-12-08 00:11:46 127

原创 【自动化运维新手村】Python基础-2

Python作为最易上手的解释型语言,其社区生态和包含的各种第三方库数不胜数,而且任何一门语言其内置的规范和方法对于初学者来说都无法穷尽,任何在没有使用场景的情况下进行填鸭式的灌输内容,都是”耍流氓“

2021-12-07 00:18:50 150

原创 【自动化运维新手村】初见Python

Python作为我们该系列构建自动化运维体系的主要编程语言,首要任务就是先掌握Python的基本数据结构,但对于还没有上手Python的读者来说,如何能避免网络上大片枯燥的基本数据结构的介绍快速上手Python呢?

2021-12-04 01:14:03 1346

原创 【Python自动化运维之路】路径盘点

其实大家更多的关心的都是,看完作者的文章能学到什么,可以做什么东西出来,或者说目前正遇到一个实际的需求,需要点一下相关的技能树,那么我这里就整体介绍一下大家能从我这里学到什么。路径的选择首先是对于正在从事运维工作,但工作中遇到了一些自动化的需求的读者朋友,那么这里作者并不提倡大家去构建整个的自动化运维体系,一个是没有必要,另一个是这也可能会消耗相当大的精力,所以我们就暂时只点与自己实际工作相关的技能树即可。但是有一部分读者朋友想寻求职业发展的突破,计划从传统运维转型为自动化运维,或者一开始.

2021-11-29 22:54:56 1221

原创 【Python玩转自动化运维】Python-基础1

我们只需要一步一步将这过程中阻碍我们前进的知识掌握即可,具体的细节可以在后续的深入过程中去慢慢了解。这也是为什么很多学生不愿意听老师讲课的原因,因为他并不知道我这节课学的知识点有什么用,只是机械的接受老师的灌输,所以好的学习方法一定是自顶向下的,希望读者朋友们能体会到其真正的内涵。

2021-11-29 22:45:01 1163 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除