ADC

学習

学習機能の問題が発生した場合に推奨されるベストプラクティスをいくつか次に示します。

学習プロセス:

  • aslearn プロセスが実行中であることを確認します。
  • トップコマンドの出力をチェック
  • 次のコマンドを実行して、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

  • aslearnログを調べて、aslearnメッセージを確認します。

    /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 シェルプロンプトから 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 に達した場合は、すべての保護機能の学習を停止してください
    • 学習プロセスとして再起動

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

  • 次のコマンドを実行して、/var フォルダー内のスペースを確認します。

    du -h /var

  • 以下のコマンドを実行して、学習閾値制限を確認します。

    show appfwlearningsettings <profile_name> <securityCheck>

  • 以下のコマンドを実行して学習したデータを収集します。

    export appfwlearningdata <profile_name> <securityCheck>

  • 学習したデータがコレクタにアップロードされていることを認識します。
学習

この記事の概要