成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Logreduce:用Python和機器學習去除日志噪音

開發 后端 機器學習
為了更容易地將最相關的數據與其余數據分開,可以使用先前成功運行的作業結果來訓練 Logreduce 機器學習模型,以從失敗的運行日志中提取異常。

Logreduce 可以通過從大量日志數據中挑選出異常來節省調試時間。

持續集成(CI)作業會生成大量數據。當一個作業失敗時,弄清楚出了什么問題可能是一個繁瑣的過程,它涉及到調查日志以發現根本原因 —— 這通常只能在全部的作業輸出的一小部分中找到。為了更容易地將最相關的數據與其余數據分開,可以使用先前成功運行的作業結果來訓練 Logreduce 機器學習模型,以從失敗的運行日志中提取異常。

此方法也可以應用于其他用例,例如,從 Journald 或其他系統級的常規日志文件中提取異常。

使用機器學習來降低噪音

典型的日志文件包含許多標稱事件(“基線”)以及與開發人員相關的一些例外事件。基線可能包含隨機元素,例如難以檢測和刪除的時間戳或唯一標識符。要刪除基線事件,我們可以使用 k-最近鄰模式識別算法(k-NN)。

日志事件必須轉換為可用于 k-NN 回歸的數值。使用通用特征提取工具 HashingVectorizer 可以將該過程應用于任何類型的日志。它散列每個單詞并在稀疏矩陣中對每個事件進行編碼。為了進一步減少搜索空間,這個標記化過程刪除了已知的隨機單詞,例如日期或 IP 地址。

訓練模型后,k-NN 搜索可以告訴我們每個新事件與基線的距離。

這個 Jupyter 筆記本 演示了該稀疏矩陣向量的處理和圖形。

Logreduce 介紹

Logreduce Python 軟件透明地實現了這個過程。Logreduce 的最初目標是使用構建數據庫來協助分析 Zuul CI 作業的失敗問題,現在它已集成到 Software Factory 開發車間的作業日志處理中。

最簡單的是,Logreduce 會比較文件或目錄并刪除相似的行。Logreduce 為每個源文件構建模型,并使用以下語法輸出距離高于定義閾值的任何目標行:distance | filename:line-number: line-content

  1. $ logreduce diff /var/log/audit/audit.log.1 /var/log/audit/audit.log
  2. INFO  logreduce.Classifier - Training took 21.982s at 0.364MB/s (1.314kl/s) (8.000 MB - 28.884 kilo-lines)
  3. 0.244 | audit.log:19963:        type=USER_AUTH acct="root" exe="/usr/bin/su" hostname=managesf.sftests.com
  4. INFO  logreduce.Classifier - Testing took 18.297s at 0.306MB/s (1.094kl/s) (5.607 MB - 20.015 kilo-lines)
  5. 99.99% reduction (from 20015 lines to 1

更高級的 Logreduce 用法可以離線訓練模型以便重復使用。可以使用基線的許多變體來擬合 k-NN 搜索樹。

  1. $ logreduce dir-train audit.clf /var/log/audit/audit.log.*
  2. INFO  logreduce.Classifier - Training took 80.883s at 0.396MB/s (1.397kl/s) (32.001 MB - 112.977 kilo-lines)
  3. DEBUG logreduce.Classifier - audit.clf: written
  4. $ logreduce dir-run audit.clf /var/log/audit/audit.log

Logreduce 還實現了接口,以發現 Journald 時間范圍(天/周/月)和 Zuul CI 作業構建歷史的基線。它還可以生成 HTML 報告,該報告在一個簡單的界面中將在多個文件中發現的異常進行分組。

管理基線

使用 k-NN 回歸進行異常檢測的關鍵是擁有一個已知良好基線的數據庫,該模型使用數據庫來檢測偏離太遠的日志行。此方法依賴于包含所有標稱事件的基線,因為基線中未找到的任何內容都將報告為異常。

CI 作業是 k-NN 回歸的重要目標,因為作業的輸出通常是確定性的,之前的運行結果可以自動用作基線。 Logreduce 具有 Zuul 作業角色,可以將其用作失敗的作業發布任務的一部分,以便發布簡明報告(而不是完整作業的日志)。只要可以提前構建基線,該原則就可以應用于其他情況。例如,標稱系統的 SoS 報告 可用于查找缺陷部署中的問題。

異常分類服務

下一版本的 Logreduce 引入了一種服務器模式,可以將日志處理卸載到外部服務,在外部服務中可以進一步分析該報告。它還支持導入現有報告和請求以分析 Zuul 構建。這些服務以異步方式運行分析,并具有 Web 界面以調整分數并消除誤報。

已審核的報告可以作為獨立數據集存檔,其中包含目標日志文件和記錄在一個普通的 JSON 文件中的異常行的分數。

項目路線圖

Logreduce 已經能有效使用,但是有很多機會來改進該工具。未來的計劃包括:

  • 策劃在日志文件中發現的許多帶注釋的異常,并生成一個公共域數據集以進行進一步研究。日志文件中的異常檢測是一個具有挑戰性的主題,并且有一個用于測試新模型的通用數據集將有助于識別新的解決方案。
  • 重復使用帶注釋的異常模型來優化所報告的距離。例如,當用戶通過將距離設置為零來將日志行標記為誤報時,模型可能會降低未來報告中這些日志行的得分。
  • 對存檔異常取指紋特征以檢測新報告何時包含已知的異常。因此,該服務可以通知用戶該作業遇到已知問題,而不是報告異常的內容。解決問題后,該服務可以自動重新啟動該作業。
  • 支持更多基準發現接口,用于 SOS 報告、Jenkins 構建、Travis CI 等目標。

如果你有興趣參與此項目,請通過 #log-classify Freenode IRC 頻道與我們聯系。歡迎反饋!

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2021-07-29 13:06:29

Python機器學習編程語言

2018-11-07 09:00:00

機器學習模型Amazon Sage

2017-11-24 10:43:43

Madlib機器學習

2012-12-20 11:13:58

IBMdW

2022-01-18 09:21:17

Python機器學習黃金價格

2023-05-16 08:31:04

2020-11-10 08:37:05

Python線性回歸機器學習

2020-09-10 11:20:37

Python機器學習人工智能

2020-12-16 15:56:26

機器學習人工智能Python

2022-08-09 13:44:37

機器學習PySpark M數據分析

2017-09-01 10:32:56

2017-11-20 10:58:32

2021-11-26 10:39:42

PythonPDF 水印

2022-11-10 16:00:21

Python機器學習編程語言

2023-03-30 11:38:56

機器學習邏輯規則數量

2015-07-22 16:16:47

PythonScikit-Lear機器學習

2021-08-21 14:30:58

機器學習bilibili股價

2021-08-23 11:15:20

Python機器學習bilibili

2015-08-31 10:17:14

2024-11-29 12:00:00

Python機器學習
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩视频高清 | 精品久久国产 | 日韩免费看片 | 九九久久精品视频 | 四虎在线观看 | 日韩福利视频 | 中文字幕亚洲国产 | 欧美一级毛片久久99精品蜜桃 | 国产一区 在线视频 | 国产91一区二区三区 | 成人免费淫片aa视频免费 | 男人天堂色 | 欧美一区日韩一区 | 请别相信他免费喜剧电影在线观看 | 成人日韩 | 久久黄网| 亚洲在线| 日本黄色影片在线观看 | 日韩一区精品 | 久草在线 | 亚洲精品日韩在线 | 一级毛片免费看 | 成人精品鲁一区一区二区 | 亚洲欧美一区二区三区视频 | 91视频官网 | 久久亚洲欧美日韩精品专区 | 国产欧美精品一区二区三区 | 综合久久99| 久久99精品久久久久子伦 | 亚洲高清视频一区二区 | 国产成人精品一区二区三区四区 | 欧美一区二区三区四区视频 | 国产午夜精品一区二区三区嫩草 | 国产精品亚洲第一区在线暖暖韩国 | 国产中文字幕亚洲 | 国产成人精品网站 | 国产精品小视频在线观看 | 久久一区二区精品 | 亚洲精品乱码久久久久久蜜桃91 | 亚洲国产一区视频 | 91国内精品 |