Python网络运维自动化

运维与云计算 900 浏览 175 下载

Python网络运维自动化
246页 免费
作者: 王旭涛
出版社: 人民邮电出版社
页数: 246页
ISBN: 9787115652607
下载信息

下载类型: 直接下载

销售价格: ¥0.00


书籍详情
用纸 胶版纸
版次 1
出版时间 2024-12-31
字数 357
页数 246
包装 平装
开本 16开
ISBN 9787115652607
正文语种 中文
出版社 人民邮电出版社
品牌 异步图书
商品编号 14933278
包装清单 暂无
内容简介
产品特色 编辑推荐 1.从理论到实战:从基础理论入手,通过实战案例教学,手把手教读者掌握Python网络运维自动化,解决运维工作中的日常问题,提升运维效率。 2.多个真实案例:各个章节提供多个真实运维场景下的Python脚本,帮助读者深入理解如何运用Python解决网络运维中的难题。 3.配套资源丰富:提供详尽的配套代码、PPT、配套视频、思维导图,读者还可以加入本书读者群,在群中与作者进行交流互动,寻求职业规划建议。 内容简介 本书从网络工程师的视角出发,详细讲解了Python在网络运维自动化中的应用,其中涉及Python网络运维自动化的相关技术、工具以及实践。 本书共10章,先对Python网络运维自动化进行了全面的概述,然后讲解了网络工程师所需的Python基础、数据格式与数据建模语言的相关知识。接着,本书介绍了网络配置的结构化数据提取、网络配置的模块化管理、Netmiko详解与实践、模型驱动的新网络管理方式及实践、网络管理工具集、网络自动化框架Nornir和开源网管工具NetBox。本书依托于作者10余年的网络运维经验,内容循序渐进,从脚本编写、框架应用到系统平台整合,逐步提升,结合丰富的代码实例,全面介绍了Python网络运维自动化的工具体系以及其在不同场景下的应用实现。 本书适合网络工程师阅读,也适合对网络运维自动化感兴趣的开发工程师学习,还适合作为高等院校网络工程等相...
详细介绍
产品特色

编辑推荐

1.从理论到实战:从基础理论入手,通过实战案例教学,手把手教读者掌握Python网络运维自动化,解决运维工作中的日常问题,提升运维效率。
2.多个真实案例:各个章节提供多个真实运维场景下的Python脚本,帮助读者深入理解如何运用Python解决网络运维中的难题。
3.配套资源丰富:提供详尽的配套代码、PPT、配套视频、思维导图,读者还可以加入本书读者群,在群中与作者进行交流互动,寻求职业规划建议。

内容简介

本书从网络工程师的视角出发,详细讲解了Python在网络运维自动化中的应用,其中涉及Python网络运维自动化的相关技术、工具以及实践。
本书共10章,先对Python网络运维自动化进行了全面的概述,然后讲解了网络工程师所需的Python基础、数据格式与数据建模语言的相关知识。接着,本书介绍了网络配置的结构化数据提取、网络配置的模块化管理、Netmiko详解与实践、模型驱动的新网络管理方式及实践、网络管理工具集、网络自动化框架Nornir和开源网管工具NetBox。本书依托于作者10余年的网络运维经验,内容循序渐进,从脚本编写、框架应用到系统平台整合,逐步提升,结合丰富的代码实例,全面介绍了Python网络运维自动化的工具体系以及其在不同场景下的应用实现。
本书适合网络工程师阅读,也适合对网络运维自动化感兴趣的开发工程师学习,还适合作为高等院校网络工程等相关专业的教材。

作者简介

王旭涛(九净),某国有大型银行数据中心网络运维开发工程师,运营自媒体账号“NetDevOps加油站”与同名知识专栏。拥有十余年的网络运维自动化和智能化平台规划、设计、研发工作经验,对网络运维自动化、智能化有较全面的理解。作为国内NetDevOps的早期践行者、布道者,他通过撰写文章、制作视频教程、进行技术直播分享、在技术峰会上发表演讲以及公开源代码等多种形式,全面而系统地传播NetDevOps文化、技术、工具和解决方案,得到受众广泛认可。

精彩书评

多年来,我一直关注着网络运维自动化领域的发展。虽然本领域的理论知识不断更新,从业界主流的网络管理标准体系FCAPS,到这些年伴随DevOps而兴起的NetDevOps,但一直没发现有关网络运维自动化实战的图书,直到我看到了本书。我将本书推荐给云计算或网络运维自动化领域的从业者,其缘由有3点:一,完整化。本书涵盖从入门到精通的全部知识内容,即使没有任何开发经验的网络工程师,也可以学到Python基础、数据格式和数据建模语言等完整的专业知识。二,实战化。本书内容贴合实际的运维场景,即学即用。第三,体系化。本书知识体系包括网络设备的连接和交互、网络自动化框架、模板化的配置管理和模型驱动的网络管理实践,可以帮助读者有效构建网络自动化运维平台。
贺勇 嘉为科技产品总监

在数字化转型的背景下,互联网的发展方向也逐渐从个人消费领域转向产业融合。同时网络规模持续扩大,网络设备产生的海量运营数据使传统的网络运维工作面临巨大的挑战。本书所倡导的NetDevOps理念可以将自动化运维融入网络领域,并把研发思想植入传统网络运维过程中。本书详细介绍了NetDevOps的知识体系、管理工具以及编程实战等内容,是一本非常难得的网络运维自动化专业书。
方辉 SDNLAB联合创始人

尽管目前市面上已经涌现出不少面向网络工程师的Python图书,然而旭涛的《Python网络运维自动化》这本书卓尔不群。本书不仅涵盖了适合初学者的Python基础知识,更难得的是,对于已经具备一定Python经验的网络工程师,本书也提供了更深入、更高级、更规范的应用工具。强烈推荐对网络运维感兴趣的读者阅读本书。
姜汁啤酒 前亚马逊AWS(澳大利亚)资深网络工程师

在网络运维自动化领域,国内的先驱们一直在尝试制定统一的学习路径,以造福众多从业人员,王旭涛老师无疑是其中的领军人物。本书凝聚了作者的诸多心血,涵盖了从Python语言基础知识到网络管理专项工具,再到网络运维实战场景的全部内容,兼具知识的广度和深度是一本不可多得的专业书。
戴维 ServiceNow资深网络工程师

NetDevOps是近几年在网络运维领域非常流行的概念,本书能给众多网络工程师提供很好的实践指引。本书框架清晰,内容层层递进,让读者能够学习从Python入门到搭建自己的运维工具,再到运维实战等全方位的知识。对于想要接触Python并用其来提升网络运维效率的朋友,这本书会是一个非常好的选择。
岳飞宇 字节跳动网络平台高级研发工程师

余为网工二十载,初涉网络自动化运维领域之时,虽广购Python图书,然因理论与实践之隔阂,每感困惑,屡欲中止。幸得遇九净先生,以博客分享真实之案例,辅以深入浅出之阐释,乃为余开辟知识之新境界。承先生悉心指导,余渐能贯通理论知识与实务操作,今已写出实用之工具若干,涵盖巡检、配置、采集、监控、分析等,工作效率因而大进。故而强烈推荐此书。
唐志强 51CTO网络讲师

目录
第 1章 Python网络运维自动化概述 1
1.1 Python网络运维自动化应对新挑战 1
1.1.1 云计算时代网络行业的变迁 1
1.1.2 云计算时代网络运维的挑战 2
1.1.3 Python网络运维自动化的兴起 2
1.2 Python网络运维自动化的工具体系 3
1.2.1 数据工具集 3
1.2.2 网络管理工具集 4
1.2.3 开源框架与系统 4
1.3 Python网络运维自动化实践之路 5
1.3.1 循序渐进地学习与实践 5
1.3.2 有意识地培养数据意识 6
1.3.3 以场景为导向的实践落地 6
1.4 小结 7
第 2章 网络工程师的Python基础 8
2.1 开发环境搭建 8
2.1.1 Python版本选择与安装 8
2.1.2 PyCharm的安装与设置 11
2.2 变量、缩进与注释 16
2.2.1 变量的定义与赋值 16
2.2.2 Python的缩进控制 17
2.2.3 Python的两种注释方法 17
2.3 基础数据类型 18
2.3.1 数字 18
2.3.2 字符串 19
2.3.3 列表 24
2.3.4 字典 26
2.3.5 布尔 28
2.3.6 元组 30
2.3.7 集合 30
2.3.8 数据类型的转换 31
2.4 判断与循环 32
2.4.1 if判断 32
2.4.2 for循环 33
2.4.3 while循环 35
2.5 函数及其调用 35
2.5.1 函数的定义 36
2.5.2 函数的调用 37
2.6 Python进阶知识 38
2.6.1 类与面向对象 38
2.6.2 文本文件的读写操作 40
2.6.3 模块与包 42
2.6.4 pip及第三方包的安装 43
2.7 小结 44
第3章 数据格式与数据建模语言 45
3.1 数据格式简介 45
3.2 JSON规范及其使用 45
3.2.1 JSON的规范 46
3.2.2 json模块与JSON数据转换 48
3.3 YAML规范及其使用 51
3.3.1 对象 51
3.3.2 数组 52
3.3.3 纯量 53
3.3.4 多文档的YAML数据 55
3.3.5 PyYAML包与YAML数据转换 56
3.4 XML规范及其使用 57
3.4.1 元素、标签与属性 58
3.4.2 列表数据的定义 59
3.4.3 命名空间 60
3.4.4 xmltodict包与XML数据转换 61

3.5 表格数据与pandas 62
3.5.1 pandas简介与安装 63
3.5.2 pandas从表格读取数据 63
3.5.3 pandas写入数据到表格 64
3.6 数据建模语言YANG 66
3.6.1 YANG模块的结构 66
3.6.2 YANG的基础语法规范 67
3.6.3 pyang包图形化解析YANG模型 70
3.7 小结 72
第4章 网络配置的结构化数据提取 73
4.1 正则表达式的基础知识 73
4.1.1 了解正则表达式 73
4.1.2 正则表达式的常用元字符 74
4.2 re模块及其使用 75
4.2.1 search函数详解 75
4.2.2 findall函数详解 77
4.2.3 实战1:search函数提取单条数据 78
4.2.4 实战2:findall函数提取条形表数据 80
4.2.5 实战3:findall与search函数结合提取块状表数据 82
4.3 配置解析引擎TextFSM 86
4.3.1 TextFSM简介 86
4.3.2 值语法详解 87
4.3.3 状态语法详解 88
4.3.4 规则和动作语法详解 89
4.4 TextFSM模板实战详解 91
4.4.1 单条数据的提取 91
4.4.2 条形表数据的提取 92
4.4.3 在尾部进行分割的块状表数据提取 94
4.4.4 在头部进行分割的块状表数据提取 95
4.4.5 列表类型的数据提取 97
4.4.6 缺失字段的向后填充 98
4.4.7 TextFSM模板库ntc-templates 100
4.5 小结 102
第5章 网络配置的模板化管理 103
5.1 模板引擎Jinja2简介 103
5.1.1 模板引擎的基本原理 103
5.1.2 Jinja2简介 104
5.2 Jinja2的基础语法及其使用 105
5.2.1 Jinja2的基础语法 105
5.2.2 文件系统管理配置模板 109
5.2.3 过滤器的定义与使用 110
5.2.4 原子模板的嵌套组合 112
5.3 结构化数据驱动的Jinja2实战详解 115
5.3.1 利用表格承载数据并批量生成网络配置文件 115
5.3.2 利用YAML文件承载数据并批量生成网络配置文件 117
5.4 小结 120
第6章 Netmiko详解与实战 121
6.1 Netmiko快速上手 121
6.1.1 Netmiko简介及其使用 121
6.1.2 Netmiko支持的网络设备及device_type值的选择 123
6.2 Netmiko的核心API 124
6.2.1 ConnectHandler函数详解 125
6.2.2 send_command详解 127
6.2.3 send_command_timing详解 131
6.2.4 send_config_set和send_config_from_file详解 134
6.3 基于Netmiko的网络运维自动化实战 138
6.3.1 网络设备的批量配置备份 138
6.3.2 网络设备的批量信息巡检 143
6.3.3 网络设备的批量配置推送 146
6.4 小结 148
第7章 模型驱动的新网络管理方式及实践 149
7.1 新一代网络管理协议的诞生 149
7.1.1 CLI与SNMP的局限性 149
7.1.2 NETCONF、RESTCONF协议与YANG建模语言的诞生 150
7.2 NETCONF协议入门 153
7.2.1 NETCONF协议的框架 153
7.2.2 NETCONF协议的交互流程 153
7.2.3 NETCONF协议的配置数据及常见配置操作 157
7.3 基于ncclient的NETCONF配置操作 158
7.3.1 ncclient简介 159
7.3.2 get-config操作 161
7.3.3 edit-config操作 164
7.3.4 get操作 167
7.3.5 解锁更多的ncclient操作方法 169
7.4 RESTCONF协议入门 171
7.4.1 了解REST 171
7.4.2 Postman简介及其安装 173
7.4.3 RESTCONF协议的认证与资源导览 174
7.4.4 基于RESTCONF实现模型数据的查询和更新 175
7.5 小结 177
第8章 网络管理工具集 178
8.1 IP地址管理工具包netaddr 178
8.1.1 netaddr简介及基本使用 178
8.1.2 网络展开及包含关系计算 181
8.1.3 网络的划分与合并 182
8.2 HTTP请求工具包Requests 184
8.2.1 Requests简介 184
8.2.2 发送GET请求 185
8.2.3 发送POST请求 186
8.2.4 发送PUT、PATCH、DELETE请求 187
8.2.5 HTTP请求的认证及自定义认证类 188
8.3 网络抽象工具包NAPALM 190
8.3.1 NAPALM简介 190
8.3.2 网络设备结构化配置数据的获取 192
8.4 小结 194
第9章 网络自动化框架Nornir 195
9.1 Nornir简介 195
9.1.1 Nornir介绍及安装 195
9.1.2 快速上手Nornir 196
9.2 Nornir runbook的编写 198
9.2.1 网络设备清单 198
9.2.2 配置文件 201
9.2.3 Nornir对象的创建 202
9.2.4 使用过滤器筛选网络设备 203
9.2.5 task函数的定义及其调用 206
9.2.6 runbook的执行结果 210
9.3 Nornir的常用插件包 212
9.3.1 nornir_netmiko简介及其使用 212
9.3.2 nornir_table_inventory简介及其使用 216
9.3.3 nornir_utils简介及其使用 219
9.4 基于Nornir的网络运维自动化实战 220
9.4.1 网络设备的批量配置备份 220
9.4.2 网络设备的批量信息巡检 222
9.4.3 网络设备的批量配置推送 223
9.5 小结 225
第 10章 开源网管工具NetBox 226
10.1 NetBox简介及安装 226
10.1.1 NetBox的特点 226
10.1.2 基于Docker安装NetBox 227
10.2 NetBox的核心功能 229
10.2.1 数据中心基础设施管理 229
10.2.2 IP地址管理 235
10.3 NetBox的功能扩展 239
10.3.1 自定义字段custom_fields 239
10.3.2 nornir_netbox插件对接NetBox系统 240
10.3.3 开放的RESTful API体系 242
10.4 小结 246