当前位置: 首页 > article >正文

Oxidized收集H3C交换机网络配置报错,not matching configured prompt (?-mix:^(<CD>)$)

背景:问题如上标题,H3C所有交换机配置的model都是comware

解决方案:

1、找到compare.rb
[root@oxidized model]# pwd
/usr/local/lib/ruby/gems/3.1.0/gems/oxidized-0.29.1/lib/oxidized/model
[root@oxidized model]# ll comware.rb
-rw-r--r-- 1 root root 2431 Mar  7 09:05 comware.rb
2、修改配置文件中的prompt
[root@oxidized model]# vim comware.rb #第七行
prompt /^([<\[]\S+[>\]])|(\[\S+-\S+\])$/
保存退出
3、重启oxidized并查看日志
[root@oxidized model]# systemctl restart oxidized
[root@oxidized model]# tail -f /root/.config/oxidized/logs/oxidized.log

rb文件中的prompt就是要匹配交换机的名字的,所以注意你的交换机的命令,如果是批量监控收集配置文件信息,就要注意交换机的统一格式命名,以下是comware类型的prompt介绍

# 定义 Comware 模型
class Comware < Oxidized::Model
  # 设置命令行提示符的正则表达式
  prompt /^([<\[]\S+[>\]])|(\[\S+-\S+\])$/

  # 其他配置...
end


########
上述正则表达式 ^([<\[]\S+[>\]])|(\[\S+-\S+\])$ 的含义如下:
^:表示字符串的开始。
([<\[]\S+[>\]]):匹配以 < 或 [ 开头,中间是一个或多个非空白字符,然后以 > 或 ] 结尾的字符串,用于匹配用户视图和系统视图的提示符。
|:表示或的关系。
(\[\S+-\S+\]):匹配以 [ 开头,中间是一个或多个非空白字符,接着是 -,再接着是一个或多个非空白字符,最后以 ] 结尾的字符串,用于匹配接口视图的提示符。
$:表示字符串的结束。


#######
更精确的配置方式
如果你明确知道交换机的设备名,也可以使用更精确的正则表达式。例如,设备名为 H3C 时:
class Comware < Oxidized::Model
  prompt /^(<H3C>)|(\[H3C\])|(\[H3C-\S+\])$/
  # 其他配置...
end

####################
以下是一个完整的 comware.rb 文件示例,包含了 prompt 配置以及一些基本的命令设置:
class Comware < Oxidized::Model
  # 设置命令行提示符的正则表达式
  prompt /^([<\[]\S+[>\]])|(\[\S+-\S+\])$/

  # 进入配置模式的命令
  cmd :enter_config do
    "system-view"
  end

  # 退出配置模式的命令
  cmd :leave_config do
    "return"
  end

  # 保存配置的命令
  cmd :save do
    "save force"
  end

  # 显示当前配置的命令
  cmd :show do
    "display current-configuration"
  end
end

配置收集正常了~!


http://www.kler.cn/a/577040.html

相关文章:

  • 三、零基础学习TypeScript——JavaScript和TypeScript数据类型区别
  • [Lc6_模拟] 替换所有的问号 | 提莫攻击 | Z 字形变换 | 外观数列
  • Django在处理模型录入时间差8小时的问题
  • Python3 爬虫 爬虫中间件
  • 数据结构链式表
  • CEF在MFC上的示例工程
  • 国产编辑器EverEdit - 宏功能介绍
  • VPS加装前置代理全解析
  • Manus AI探索
  • 碰一碰发视频系统之写卡功能开发了,支持OEM
  • 《UE5_C++多人TPS完整教程》学习笔记35 ——《P36 武器类(Weapon Class)》
  • open-webui+deepseek api实现deepseek自由
  • 完整版已注册,永久授权!
  • 【基础io】
  • Java面向对象(详细解释)
  • Java网络编程初阶
  • 可变参数与递归
  • 简记_EMC概述
  • C#使用winform实现简单的梯形图指令编译和执行,带编译器和虚拟机代码
  • 性能测试和Jmeter