ADC

学习

以下是遇到学习功能问题时推荐的一些最佳实践:

Asearn 流程

  • 验证进程 asearn 是否正在运行。
  • 检查顶部命令输出
  • 通过执行以下命令检查 ps 命令的输出:

    ps -ax | grep aslearn | grep -v "grep"

    示例:

     root@ns# ps -ax | grep aslearn | grep -v "grep"
     1439  ??  Ss     0:03.86 /netscaler/aslearn -start -f /netscaler/aslearn.conf
     <!--NeedCopy-->
    
  • 通过验证 ns.log 文件来识别在观察到的问题之前最近运行的配置命令:

    /var/log/ns.log

  • 检查 asearn 日志以检查 asearn 消息:

    /var/log/aslearn.log

  • 隔离受到影响的配置文件和安全检查

  • 通过执行以下命令来识别失败的 GUI 和 CLI 命令:

    show appfw learningdata <profileName> <securityCheck>

    示例:

    • show learningdata test_profile starturl
    • show learningdata test_profile crosssiteScripting
    • show learningdata test_profile sqLInjection
    • show learningdata test_profile csRFtag
    • show learningdata test_profile fieldformat
    • show learningdata test_profile fieldconsistency
  • 从 bsd shell 提示符执行 sqlite 的完整性检查:

    nsshell # sqlite3 /var/nslog/asl/<profile_name_in_lowercase>.db 'pragma integrity_check;

    示例:

     root@ns# sqlite3 /var/nslog/asl/tsk0247284.db 'pragma integrity_check;'
     ok
     <!--NeedCopy-->
    
  • 部署或删除规则以重新开始学习:

    • 如果达到 2000 个学习项目(每个保护项目),则无法再开始学习该保护
    • 如果数据库的大小达到 20 MB,请停止学习所有保护
    • 重新启动 Asearn 过程

    */netscaler/aslearn -start -f/netscaler/aslearn.conf*

  • 通过执行以下命令检查 /var 文件夹中的空间:

    du -h /var

  • 通过执行以下命令检查学习阈值限制:

    show appfwlearningsettings <profile_name> <securityCheck>

  • 通过执行以下命令收集学到的数据:

    export appfwlearningdata <profile_name> <securityCheck>

  • 确定学习的数据是否已上载到收集器中。
学习