![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NetDevOps
文章平均质量分 61
格洛米爱学习
网络通信/网络安全/NetDevOps/云计算 学习者。
整理的笔记中有含有网上或者书本上的内容,如有侵权请联系删除。
展开
-
网络自动化运维(NetDevOps)创作者推荐
NetDevOps创作者推荐原创 2022-12-01 18:15:29 · 1483 阅读 · 1 评论 -
使用Python PySNMP模块获取设备指标
PySNMP模块健康Cisco ASA设备指标原创 2022-11-30 08:33:59 · 3145 阅读 · 0 评论 -
Telegraf-Influxdb-Grafana容器化部署拓展(Https、AD域、告警集成)并监控Cisco设备指标
Telegraf-influxdb-grafana企业级监控方案原创 2022-11-21 17:04:25 · 1597 阅读 · 0 评论 -
Elastic Stack容器化部署拓展(Https、AD域集成)并收集Cisco设备的日志信息
Elastic Stack搭建,并收集Cisco设备日志信息。原创 2022-11-19 22:38:05 · 1964 阅读 · 0 评论 -
Django应用容器封装DockerFile分享
Django应用容器话原创 2022-07-15 16:33:01 · 1065 阅读 · 0 评论 -
《网络工程师的Django之路》视频教学基础
网工django教程转载 2022-06-20 18:29:22 · 487 阅读 · 0 评论 -
《网络工程师的Python之路》教学文章、视频汇总
NetDevOps中文学习资料转载 2022-06-20 18:26:18 · 709 阅读 · 0 评论 -
Harbor容器安装以及相关特性部署与使用(SSL证书+AD域)
Harbor配置与拓展应用原创 2022-06-03 05:34:30 · 1378 阅读 · 3 评论 -
Docker扩容:Centos8虚拟机硬盘扩容+修改Docker默认存储位置
Docker存储扩容原创 2022-05-31 21:00:56 · 2121 阅读 · 3 评论 -
110道Python面试题(真题)
来自程序员资源社区链接:https://zhuanlan.zhihu.com/p/54430650转载 2021-10-15 01:50:27 · 321 阅读 · 0 评论 -
使用python提取华为交换机的接口IP信息保存到excel中(ensp模拟器)
实验环境:如图所示,SW1-SW5上分别已经配置了SSH,使用外部PC可以SSH到其中。在本次实验中,主要使用了如下三个模块:openpyxl,对excel文件进行操作,具体可以参考:https://zhuanlan.zhihu.com/p/317826761gevent,使用协程,同时对五台设备进行操作,可以参考:https://blog.csdn.net/tushanpeipei/article/details/116612802?spm=1001.2014.3001.5501napalm原创 2021-07-03 17:11:28 · 2378 阅读 · 6 评论 -
Cisco-NetDevOps-CI/CD-Experiment Workflow
参考资料:NSO:https://www.bilibili.com/video/BV1rV41187zr?p=1CML:https://www.bilibili.com/video/BV1kf4y187oC?p=1pyATS:https://www.bilibili.com/video/BV1j64y1r7wb?p=1原创 2021-06-24 08:20:54 · 544 阅读 · 0 评论 -
什么是持续集成(CI)/持续部署(CD)?
作者:Linux中国链接:https://zhuanlan.zhihu.com/p/42286143在软件开发中经常会提到 持续集成(Continuous Integration)(CI)和 持续交付(Continuous Delivery)(CD)这几个术语。但它们真正的意思是什么呢?在谈论软件开发时,经常会提到 持续集成(Continuous Integration)(CI)和 持续交付(Continuous Delivery)(CD)这几个术语。但它们真正的意思是什么呢?在本文中,我将解释这些和相转载 2021-06-21 11:24:21 · 1224 阅读 · 0 评论 -
GitLab+Nornor3.0.0完成CI/CD流水线配置(更新版)
CI/CD的意义:CI/CD作为DevOps中的常见的术语,其含义是持续集成(Continuous Integration)、持续交付(Continuous Delivery) 、持续部署(Continuous Deployment) 的新方法。简单来说,当我们修改了相关的代码,可以push到CI/CD的仓库中,例如(GitLab、Jenkins),这些平台能够在push的代码发生变动后,实时执行代码操作,实现自动化配置。CI/CD的思想结合到网络自动化运维中,便可以让我们减少对于设备的接触,并且提原创 2021-06-16 22:27:17 · 1738 阅读 · 1 评论 -
网络运维python之NETCONF--协程gevent+ncclient,2分钟巡检几千台华为CE交换机
作者:科技银狐原文连接:https://zhuanlan.zhihu.com/p/37801246601 场景介绍:本章节介绍大规模数据中心巡检任务跑批策略,之前的章节介绍过NETCONF这类API接口相比SSH登录取返回结果的优势,除了返回结果是标准化XML编码以外,其实NETCONF在速度上也有很大的优势。所以在大规模数据中心(几千、几万台网络设备)进行网络巡检时,推荐使用NETCONF,结合协程gevent异步的特性,进行大并发跑批,几千台设备仅需几分钟就可结束任务。国外主流厂商Cisco和J转载 2021-06-07 12:37:01 · 2220 阅读 · 1 评论 -
通过napalm-huawei-vrp模块对华为交换机信息进行分析(ENSP模拟器)
NAPALM概述:NAPALM作为python的第三方模块,其依赖于Netmiko,但在使用时不需要单独导入Netmiko。NAPALM的主要作用是将show或者display显示的结果转换为有序的结构类型(方便使用python进行处理分析),类似于textfsm和ntc-templates;同时,NAPALM还可以对网络设备进行配置。NAPALM的最大缺点是,目前仅支持国外的主流厂商:思科、Arista、Juniper,对国内的设备的操作系统并不支持。NAPALM具体详解请参照:https://原创 2021-06-04 11:15:14 · 1951 阅读 · 1 评论 -
网络设备流量分析——ElastiFlow容器化部署与应用
视频地址:https://www.bilibili.com/video/BV1HK4y1p7a8代码地址:https://gitee.com/qytang/ElasticFlow作者:现任明教教主原创 2021-05-29 15:15:11 · 5275 阅读 · 8 评论 -
NetDevOps网络设备日志分析与环境搭建-EFK(Elasticsearch+Filebeat+Kibana)
ElasticSearch:Elasticsearch是一个分布式的免费开源搜索和分析引擎数据库,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。Filebeat:(或者使用Logstash)轻量级日志服务器,对日志信息进行分词,并将分词后的结果发送到ElasticSearch上去。Logstash相对于Filebeat功能更加强悍。Kibana:ElasticSearch的图形化界面,搭载了一批经典功能:柱状图、线状图、饼图图,等等。除此之外,还可以自己定义属于可视原创 2021-05-29 13:03:34 · 1013 阅读 · 2 评论 -
NetDevOps常用数据库python实战-influxDB_grafana
influxDB+Grafana网络设备信息原创 2021-05-28 13:52:15 · 753 阅读 · 3 评论 -
NetDevOps常用数据库python实战-MongoDB
概述:MongoDB作为文档型的数据库,相对于关系型的数据库,优势是在于可以存储不太固定的数据。对应SQL型数据库,对于存放的数据,我们必须设置相应的键,并且按照键来填写每一行的数据信息。在面对一些格式不确定的信息时,使用SQL型数据库就较为困难。例如,当我们存储不同网络设备重要信息时,可以按照如下组织的结构进行存储,并且每一个设备的格式可以不同:如果后续有其他信息,方便添加和修改。MongoDB的优势:可以创建文档,而不必首先定义它们的结构;每个文档可以有它自己独特的结构;语法可以随着原创 2021-05-27 13:21:43 · 263 阅读 · 2 评论 -
NetDevOps常用数据库安装与基本操作--SQL数据库
概述:数据库是NetDevOps中不可或缺的一部分,而为了满足具体场景的需求,使用不同类型的数据库来存储信息也是必然之势。对于数据库领域相关的知识,网络工程师并不需要深入的学习,但是常用数据库的基本知识还是必要的。注意:一般代码和数据库最好分开存储在不同的设备上。一、SQL型数据库(psql(postgresql)、mysql):PSQL快速安装请参考:https://blog.csdn.net/tushanpeipei/article/details/115905946?spm=1001.20原创 2021-05-25 15:50:06 · 285 阅读 · 0 评论 -
网工界的TFBOYS——netmiko&textfsm&ntc-templates快速入门
textfsm概述:ntc-templates概述:原创 2021-05-23 18:09:08 · 1880 阅读 · 1 评论 -
网络设备自动化运维工具——Nornir3.0.0入门笔记
Nornir概述:官方网站:https://nornir.readthedocs.io/en/latest/Nornir是Netmiko的高级封装,天生实现支持多线程并发,并且可与python一起使用。大多数自动化框架通过使用一些繁琐的伪语言(通常几乎是图灵完整的)来隐藏编写它们的语言,但缺乏调试和故障排除工具(明显看出指的是Ansible)。与其他系统集成通常也相当困难,因为它们通常有复杂的api(如果有的话)。这些伪语言的其他一些常见问题是,它们通常在处理数据方面相当糟糕,而且重用性有限。Norn原创 2021-05-22 23:51:13 · 14684 阅读 · 16 评论 -
网络设备自动化运维工具——ansible入门笔记
Ansible概述:Ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具 (Puppet、CFengine、Chef、SaltStack)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。Ansible支持丰富的的网络模板:网络设备相关的模板请参照:https://docs.ansible.com/ansible/2.9/modu原创 2021-05-22 12:15:13 · 9092 阅读 · 3 评论 -
Jinja2 模板用法
1.语法在jinja2中,存在三种语法:控制结构 {% %}变量取值 {{ }}jinja2模板中使用 {{ }} 语法表示一个变量,它是一种特殊的占位符。当利用jinja2进行渲染的时候,它会把这些特殊的占位符进行填充/替换,jinja2支持python中所有的Python数据类型比如列表、字段、对象等。注释 {# #}2.过滤器变量可以通过“过滤器”进行修改,过滤器可以理解为是jinja2里面的内置函数和字符串处理函数。常用的过滤器有:safe: 渲染时值不转义cap转载 2021-05-16 16:29:42 · 1586 阅读 · 0 评论 -
网络通信中常见的数据结构(XML、JSON、YAML)
概述:由于字符串这种记录数据的形式,仅仅方便人进行查看,而在网络自动化运维中,是不方便机器和设备之前进行直接识别与通信,所以需要使用其他的数据结构来进行信息的传递和存储。XML:简介:XML (eXtensible Markup Language,可扩展标记语言)是一种可按应用目标进行扩展的通用标记语言(标记语言,指的是既有开标签,也有闭标签。)。旨在通过使用XML,使互联网数据共享变得更容易。在NETCONF中,用到的数据结构便是XML。XML和 HTML都是从标准通用标记语言 SGML( St原创 2021-05-16 14:25:09 · 8932 阅读 · 0 评论 -
使用Python调用Netconf进行配置
NETCONF简介:概述:NETCONF虽然已经是老技术了,但是一直没有受到重用,直到最近几年兴起的自动化话运维,NETCONF才重新背推上台面。网络配置协议NETCONF(Network Configuration Protocol)提供一套管理网络设备的机制,用户可以使用这套机制增加、修改、删除网络设备的配置,获取网络设备的配置和状态信息。通过NETCONF协议,网络设备可以提供规范的应用程序编程接口API(Application Programming Interface),应用程序可以直接使用原创 2021-05-15 22:50:35 · 3671 阅读 · 1 评论 -
YANG-SUITE安装步骤
YANG-SUITE:对NETCONF的YANG进行查询和测试,构建XML的文档工具。下载地址:https://github.com/CiscoDevNet/yangsuite安装步骤:安装docker。具体步请参考官网文档:https://docs.docker.com/engine/install/git YANG-SUITE文件后,需要对原始的文件做一些简单修改:设置Django配置,将Django_ALLOWED_HOSTS字段,修改为*,保证其他主机能够通过游览器访问YANG原创 2021-05-15 11:54:52 · 1976 阅读 · 0 评论 -
使用Python调用ASA rest API进行配置
REST API:REST: Representational State Transfer,表现层状态转化。在这个词中省略了主语,也就是Resources。所以全称应该是资源表现层状态转化。资源: 就是网络上的一个实体。它可以是一段文本、一张图片、一首歌曲、一种服务…我们可以用一个URI指向它,每种资源对应一个特定的URI。要获取这个资源,访问它的URI就可以,因此URI就成了每一个资源的地址或独一无二的识别符。注意:资源是不能加后缀的,例如xxx.png。后缀其实是资源的一种表现形式。表现层: 一原创 2021-05-15 00:31:03 · 598 阅读 · 5 评论 -
Ubuntu基础笔记(幕布)
幕布文字版:https://share.mubu.com/doc/7OuRnsZAtIk原创 2021-05-14 21:23:00 · 729 阅读 · 0 评论 -
ASA REST API安装步骤
概述:我们可以通过ASA的REST API,以HTTPS的方式,使用JSON的数据结构,快速批量的配置ASA设备。由于ASA的REST API并非原生API,而是以插件的形式存在,所以我们需要下载并加载。下载地址:https://download.csdn.net/download/tushanpeipei/18715614?spm=1001.2014.3001.5503下载完成后,可以使用tftp的方式将REST API文件传入到设备上进行加载。步骤参考文档:https://download.原创 2021-05-14 20:20:39 · 731 阅读 · 2 评论 -
分别使用多线程\多进程\协程+paramiko在华为交换机批量快速进行配置(eNSP模拟器)
实验拓扑:cloud连接本机,ip地址为192.168.56.1,五台交换机的配置的地址为192.168.1.201~205。现在通过paramiko,ssh进入五台设备,并且在五台设备上分别创建将192.168.56.0 0.0.0.255通告进入OSPF。版本:python3.9实验步骤:一、ssh配置:## 创建秘钥[sw2]dsa local-key-pair create## 配置SSH认证类型(密码/其他)[sw2]ssh user prin authentication-t原创 2021-05-10 22:49:33 · 1687 阅读 · 6 评论 -
使用Python监控SNMP Trap并获取OSPF邻居状态
实验目的:实时监控指定路由器上OSPF邻居状态情况。实验环境:2台CSR1000v,提前配置好OSPFv2,建立邻居关系。实验步骤:一、在需要监控的设备上配置SNMPv2 Trap ospf的状态信息:snmp-server enable traps ospf state-changesnmp-server enable traps ospf errors二、使用python,作为snmptrap_v2的服务器,分析接受到的SNMPv2 Trap ospf的状态信息:...原创 2021-05-10 19:09:53 · 1585 阅读 · 3 评论 -
【python工具】获取linux和windows系统指定接口的IP地址
实验目的:用户输入网卡名称,通过函数返回对应的IPv4和IPv6地址。实验代码:步骤一: 由于window系统下网卡名称并不是真正的名字,而真正的ID在注册表SYSTEM\CurrentControlSet\Control\Network{4d36e972-e325-11ce-bfc1-08002be10318}目录下。所以需要通过如下代码,返回接口名称和唯一ID的对应关系。win_ifname.py:import netifaces as ni# import winreg as wr#原创 2021-05-10 00:00:14 · 573 阅读 · 1 评论 -
Docker 全套笔记整理
Docker 全套笔记整理一、Docker简介https://blog.csdn.net/tushanpeipei/article/details/115836878?spm=1001.2014.3001.5502二、Docker组件https://blog.csdn.net/tushanpeipei/article/details/115836961?spm=1001.2014.3001.5502三、Docker命令https://blog.csdn.net/tushanpeipei/arti原创 2021-04-29 11:56:32 · 288 阅读 · 1 评论 -
Docker学习笔记8——Docker Swarm(幕布笔记)
参考资料来源:现任明教教主课程原创 2021-04-29 11:49:27 · 161 阅读 · 1 评论 -
Docker学习笔记7——Docker-Compose(幕布笔记)
参考资料来源:现任明教教主课程原创 2021-04-29 11:33:29 · 203 阅读 · 1 评论 -
Docker学习笔记6——Docker网络(幕布笔记)
参考资料来源:现任明教教主课程原创 2021-04-29 11:29:15 · 168 阅读 · 1 评论 -
快速得到容器ID和veth bridge interface的关系
方法:使用脚本get_network_mode() { docker inspect --format='{{.HostConfig.NetworkMode}}' "$1"}created_by_kubelet() { [[ $(docker inspect --format='{{.Name}}' "$1") =~ ^/k8s_ ]]}for container_id in $(docker ps -q); do network_mode=$(get_networ原创 2021-04-24 00:25:00 · 367 阅读 · 0 评论 -
PSQL容器带脚本初始化
目的:为了方便在psql容器创建后,不需要进入其中单独创建我们需要的用户和数据库(或者其他操作),可以编写在Dockerfile时设置初始化脚本。Dockerfile:# base镜像是postgres:latesFROM postgres:latest# 镜像相关的资料信息LABEL maintainer="Prin<xxx@qq.com>"LABEL version = "1.0"LABEL description="prin psql images"# 设置环境变量,原创 2021-04-20 14:34:42 · 1029 阅读 · 0 评论