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

配置收集正常了~!

相关推荐
在路上走着走着11 天前
Prompt Engineering 入门指南:从原理到上手
人工智能·prompt
coft11 天前
Loop Engineering — 从“写 prompt“到“设计循环“,AI Agent 的下一次进化
人工智能·prompt
CoLiuRs11 天前
从 Prompt 到 Loop:AI 工程到底在卷什么
人工智能·prompt
AI 小老六11 天前
GEPA 架构拆解:让 Prompt 和 Skill 优化不靠玄学
数据库·人工智能·ai·架构·开源·prompt
凯丨11 天前
从写 Prompt 到Loop Engineering:AI 编程的下一次跃迁
prompt
奋飛11 天前
从 Prompt 到 Agent:LangChain 究竟解决了什么问题
ai·langchain·prompt·agent
沪漂阿龙12 天前
Context Engineering:比 Prompt Engineering 更重要的上下文工程
人工智能·langchain·prompt
猿人谷12 天前
从 Prompt Engineering 到 Loop Engineering:AI 编程正在进入“闭环工程”时代
大数据·人工智能·prompt
取个鸣字真的难12 天前
Image2 生成 PPT 的最后分水岭:Prompt
人工智能·prompt·powerpoint
啾啾Fun12 天前
【LLM 应用优化】Prompt Caching:LLM 调用成本降 90% 的底层机制与实战策略
缓存·prompt