Oxidized 开源项目教程
项目介绍
Oxidized 是一个网络设备配置备份工具,旨在替代 RANCID(Really Awesome New Cisco config Differ)。它能够自动从各种网络设备中获取配置,并将其存储在本地或远程服务器上,以便进行版本控制和历史记录管理。Oxidized 支持多种设备类型和协议,如 Cisco, Juniper, HP, Brocade 等,并且可以通过插件扩展支持更多设备。
项目快速启动
安装 Oxidized
首先,确保你已经安装了 Ruby 和 Git。然后,通过以下命令安装 Oxidized:
# 克隆项目仓库
git clone https://github.com/ytti/oxidized.git
cd oxidized
# 安装依赖
gem install bundler
bundle install
# 运行 Oxidized
bundle exec oxidized
配置 Oxidized
创建一个配置文件 ~/.config/oxidized/config
,并添加以下内容:
---
username: your_username
password: your_password
model: ios
resolve_dns: true
interval: 3600
use_syslog: false
debug: false
threads: 30
timeout: 20
retries: 3
prompt: !ruby/regexp /^([\w.@-]+[#>]\s?)$/
rest: 127.0.0.1:8888
next_adds_job: false
vars: {}
groups: {}
models: {}
pid: "/home/oxidized/.config/oxidized/pid"
input:
default: ssh, telnet
debug: false
ssh:
secure: false
output:
default: file
file:
directory: "/home/oxidized/.config/oxidized/configs"
source:
default: csv
csv:
file: "/home/oxidized/.config/oxidized/router.db"
delimiter: !ruby/regexp /:/
map:
name: 0
model: 1
username: 2
password: 3
vars_map:
enable: 4
添加设备
在 ~/.config/oxidized/router.db
文件中添加你的设备信息:
router1.example.com:ios:your_username:your_password
router2.example.com:ios:your_username:your_password
启动 Oxidized
运行以下命令启动 Oxidized:
bundle exec oxidized
应用案例和最佳实践
应用案例
Oxidized 广泛应用于网络运维中,特别是在需要定期备份和监控网络设备配置的场景。例如,企业可以使用 Oxidized 定期备份所有网络设备的配置,以便在设备故障或配置错误时快速恢复。
最佳实践
- 定期备份:设置合理的备份间隔,确保配置的及时更新。
- 版本控制:使用 Git 或其他版本控制系统管理配置文件,便于追踪变更和回滚。
- 安全配置:确保 Oxidized 的访问权限和认证机制安全,防止未授权访问。
- 监控和告警:集成监控系统,实时监控 Oxidized 的运行状态和备份结果。
典型生态项目
集成工具
- Prometheus:通过 Prometheus 监控 Oxidized 的运行状态和备份结果。
- Grafana:使用 Grafana 可视化 Oxidized 的备份数据和监控指标。
- ELK Stack:通过 ELK Stack 分析和存储 Oxidized 的日志和配置数据。
插件和扩展
- Oxidized-Web:提供 Web 界面管理 Oxidized,方便查看和搜索配置文件。
- Oxidized-Script:扩展 Oxidized 的功能,支持更多设备类型和协议。
通过这些生态项目和工具,可以进一步增强 Oxidized 的功能和可用性,提升网络运维的效率和可靠性。