整理了一下oxidized+mysql+gitlab,感觉很好用,做个记录

article/2025/9/25 16:29:15

安装oxidized

安装ruby
yum install centos-release-scl
yum install rh-ruby23 rh-ruby23-ruby-devel
scl enable rh-ruby23 bash
安装依赖关系
yum install make cmake sqlite-devel openssl-devel libssh2-devel ruby gcc ruby-devel libicu-devel gcc-c ++
安装oxidized
gem install oxidized-script oxidized-web

另外可以从gitlab克隆
git clone https://github.com/ytti/oxidized.git
cd oxidized/
gem install bundler
rake install

另外,可以使用RVM安装ruby2.3
安装依赖环境
yum install curl gcc-c++ patch readline readline-devel zlib zlib-devel
yum install libyaml-devel libffi-devel openssl-devel make cmake
yum install bzip2 autoconf automake libtool bison iconv-devel libssh2-devel libicu-devel

设置RVM环境并编译和安装Ruby2.3,并将他设置成默认值
source /etc/profile.d/rvm.sh
rvm install 2.3
rvm use --default 2.3

------------------------------以上,oxidized安装完成---------------------

安装过程大部分问题都会是由ruby 引起

验证安装:
oxidized -v ## 返回版本号即表示安装成功

配置oxidized
oxidized 有2个核心文件。
config文件 就用来存放配置文件
router.db文件 可以理解成 存放被管理主机的地方

首先配置config文件,


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/git/*”
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文件
示例:
name:vrp:ip:username:password:group
启动oxidized,直接输入oxidized 回车即可

Oxidized-web 本身是没有开发账号密码验证的,所以就需要借助nginx代理,
server {
# listen 8080 default_server;
# listen [::]:8080 default_server;
listen 8081;
listen [::]:8081;
server_name 192.168.47.128;
root /usr/share/nginx/html;

    # Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location / {proxy_pass http://192.168.47.128:8888;proxy_http_version 1.1;auth_basic "Welcome to Oxidized WEB Login";auth_basic_user_file /usr/local/nginx/.htpasswd;}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}

}

Oxidized router.db 文件存储的用户密码信息使用明文,为防止密码等机密信息泄露,决定在数据库中存储设备的用户密码等信息。
Oxidized 配置文件
source:
default: sql
sql:
adapter: mysql2
database: oxidized
table: net_dev
user: oxidized
password: oxidized
host: 192.168.47.128
map:
name: name
model: model
username: username
password: password
group: group
vars_map:
ssh_port: port

数据库配置

#创建 oxidized 数据库
create database oxidized character set utf8 collate utf8_bin;
#oxidized 库用户授权
grant all PRIVILEGES on oxidized.* to ‘oxidized’@’%’ IDENTIFIED BY ‘oxidized’;
#刷新权限
FLUSH PRIVILEGES;
创建表结构
CREATE TABLE net_dev (
id int(10) UNSIGNED NOT NULL,
name text NOT NULL,
model text NOT NULL,
username text NOT NULL,
password text NOT NULL,
group text NOT NULL,
port char(32)
) ;
如上,oxidized即可从mysql读取数据,数据维护通过数据库即可

摒弃oxidized-web, 使用gitlab
本地安装gitlab
安装ssh
yum install -y curl policycoreutils-python openssh-server
设置ssh开机启动,防火墙放行端口 ## 惯例我会把firewall 和 selinux直接关闭
添加gitlab镜像
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
安装gitlab
rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
出现如下,即表示安装成功
在这里插入图片描述

##Gitlab安装百度一下,可以参考不同资料
修改gitlab配置文件,指定ip地址和端口
vim /etc/gitlab/gitlab.rb
在这里插入图片描述

重置并启动GitLab
gitlab-ctl reconfigure #重新加载配置
gitlab-ctl restart #重启

访问gitlab页面
http://192.168.47.131/root/dev_con
初始账户: root 密码:5iveL!fe
创建public key (此步骤用于主机gitlab互通,实现免密更新)
ssh-keygen 然后一路回车
cat ~/.ssh/id_rsa.pub 然后复制内容添加公匙到gitlab

如下图:

在这里插入图片描述

以上,gitlab搭建完成

如何将配置备份推送到gitlab上,有两种方法:
1. Oxidized 有对应的接口,但是我测试失败,有兴趣可以试一下
2. Shell脚本
#!/bin/bash
cd /root/.config/oxidized/git
git init
git remote remove oxidized
git remote add oxidized git@192.168.47.131:root/dev_con.git
git add -A
git commit -m ‘backup’
git pull --rebase oxidized master
git push oxidized master
以上即可完成oxidized+mysql+gitlab来备份设备配置
其实是个很简单的东西,但是在实际工作中很有帮助,如果大家遇到问题,欢迎留言互动,互相学习。


http://chatgpt.dhexx.cn/article/cC68AeNA.shtml

相关文章

docker oxidized时区问题,时间显示不是北京时间问题的解决办法

问题描述:oxidized web界面时间显示,默认显示UTC时间,为北京时间-8个小时 问题原因:ruby语言的时间直接获取的UTC时间 出现版本:oxidized 0.28.0 问题解决: docker exec -it oxidized /bin/bashvim /var/l…

网络设备配置备份-Oxidized

背景:网络设备如何备份?关于这个问题笔者尝试了多种,比如:通告FTP下载配置文件,通过ssh软件登录设备记录当前配置等,在一次偶然的机会中找到了Oxidized(开源软件),可以增…

Oxidized 网络设备自动备份系统搭建

文章目录 前言一、oxidized是什么?二、oxidized搭建1.环境准备2.安装步骤3.配置文件4.router.db 文件规范5.运行6.Nginx验证登录 三,踩坑总结 前言 传统的网络设备备份通常都是人工登录进行手动操作,随着管理的网络设备越来越多,…

网络设备自动备份工具 Oxidized 使用体验

Oxidized 是一个使用 Ruby 编写的开源网络设备配置备份工具,是 RANCID(思科的一个工具) 的替代品,轻量级且可扩展的 Oxidized 支持 130 多种操作系统。 体验一下它的功能以及各种实现,看如何能与现有的系统进行整合&a…

小波变换的matlab程序:wavename='cmor5-2'; 这里5是带宽,2是中心频率,这我知道~但是他们的单位是多少呀? Hz?kHz?MHz? 我的分析频率是e6级的,大概怎么设置参数呢

答: 嗯,照道理是没有固定单位滴,小波分析用的是相对概念,即要根据原始信号频率换算,如何设置参数从原理上都是合理的,就看你需要分析哪些特征,多试几次,选择结果好的就行。 追问&am…

超宽带(UWB)信号谱的中心频率及-10dB带宽的计算(MATLAB)

对于超宽带(UWB)信号,相对带宽或带宽及中心频率是其中两个重要的参数。如果已经得到UWB信号谱,那么通过信号谱如何来计算带宽及中心频率呢? 一般来说,UWB信号谱可以通过直接测量或者由OptiSystem得到&#…

带宽和频率

信道的带宽:对信道来说,带宽是衡量其通信能力的大小的指标。 1、对模拟信道,使用信道的频带宽度来衡量。如果一个信道,其最低可传输频率为f1的信号,最高可传输频率为f2的信号,则该模拟信道的带宽是:模拟信…

聊聊最简单的名词:频率

聊聊最简单的名词:频率 01 “频率”02 谐振频率03 中心频率04 工作频率总结: 理科的孩子们从初中起对“频率”这个词就不陌生了吧。为什么还是要说呢?在射频领域的各种频率比较容易混淆,这里还是再聊聊吧。 01 “频率” — 在数…

多普勒频率

多普勒频率:接收频率与发射频率的差值,观察者接收到的频率等于观察者在单位时间内接收到的完全波的个数,因而单位时间内通过接收者的完全波的个数,即接收的频率。 上面是原理:已知多普勒频率是指单位时间内接受者接收的到完全波的…

带通滤波器中心频率带宽matlab,带通滤波器频率设置

qsj8362234 发表于 2012-9-27 12:08 你索性把你的代码发我把 clc ;close all; clear all; fs=20000; %采样频率 dt=1/fs; f1=1000; f2=2000; %两个信号的频率 a=[1 0 1 0 1 0 1 1 0 0]; %信号,取整 nn=length(a); g1=a; g2=~a; %信号反转和g1反向,01取…

射频信号发生器的使用以及相关中心频率,载波,调制波术语解释

今日尝试使用射频信号发生器验证电平转换芯片。然只能输出交流耦合波形,遂无法实现验证。心灰之下,尝试了信号发生器的各项功能,现将相关心得记录如下。 射频信号发生器只能输出交流耦合信号,举例,设定输出1V的信号,频率为1M,输出波形为RMS均值为0V,峰峰值2V,正弦波,…

MATLAB查看连续小波的形态和中心频率

1:查看小波的中心频率和形态(如果想要查看其他的小波,将db3修改一下名字既可以) clear all; cla; close; cfreqcentfrq(db3)% 查看小波频率 [~,psi,xval]wavefun(db3); plot(xval,psi);%% 查看小波 的形态 db3 ,cfreq 0.8000 方法 2 : 画尺…

中心频率和一些概念解释

中心频率是滤波器通频带中间的频率,以中心频率为准,高于中心频率一直到频率电压衰减到0.707倍时为上边频,相反为下边频,上边频和下边频之间为通频带。 从原理上讲,再复杂的声音也可以用傅里叶分析的方法把它最后分解成若干正弦波的叠加。但是如果反过来用正弦波叠加…

带通滤波器中心频率计算公式中R是哪个值_手把手教系列之IIR数字滤波器设计实现...

喜欢就本文就点个赞吧~~ 版权声明:所有文章版权归嵌入式客栈所有,如商业使用,须嵌入式客栈授权。欢迎关注微信公众号,内容更丰富。 【导读】:在嵌入式系统中经常需要采集模拟信号,采集模拟信号的信号链中难免引入干扰,那么如何滤除干扰呢?今天就来个一步一步描述如何…

VMD分解,matlab代码,包络线,包络谱,中心频率,峭度值,能量熵,样本熵,模糊熵,排列熵,多尺度排列熵,近似熵,包络熵,频谱图,希尔伯特变换,包含所有程序MATLAB代码,-西储大学数据集为例

目录 目录 1.选取数据 2.VMD函数-matlab代码 3.采用matlab脚本导入数据并做VMD分解 4.计算中心频率 5.结果展示 6.智能算法优化VMD参数 1.选取数据 选取1797转速下的内圈故障数据,也就是105.mat,数据集可以在官网下载。下载数据文件|凯斯工程…

信号滤波器以及中心频率概念

1 信号滤波器: 最早期的合成器,用简单的振荡器发生“傻乎乎”的波形,象正弦波、三角波,还有更明亮些的锯齿波、脉冲波等。然后用变形、调制等手法来修饰它们,滤波器是非常重要的工具。 当前的合成器技术已经与早期大不…

无线RF knowledge

2.4G频段 当AP工作在2.4GHz频段的时候,AP工作的频率范围是2.402GHz~2.483GHz。在此频率范围内又划分出14个信道。每个信道的中心频率相隔5MHz,每个信道可供占用的带宽为22MHz,例如:如图所示,channel 1的中心频率为2412…

中心频率详解

该文章讲述了有关中心频率知识详细讲解(图). 中心频率详细讲解 什么是中心频率呢,中心频率就是滤波器通频带中间的频率,以中心频率为准,高于中心频率一直到频率电压衰减到0.707倍时为上边频,相反为下边频,上边频和下边频之间为通频带。 从原理…

Hector slam算法原理解析与代码详解

写了markdown 上传,公式都乱码,无果,截图上传吧 目录 1. hector 原理解析 1.4 多重分辨率地图 2.代码框架 2.1 回调函数 2.2 更新 3. 扫描匹配 3.1 多分辨率匹配 3.2 matchData_2 3.3 scan_match_3 3.4 迭代计算函数 3.5 hession 矩…

Ubuntu常用命令 如何远程连接服务器? 如何创建anaconda虚拟环境? 如何从github上下载代码到服务器? 如何移动、复制、删除文件夹? 如何在服务器间传输文件? 如何在服务器后台运行代码

目前 Ubuntu常用命令 如何远程连接服务器? 如何创建anaconda虚拟环境? 如何从github上下载代码到服务器? 如何移动、复制、删除文件夹? 如何在服务器间传输文件? 如何在服务器后台运行代码? 2.5 创建anacon…