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

配置收集正常了~!

相关推荐
小程故事多_8011 小时前
深度拆解Hermes Agent,动态Prompt与Learning Loop架构的底层逻辑
人工智能·架构·prompt·aigc
小超同学你好12 小时前
OpenClaw 深度解析与源代码导读 · 第5篇:Brain——Prompt/Context/Harness Engineering 与执行框架
人工智能·深度学习·语言模型·prompt
一叶知秋yyds1 天前
Prompt Engineering 完全指南:让大模型更懂你
prompt
deepdata_cn2 天前
提示工程(Prompt Engineering)
人工智能·prompt
njsgcs2 天前
固定几轮调用工具后,让ai根据执行内容自己改进prompt实现进化
人工智能·prompt
MRDONG12 天前
从 Prompt 到智能体系统:Function Calling、Memory 与 Synthetic RAG 的全栈解析
人工智能·深度学习·神经网络·语言模型·自然语言处理·prompt
Flying pigs~~2 天前
企业级模块化RAG项目(mysql➕redis➕milvus➕模型微调➕bm25➕fastapi➕ollama➕Prompt➕多策略选择)
人工智能·redis·mysql·docker·prompt·milvus·rag
颯沓如流星2 天前
从Prompt Engineering到Harness Engineering:游戏服务器开发的AI工程范式
人工智能·游戏·prompt
华农DrLai2 天前
什么是推荐系统中的负反馈?用户的“踩“和“不感兴趣“怎么用?
人工智能·算法·llm·prompt·知识图谱
冲上云霄的Jayden2 天前
LangGraph4j+LangChain4J 实验智能客服系统增加基于LLM 解决Prompt注入问题
prompt·agent·智能客服·langchain4j·agent安全·langgraph4j·prompt注入