centos 7 安装oxidized 实现交换机自动备份

    技术2022-07-17  82

    环境:

     centos 7.4 

     华为交换机

    一、安装

    1. yum remove ruby ruby-devel    // 卸载系统自带的ruby-devel 2. yum groupinstall "Development Tools"   //安装开发部署工具(选装) 3. 安装Ruby2.4.5版本   wget https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.5.tar.gz   tar -zxvf ruby-2.4.5.tar.gz   cd ruby-2.4.5  ./configure  make  make install 4. 安装oxidized    yum install make cmake which sqlite-devel openssl-devel libssh2-devel ruby gcc ruby-devel libicu-devel gcc-c++   //安装依赖    gem install oxidized    gem install oxidized-script oxidized-web    此处我碰到的问题:     ERROR:  Loading command: install (LoadError)     cannot load such file -- zlib ERROR:  While executing gem ... (NoMethodError)

       解决方法:    1. 安装zlib库 yum安装,yum install zlib-devel    2. 集成zlib库到ruby环境       cd /data/ruby-2.4.2      cd ext/zlib      ruby extconf.rb      在操作下一步之前需要修改Makefile文件中的zlib.o: $(top_srcdir)/include/ruby.h,将$(top_srcdir)修改为../..       如: zlib.o: ../../include/ruby.h     3. make && make install     4. 安装openssl库 yum install openssl-devel     5. 集成openssl库到ruby         cd /data/ruby-2.4.2         cd ext/openssl         ruby extconf.rb         同样修改Makefile中的$(top_srcdir)为../..         make & make install  5.    gem install oxidized        gem install oxidized-script oxidized-web

    至此,oxidized基本安装完成

     二、配置

    oxidized重要的配置文件

     config :  主配置文件

     router.db 被备份设备信息配置文件

     *.rb (vrp.rb 我这里是华为的交换机)   交换机系统配置文件 

       // 目录大致(根据安装情况): /usr/local/lib/ruby/gems/2.4.0/gems/oxidized-0.28.0/lib/oxidized/model  

    首先配置oxidized,我直接把我的配置文件贴上来,供大家参考

         --- username: username password: password model: junos interval: 3600 log: /root/.config/oxidized/logs/oxidized.log debug: false threads: 30 timeout: 20 retries: 3 prompt: !ruby/regexp /^([\w.@-]+[#>]\s?)$/ rest: 0.0.0.0:8888 next_adds_job: false     vars: {} groups: {} models: {}     pid: "/root/.config/oxidized/pid" input:   default: ssh, telnet   debug: false   ssh:     secure: false output:   default: file   file:     directory: "/root/.config/oxidized/configs" source:   default: csv   csv:     file: "/root/.config/oxidized/router.db"     delimiter: !ruby/regexp /:/     map:       name: 0        model: 1       ip: 2       username: 3       password: 4       group: 5     gpg: false model_map:   cisco: ios   juniper: junos

     

    router.db文件的配置顺序参照config文件中map定义的项目区填写,例如:name:model:ip:username:password:group

    最后一个就是os配置文件,里面写的申请处,可以参照已有的配置修改自己需要的部分

     

    总的来说,oxidized是一款很简单却很好用的工具,希望我的文档能给大家带来帮助,谢谢。

    Processed: 0.012, SQL: 9