培训对象:网络工程师、运维开发工程师、DevOps实践者、希望将编程能力与网络运维相结合,实现网络自动化管理的技术人员。
培训目标:
掌握Python网络编程基础,能够编写脚本实现网络设备的批量配置与数据采集。
熟练使用Ansible进行网络自动化配置管理,实现配置的标准化与可重复性。
了解NETCONF/YANG等可编程网络技术,掌握Zabbix/Prometheus等监控工具的使用,能够构建脚本化巡检、备份、部署的自动化运维体系。
培训内容介绍:
Python编程基础:回顾Python基础语法(变量、数据类型、控制流、函数、模块),掌握文件操作与异常处理,为网络自动化脚本编写打下基础。
网络设备连接(Netmiko):学习Netmiko库的使用,实现通过SSH连接网络设备(华为、思科、华三),执行命令并获取输出,处理连接异常与认证问题。
配置备份脚本:编写Python脚本批量登录网络设备,执行display running-config/show running-config,将配置文件保存到本地或Git仓库,实现配置的版本管理。
批量配置变更:使用Netmiko实现批量配置下发,编写模板化配置脚本,动态生成设备配置,实现VLAN创建、ACL更新、接口配置的自动化。
Ansible基础:安装配置Ansible,学习Ansible的Inventory、Playbook、Module等核心概念,编写第一个网络自动化Playbook。
Ansible网络模块:掌握Ansible的网络模块(ios_config、junos_config、ce_config),编写Playbook实现设备的批量配置、状态采集与合规检查。
Jinja2模板:使用Jinja2模板引擎,将配置参数与模板分离,根据设备角色、型号动态生成配置文件,实现配置的标准化与灵活性。
NETCONF/YANG简介:了解NETCONF协议的工作原理与YANG数据建模语言,学习使用Python的ncclient库通过NETCONF配置网络设备,实现更标准化的配置管理。
Zabbix网络监控:部署Zabbix监控系统,配置网络设备的SNMP监控,自动发现网络设备,监控接口流量、CPU、内存等关键指标,设置告警阈值。
Prometheus监控:了解Prometheus的拉取式监控模型,部署node_exporter或snmp_exporter采集网络设备数据,使用Grafana构建可视化仪表盘。
脚本化巡检:编写Python脚本定期登录网络设备,收集设备状态信息(CPU、内存、温度、日志),生成巡检报告并发送邮件,替代人工巡检。
综合实战:开发一个完整的网络自动化运维系统,包含设备自动发现、配置备份、合规检查、状态监控、告警通知的闭环流程。