框架结构
net_inspect 由以下几个部分组成:
input_plugin |
输入插件 |
output_plugin |
输出插件 |
analysis_plugin |
分析插件 |
base_info |
基本信息组件 |
input_plugin
net_inspect 在执行 run_input() 方法时,会将路径下的所有 .txt 和 .log 文件作为输入,
然后将文件内容作为参数传递给 input_plugin。
input_plugin 的作用是将设备名称提取出来,并且将对应的 cmd - contents 内容写入到
InputPluginResult 返回。
完成这一步,就可以得到 Device 对象了。
parse
解析模块是固定的,不需要用户自己实现或者改变,他的作用是将每个 Device 对象中的
Cmd 对象命令内容进行解析,
使用的是 textfsm 方式的 ntc-templates-elinpf 库包。
analysis_plugin
analysis_plguin 是分析插件,已经有一部分进行了实现,主要目的是实现对设备问题的分析,形成告警信息。
例如: show power 中的信息如果是 Fail,则会形成一条告警信息。
output_plugin
output_plugin 的作用是来将已经处理好的信息通过统一的方法输出出来。 例如:输出到文件,输出到数据库等等。
通过重载抽象方法 main() 来实现
base_info
net_inspect.BaseInfo 的作用是将不同厂商的信息保存为统一格式样式,方便后续的调用。