在 NCM 中排除特定配置内容进行对比
配置文件存储关键信息,例如接口配置、路由器配置、ACL、安全配置、QoS 策略、VLAN 配置、基础设施和应用程序设置,以及其他定义网络设备行为的设备管理设置。它们有助于管理各种网络参数并自定义您的网络。
Site24x7 的网络配置管理器(NCM)会根据阈值配置在配置文件发生任何变化时发送告警。此外,您还可以查看启动配置和运行配置的任意版本之间是否存在冲突。
但是,某些变化可以根据您的判断忽略不计。例如,可能存在一些注释行或加密密码字符串(在每次配置
版本中可能会发生变化),即使配置文件中没有其他变化,这些内容也会重复触发告警。
要了解这一情况,请对比配置或不同版本,查看它们之间的所有差异。
假设当前运行配置发生了变化。如果存在检查运行配置任何变更的阈值配置文件,则可能导致告警被触发,设备状态出现意外变化。图 1 展示了此类差异,这些差异可能导致设备状态被设置为宕机、故障或严重,具体取决于阈值配置文件中指定的设置(示例见图 2)。

图 1. 启动版本与运行版本之间的配置差异。
此外,您还可以在监视器状态界面上查看冲突。
为了从对比中排除差异,Site24x7 的 NCM 使用正则表达式。
什么是正则表达式?
正则表达式用于根据一系列模式在搜索中检查匹配项。
以下是一些常用表达式,您可以使用它们来创建所需的正则表达式:
| 表达式 | 说明 | 示例 |
| ^ | 字符串开头 | ^abc |
| $ | 字符串结尾 | abc$ |
| * | 前面元素出现零次或多次 | a* |
| + | 前面元素出现一次或多次 | a+ |
| ? | 前面元素出现零次或一次 | a? |
| . (句点) | 除换行符 (\n) 外的任意字符 | .a |
| \s | 任意空白字符 | hello\sworld |
| \d | 任意单个数字 | a\d |
| \w | 任意单词字符 | a\w |
| \ | 转义特殊字符 | a\. |
| [ ] | 括号内的任意字符 |
[a-z] - 小写字母 [A-Z] - 大写字母 |
| { n } | 前面元素恰好出现 n 次 |
a{3} |
| {n , x} | 前面元素出现 n 到 x 次 |
a{2,4} |
| [ ^ ] | 不匹配括号内的单个字符 |
[^a] |
下表通过示例描述了一些常用正则表达式:
| 正则表达式 | 说明 | 示例 |
| ^\s*!.* |
^ - 行首 \s* - 空格,零个或多个 ! - 在前面条件后包含 ! .* - 任意字符,零个或多个 |
! Last configuration change at 09:29:02 UTC Thu Nov 16 2023 |
| ^\s*Current\sconfiguration\s:\s\d*\s*bytes\s* |
^ - 行首 \s* - 空格,零个或多个 Current - 匹配单词 Current \s - 单个空格 configuration - 匹配单词 configuration \s - 单个空格 : - 匹配字符 : \s - 单个空格 \d* - 任意数字 (0-9),零个或多个 \s* - 空格,零个或多个 bytes - 匹配单词 bytes \s* - 空格,零个或多个 |
Current configuration : 3215 bytes |
| ^\s*speed.* |
^ - 行首 \s* - 空格,零个或多个 speed - 匹配单词 speed .* - 任意字符,零个或多个 |
speed 100 |
其他常用正则表达式:
| 正则表达式 | 排除的行 |
| ^\s*#.* | 以 # 开头 |
| ^\s*set\spassword.*$ | 以 set password 开头 |
| ^\s*set\spasswd\d\sENC.*$ | 以 set passwd 开头,后跟单个数字,再跟 ENC |
| ^\s*Cryptochecksum:.* | 以 CryptoCheckSum 开头 |
| ^\s*usrpw\s.* | 以 usrpw 开头 |
| .*Configuration\sdump\staken\s.* | 包含 Configuration dump taken |
| ^\s*boot\ssystem\sflash\sflash:.* | 以 boot system flash: 开头 |
| ^\s*Current configuration\s:\s\d*\s*bytes\s* | 以 Current Configuration: 开头 |
| ^\s*Uncompressed configuration.* | 以 Uncompressed 文件内容命令开头 |
| ^\s*!\s*.*Last\s*configuration.* | 以 ! 开头,后跟 Last Configuration 标头 |
| ^\s*ntp\s*clock-period.* | 以 ntp clock-period 开头 |
| ^Building\sconfiguration.* | 包含 Building configuration |
| ^\s*system-uptime.*$ | 以 system-uptime 开头 |
| ^\s*shared-secret.*$ | 以 shared-secret 开头 |
| ^\s*authentication\ssha1.*$ | 以 authentication sha1 开头 |
| ^\s*encryption\saes.*$ | 以 encryption aes 开头 |
| ^\s*checksum.*$ | 以 checksum 开头 |
| ^\s*[a-z\-\s]{0,20}password.*$ | 在 0 到 20 个元素后包含单词 password |
| ^\s*time.*$ | 以 time 开头 |
| ^\s*date.*$ | 以 date 开头 |
| ^\s*authentication\smd5.*$ | 以 authentication md5 开头 |
| ^\s*encryption\sdes.*$ | 以 encryption des 开头 |
| ^\s*radius\s\w{0,10}\sserver\d\ssecret.*$ | 以 radius 开头,后跟 server 和 secret |
| ^\s*[a-z\-\s]{0,5}pass.*$ | 在 0 到 5 个元素后包含单词 pass |
您可以使用我们的正则表达式测试与调试工具来验证正则表达式模式。
修改标准以在配置对比中排除特定内容
- 登录您的 Site24x7 账户。
- 导航至 网络 > NCM > 设备模板。
- 点击您希望设置排除标准的设备模板以查看详情。

图 2. 设备模板界面。 - 点击排除标准。您将看到设备模板中提供的默认排除标准,以及已添加的自定义标准。关闭排除标准弹窗可返回设备模板详情界面。
- 要添加、编辑或删除自定义标准,请点击界面右上角的编辑设备模板。或者,您也可以点击第三步中相应设备模板旁边的铅笔图标
(图 4 中蓝色标注处)。 - 然后点击排除标准。您可以在可编辑字段中修改详情来编辑任何现有的自定义标准。
- 点击描述列旁边的 X 图标,可删除之前添加的标准。
添加新标准
- 在编辑设备模板界面上点击排除标准。
- 在空白行中输入详情。或者,要添加多个标准,请点击加号 + 图标。
- 提供显示名称。
- 在 RegEx 列中提供正则表达式模式。例如,如果您希望排除图 1 中的 speed 和 Current configuration 语句出现在差异中,可以按照图 3 所示提供排除模式。

图 3. 设备模板界面。 - 在描述列中填写详情。
- 点击保存。
图 4. 添加排除标准后的配置对比。
