Python网络运维自动化

Python网络运维自动化

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

零基础入门NetDevOps,让网络运维更简单、更高效。

内容简介

本书从网络工程师的视角出发,详细讲解了Python在网络运维自动化中的应用,其中涉及Python网络运维自动化的相关技术、工具以及实践。

本书共10章,先对Python网络运维自动化进行了全面的概述,然后讲解了网络工程师所需的Python基础、数据格式与数据建模语言的相关知识。接着,本书介绍了网络配置的结构化数据提取、网络配置的模块化管理、Netmiko详解与实践、模型驱动的新网络管理方式及实践、网络管理工具集、网络自动化框架Nornir和开源网管工具NetBox。

本书依托于作者10余年的网络运维经验,内容循序渐进,从脚本编写、框架应用到系统平台整合,逐步提升,结合丰富的代码实例,全面介绍了Python网络运维自动化的工具体系以及其在不同场景下的应用实现。

作者简介

作者王旭涛(九净),某国有大型银行数据中心网络运维开发工程师,运营自媒体账号“NetDevOps加油站”与同名知识专栏。拥有十余年的网络运维自动化和智能化平台规划、设计、研发工作经验,对网络运维自动化、智能化有较全面的理解。

作为国内NetDevOps的早期践行者、布道者,他通过撰写文章、制作视频教程、进行技术直播分享、在技术峰会上发表演讲以及公开源代码等多种形式,全面而系统地传播NetDevOps文化、技术、工具和解决方案,得到受众广泛认可。

章节目录

版权信息

内容提要

推荐语

洗尽铅华 回归初心

前言

资源与支持

第1章 Python网络运维自动化概述

1.1 Python网络运维自动化应对新挑战

1.1.1 云计算时代网络行业的变迁

1.1.2 云计算时代网络运维的挑战

1.1.3 Python网络运维自动化的兴起

1.2 Python网络运维自动化的工具体系

1.2.1 数据工具集

1.2.2 网络管理工具集

1.2.3 开源框架与系统

1.3 Python网络运维自动化实践之路

1.3.1 循序渐进地学习与实践

1.3.2 有意识地培养数据意识

1.3.3 以场景为导向的实践落地

1.4 小结

第2章 网络工程师的Python基础

2.1 开发环境搭建

2.1.1 Python版本选择与安装

2.1.2 PyCharm的安装与设置

2.2 变量、缩进与注释

2.2.1 变量的定义与赋值

2.2.2 Python的缩进控制

2.2.3 Python的两种注释方法

2.3 基础数据类型

2.3.1 数字

2.3.2 字符串

2.3.3 列表

2.3.4 字典

2.3.5 布尔

2.3.6 元组

2.3.7 集合

2.3.8 数据类型的转换

2.4 判断与循环

2.4.1 if判断

2.4.2 for循环

2.4.3 while循环

2.5 函数及其调用

2.5.1 函数的定义

2.5.2 函数的调用

2.6 Python进阶知识

2.6.1 类与面向对象

2.6.2 文本文件的读写操作

2.6.3 模块与包

2.6.4 pip及第三方包的安装

2.7 小结

第3章 数据格式与数据建模语言

3.1 数据格式简介

3.2 JSON规范及其使用

3.2.1 JSON的规范

3.2.2 json模块与JSON数据转换

3.3 YAML规范及其使用

3.3.1 对象

3.3.2 数组

3.3.3 纯量

3.3.4 多文档的YAML数据

3.3.5 PyYAML包与YAML数据转换

3.4 XML规范及其使用

3.4.1 元素、标签与属性

3.4.2 列表数据的定义

3.4.3 命名空间

3.4.4 xmltodict包与XML数据转换

3.5 表格数据与pandas

3.5.1 pandas简介与安装

3.5.2 pandas从表格读取数据

3.5.3 pandas写入数据到表格

3.6 数据建模语言YANG

3.6.1 YANG模块的结构

3.6.2 YANG的基础语法规范

3.6.3 pyang包图形化解析YANG模型

3.7 小结

第4章 网络配置的结构化数据提取

4.1 正则表达式的基础知识

4.1.1 了解正则表达式

4.1.2 正则表达式的常用元字符

4.2 re模块及其使用

4.2.1 search函数详解

4.2.2 findall函数详解

4.2.3 实战1:search函数提取单条数据

4.2.4 实战2:findall函数提取条形表数据

4.2.5 实战3:findall与search函数结合提取块状表数据

4.3 配置解析引擎TextFSM

4.3.1 TextFSM简介

4.3.2 值语法详解

4.3.3 状态语法详解

4.3.4 规则和动作语法详解

4.4 TextFSM模板实战详解

4.4.1 单条数据的提取

4.4.2 条形表数据的提取

4.4.3 在尾部进行分割的块状表数据提取

4.4.4 在头部进行分割的块状表数据提取

4.4.5 列表类型的数据提取

4.4.6 缺失字段的向后填充

4.4.7 TextFSM模板库ntc-templates

4.5 小结

第5章 网络配置的模板化管理

5.1 模板引擎Jinja2简介

5.1.1 模板引擎的基本原理

5.1.2 Jinja2简介

5.2 Jinja2的基础语法及其使用

5.2.1 Jinja2的基础语法

5.2.2 文件系统管理配置模板

5.2.3 过滤器的定义与使用

5.2.4 原子模板的嵌套组合

5.3 结构化数据驱动的Jinja2实战详解

5.3.1 利用表格承载数据并批量生成网络配置文件

5.3.2 利用YAML文件承载数据并批量生成网络配置文件

5.4 小结

第6章 Netmiko详解与实战

6.1 Netmiko快速上手

6.1.1 Netmiko简介及其使用

6.1.2 Netmiko支持的网络设备及device_type值的选择

6.2 Netmiko的核心API

6.2.1 ConnectHandler函数详解

6.2.2 send_command详解

6.2.3 send_command_timing详解

6.2.4 send_config_set和send_config_from_file详解

6.3 基于Netmiko的网络运维自动化实战

6.3.1 网络设备的批量配置备份

6.3.2 网络设备的批量信息巡检

6.3.3 网络设备的批量配置推送

6.4 小结

第7章 模型驱动的新网络管理方式及实践

7.1 新一代网络管理协议的诞生

7.1.1 CLI与SNMP的局限性

7.1.2 NETCONF、RESTCONF协议与YANG建模语言的诞生

7.2 NETCONF协议入门

7.2.1 NETCONF协议的框架

7.2.2 NETCONF协议的交互流程

7.2.3 NETCONF协议的配置数据及常见配置操作

7.3 基于ncclient的NETCONF配置操作

7.3.1 ncclient简介

7.3.2 get-config操作

7.3.3 edit-config操作

7.3.4 get操作

7.3.5 解锁更多的ncclient操作方法

7.4 RESTCONF协议入门

7.4.1 了解REST

7.4.2 Postman简介及其安装

7.4.3 RESTCONF协议的认证与资源导览

7.4.4 基于RESTCONF实现模型数据的查询和更新

7.5 小结

第8章 网络管理工具集

8.1 IP地址管理工具包netaddr

8.1.1 netaddr简介及基本使用

8.1.2 网络展开及包含关系计算

8.1.3 网络的划分与合并

8.2 HTTP请求工具包Requests

8.2.1 Requests简介

8.2.2 发送GET请求

8.2.3 发送POST请求

8.2.4 发送PUT、PATCH、DELETE请求

8.2.5 HTTP请求的认证及自定义认证类

8.3 网络抽象工具包NAPALM

8.3.1 NAPALM简介

8.3.2 网络设备结构化配置数据的获取

8.4 小结

第9章 网络自动化框架Nornir

9.1 Nornir简介

9.1.1 Nornir介绍及安装

9.1.2 快速上手Nornir

9.2 Nornir runbook的编写

9.2.1 网络设备清单

9.2.2 配置文件

9.2.3 Nornir对象的创建

9.2.4 使用过滤器筛选网络设备

9.2.5 task函数的定义及其调用

9.2.6 runbook的执行结果

9.3 Nornir的常用插件包

9.3.1 nornir_netmiko简介及其使用

9.3.2 nornir_table_inventory简介及其使用

9.3.3 nornir_utils简介及其使用

9.4 基于Nornir的网络运维自动化实战

9.4.1 网络设备的批量配置备份

9.4.2 网络设备的批量信息巡检

9.4.3 网络设备的批量配置推送

9.5 小结

第10章 开源网管工具NetBox

10.1 NetBox简介及安装

10.1.1 NetBox的特点

10.1.2 基于Docker安装NetBox

10.2 NetBox的核心功能

10.2.1 数据中心基础设施管理

10.2.2 IP地址管理

10.3 NetBox的功能扩展

10.3.1 自定义字段custom_fields

10.3.2 nornir_netbox插件对接NetBox系统

10.3.3 开放的RESTful API体系

10.4 小结

Python网络运维自动化是2025年由人民邮电出版社出版,作者王旭涛。

得书感谢您对《Python网络运维自动化》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Selenium自动化测试完全指南:基于Python 电子书
本书共有19章。第1~10章介绍SeleniumIDE、SeleniumWebDriver、SeleniumGrid、Appium等工具的应用。第11~16章介绍自动化测试实战的组织及模式优化,包括如何通过Selenium进行功能测试和非功能测试,如何完善功能测试驱动,如何设置功能测试的逻辑组织结构,如何优化功能测试的物理组织结构,如何增强功能测试的运行反馈机制。第17~19章讲述自动化实战的落实
Python基础与办公自动化应用 电子书
本书详细介绍了Python的基础知识,以及Python在办公自动化、大数据技术、人工智能技术等方面的应用。
Linux系统运维指南:从入门到企业实战 电子书
《Linux系统运维指南:从入门到企业实战》用简洁的语言阐述了企业系统运维的核心知识; 《Linux系统运维指南:从入门到企业实战》囊括学习Linux操作系统必备的理论; 《Linux系统运维指南:从入门到企业实战》LAMP/LNMP架构的部署、配置与优化的应用详解; 《Linux系统运维指南:从入门到企业实战》展示企业运维环境下的各开源软件服务及配置过程; 《Linux系统运维指南:从入门到企业实战》结合实际场景对数据库、服务器等架构进行演练。
开源安全运维平台OSSIM疑难解析:提高篇 电子书
OSSIM(OpenSourceSecurityInformationManagement,开源安全信息管理)系统是一个非常流行和完整的开源安全架构体系,通过将开源产品进行集成,从而提供一种能实现安全监控功能的基础平台。《开源安全运维平台OSSIM疑难解析:提高篇》精选了作者在OSSIM日常运维操作中遇到的许多疑难杂症,并给出了相应的解决方案。本书共分为12章,内容包括入侵检测Snort与Suri
MySQL数据库运维与管理(微课版) 电子书
随着企业数字化转型不断深化,企业对数据库工程师的需求越来越大。本书结合实际工作场景,将企业数据库运维的相关工作分为10个项目,内容包括了解数据库运维工作,安装和配置MySQL,管理MySQL权限与安全,分析MySQL日志,备份与恢复MySQL,监控、测试并优化MySQL性能,MySQL复制,搭建及运维MySQLCluster,结合Redis的MySQL运维,数据库自动化运维。本书配套教学PPT、题