16

最近、大量のサーバー ログ データにアクセスできるようになりました (新しいジョブで)。私は大学で機械学習の経験があります。ログデータには、サーバーログやデータベースアクセスログなどがあります。このようなデータから、どのような学習ができるのだろうかと考えていました。

私が試した小さなことの 1 つは、過去 1 週間のデータに基づいて 1 日の特定の時間のリクエスト数を予測することでした。これは問題ないように見えましたが、これは些細なことです。そう、

  • そのようなデータからどのような学習ができるのでしょうか?
    • 以前のスパマーの使用パターンに基づいて、IP が広告に対してスパム クリックを行う可能性を予測している可能性があります (はい、会社はそれに関与しています)。
    • トラフィックが急増する時間を予測している可能性があります。
  • 特に活用している既存のツール/プロジェクトはありますか?
  • 同様のことについて話している興味深いリソース/論文はありますか?
  • また、サーバー上で一定時間以上のデータ関連のプロセス アクティビティ。これは学習に役立ちますか?
4

1 に答える 1

28

Wei Xu et al (2010) Experience on Mining Google's Production Console Logs と、彼らが引用している作業をご覧ください。 要するに、彼らは:

  1. ログから識別子を抽出するために、ソース コードからログ テンプレート (「ファイル %s への書き込み」など) を抽出します (ログ内の %s に対応するものは識別子です)。特定のヒューリスティックを使用して、識別子と非識別子を区別します (時間など)。
  2. 生の数値ではなく値の比率を使用します (例: 失敗したコミットとすべてのコミットの比率)
  3. 主成分分析を使用して、そのような特徴のベクトルの異常を発見します。

あなたはおそらく1を行うことはできません。しかし、独自の「パーサー」を書いて変数を抽出できるかもしれません。

また、そのようなデータで攻撃を発見するためのDARPA チャレンジがありましたが、それは 15 年近く前のことです。

splunkのようなツールがいくつかありますが、優れたインターフェイスを除けば、単純な検索とフィルタリング以上のものは提供されません。更新: prelertによる異常検出プラグインがあります。

私はそれ以上のことを知りません。他に何か見つけたら教えてください。

だから私は何をしますか:

  1. ログから特徴/変数を抽出する

おそらく Xu のようにメッセージを生成したソース コードにアクセスすることはできませんが、ログの大部分は少数のパターンでカバーできると思います (たとえば、すべてのファイアウォール ログは同じパターンになります)。これらのログから機能を抽出する正規表現パーサーを作成できます (たとえば、ある時点で接続が拒否されました)。

  1. 異常検出 (PCA、または個々の平均からの偏差) と予測を試してください。
于 2012-10-22T13:41:49.717 に答える