利用docker部署oxidized网络设备备份系统

随着网络设备的增多,通过人手备份网络设备倍感压力,而且效率低。有编程基础的人可能会通过Python的parimiko 或者netmiko 连接到设备操作 把文件通过ftp 上传到FTP服务器, 在通过定时任务,定期自动备份。这个应该是现阶段主流非人民币网络玩家的最优解决方案。

今天我们来看看oxidized这个被称之为”最好用的”网络备份系统,友好的支持不同厂商。

oxidized简介

oxidized 是一个网络设备备份系统, 轻量级,可扩展,支持超过90多个操作系统。个人觉得它无与伦比的优势, 同时支持h3c,华为,思科。

随着容器化的兴起,部署软件变得的越来越简单,有的已经帮您封装好,你开箱即用就可以了。好了下面,我们看看这个oxidized系统有没有镜像的。

利用docker部署oxidized网络设备备份系统
[root@node1 ~]# docker search oxidized
NAME                       DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
oxidized/oxidized          Oxidized is a network device configuration b...   27                                      [OK]
alectolytic/oxidized       Oxidized: Alpine Linux based Docker image       1                                       [OK]
klinnex/oxidized           Oxidized                                        0                                       [OK]
bootc/oxidized             Oxidized, the configuration backup software ...   0
edeln/oxidized             oxidized as a framework, using its ssh and s...   0
mkbarry/oxidized-worker                                                    0
mkbarry/oxidized-tooling                                                   0
b3vis/oxidized             Oxidized config backup software in an Alpine...   0                                       [OK]
neteng1/oxidized           Backup Network Devices                          0
rbrayner/oxidized          older oxidized                                  0                                       [OK]
macaty/oxidized            oxidized                                        0                                       [OK]
ossobv/oxidized            Edited oxidized (ios.rb) so you can use read...   0
dbrockus/oxidized          This is a TEST, DO NO USE                       0
voravitl/oxidized                                                          0
zxandy/oxidized            Oxidized - Configuration backup software htt...   0
deesel/oxidized                                                            0
zeyanlin/oxidized          configuration backup software (IOS, JunOS) -...   0                                       [OK]
samkdocker/oxidized                                                        0
talibaiiika/oxidized                                                       0
splendid/oxidized          mtk                                             0
sfoster/oxidized           Docker Oxidized auto build                      0                                       [OK]
xrlx/graphite-rust         Oxidized graphite stack                         0                                       [OK]

View Code

把官方的 oxidized/oxidized 镜像拉下来

bash;gutter:false; [root@node1 ~]# docker pull oxidized/oxidized:latest</p> <pre><code> 下载完启动镜像 ;gutter:true;
[root@node1 data]# docker run  –name=’oxidized’ -itd -v /data/oxidized:/root/.config/oxidized -p 8888:8888/tcp -t oxidized/oxidized4bbb01b608e38c59469b1056e24c65f1f36f6e65b0734ab1e86b64b4efcf3306

说明一下:挂载本地/data/oxidized目录到容器内的/root/.config/oxidized目录下,将本地8888端口映射到容器的tcp8888端口。

查看是否已经启动完

[root@node1 data]# docker logs oxidized
*** Running /etc/my_init.d/00_regen_ssh_host_keys.sh...

*** Running /etc/my_init.d/10_syslog-ng.init...

Jul 11 15:03:44 4bbb01b608e3 syslog-ng[13]: syslog-ng starting up; version='3.13.2'
*** Booting runit daemon...

*** Runit started as PID 21
Jul 11 15:03:45 4bbb01b608e3 cron[29]: (CRON) INFO (pidfile fd = 3)
Jul 11 15:03:45 4bbb01b608e3 cron[29]: (CRON) INFO (Running @reboot jobs)
edit ~/.config/oxidized/config
I, [2019-07-11T15:03:47.866728 #34]  INFO -- : Oxidized starting, running as pid 34
F, [2019-07-11T15:03:47.869750 #34] FATAL -- : Oxidized crashed, crashfile written in /root/.config/oxidized/crash
no source csv config, edit ~/.config/oxidized/config
I, [2019-07-11T15:03:49.179948 #36]  INFO -- : Oxidized starting, running as pid 36
I, [2019-07-11T15:03:49.180885 #36]  INFO -- : lib/oxidized/nodes.rb: Loading nodes
F, [2019-07-11T15:03:49.181047 #36] FATAL -- : Oxidized crashed, crashfile written in /root/.config/oxidized/crash
No such file or directory @ rb_sysopen - /root/.config/oxidized/router.db

从以上日志看到缺失router.db这个文件,导致启动失败。解决方法在/data/oxidized目录下新建router.db文件,并在router.db随意添加一条记录。后重新启动容器

bash;gutter:true; [root@node1 oxidized]# touch router.db[root@node1 oxidized]# cat router.db 192.168.1.1:vrp:admin:admin [root@node1 oxidized]# docker restart oxidized oxidized [root@node1 oxidized]#</p> <pre><code> 再次查看日志 ;gutter:true;
[root@node1 data]# docker logs oxidized……省略Puma starting in single mode…

* Version 3.11.4 (ruby 2.5.1-p57), codename: Love Song
* Min threads: 0, max threads: 16
* Environment: development
* Listening on tcp://127.0.0.1:8888
Use Ctrl-C to stop
[root@node1 oxidized]#

修改配置文件

router.db是记录设备备份配置的本地信息文件

`bash;gutter:true;
x.x.x.x:device type:username:password
10.10.24.241:ios:admin:password
10.10.28.235:comware:admin:password
10.10.0.107:vrp:admin:password


注解:device对应的是容器目录/var/lib/gems/2.5.0/gems/oxidized-0.26.3/lib/oxidized/model/的文件名

### config文件

Original: https://www.cnblogs.com/alanlin/p/11173214.html
Author: 北根娃
Title: 利用docker部署oxidized网络设备备份系统

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/644229/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 面向服务的体系架构(SOA)

    1、面向服务的体系架构(SOA) 面向服务的架构(service-oriented architecture)是Gartner于2O世纪9O年代中期提出的面向服务架构的概念。200…

    技术杂谈 2023年6月1日
    0103
  • 【转】灵敏度可以是负值吗_【技术指南】 精确度,准确度,分辨率和灵敏度

    转载:https://blog.csdn.net/weixin_29007243/article/details/112752225 目的 本文档对测量系统领域中精确度、准确度、分…

    技术杂谈 2023年5月30日
    0103
  • 阿里DIN深度兴趣网络

    https://arxiv.org/abs/1706.06978 https://github.com/wzhe06/Ad-papers 一是因为这篇文章的工程性很强。工程性很强的…

    技术杂谈 2023年5月31日
    0102
  • 阻塞队列详解

    什么是阻塞队列 【1】阻塞队列:从定义上来说是队列的一种,那么肯定是一个先进先出(FIFO)的数据结构。与普通队列不同的是,它支持两个附加操作,即阻塞添加和阻塞删除方法。 【2】阻…

    技术杂谈 2023年7月23日
    0107
  • 零成本搭建个人博客之迁移Pages和域名

    在上文[零成本搭建个人博客之搭建篇]中,我将Hugo博客搭建到 Github Page上,后来考虑到用 Cloudflare cdn加速,干脆就把博客站点迁移到Cloudflare…

    技术杂谈 2023年6月21日
    0124
  • Spring5 学习笔记

    学习地址: B站-动力节点 个人代码: GitHub Spring 概述 1.1 Spring 简介 Spring Framework 是一个使用Java开发的、轻量级的、开源框架…

    技术杂谈 2023年7月11日
    086
  • 【转】iOS URL Scheme — 不错

    由于”沙盒”机制的存在,iOS系统中的app都处于一个相对封闭的环境中,app之间的不管是合理还是不合理的信息共享基本都被阻隔掉了,当然苹果这样做的目地也很…

    技术杂谈 2023年6月1日
    096
  • 移动端常见问题处理

    前面的话 本文将详细介绍移动web开发中的常见问题 Input 【光标颜色】 默认情况下,光标颜色与字体颜色color相同,但也可以通过caret-color属性来单独设置 car…

    技术杂谈 2023年5月31日
    093
  • 查询3天内创建邮箱的用户

    查询3天内创建邮箱的用户 $d = (Get-Date).adddays(-3) $ys = Get-ADUser -Filter ‘Enabled -eq $true -and …

    技术杂谈 2023年5月31日
    093
  • 二进制状态压缩

    二进制状态压缩 取出整数n在二进制表示下的第k位: (n>>k)&1 取出整数n在二进制下的第0~k-1位 n&((1<<k)-1) &lt…

    技术杂谈 2023年7月11日
    079
  • 三层架构与MVC &amp; 设计模式的较量

    刚刚学习了三层架构,并且正在实际应用中,但随着学习的深入,又了解到了一个叫MVC 的东西,(早在设计模式中就听到过MVC,仅仅是简单查了一下什么意思.)如今正好把这三个东西放在一起…

    技术杂谈 2023年5月31日
    069
  • 归并排序算法

    java代码: 1 public static void main(String[] args) { 2 int arr[] = {2,7,1,5,9,6,10}; //要排序的数…

    技术杂谈 2023年7月11日
    067
  • 什么是计算机?

    计算机 组成:硬件+软件能按程序运行,自动、告诉处理海量数据的现代化智能电子设备。应用:科学计算、数据处理、自动控制、计算机辅助设计、人工智能、网络(互联网、自己的计算机就是网络的…

    技术杂谈 2023年7月11日
    069
  • Mysql优化篇-索引优化与查询优化

    1、索引失败案列 如果查询时没有使用索引,查询语句就会扫描表中所有记录,在数据量大的情况下,查询会很慢。(1)全值匹配(2)最佳左前缀法则mysql可以为多个字段创建索引,一个索引…

    技术杂谈 2023年7月24日
    086
  • mac 多屏快速切换鼠标 CatchMouse(mac多屏切换鼠标)

    mac 多屏快速切换鼠标 CatchMouse(mac多屏切换鼠标),通过快捷键 下载地址:https://github.com/round/CatchMouse v1.2 Ori…

    技术杂谈 2023年5月30日
    084
  • GO sync.Once

    高并发场景下,操作只执行一次,如读取配置、单例模式 Go 的sync模块提供了只执行一次的解决方案:sync.Once, 它只有一个函数:Do 执行: aa_1 Done 执行: …

    技术杂谈 2023年5月31日
    0100
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球