基於消息流日誌的問題分析自動定位智能系統設計

来源:https://www.cnblogs.com/xnchll/archive/2018/03/20/8607678.html
-Advertisement-
Play Games

背景 背景 自動化是持續集成生態中必不可少的一環,起到了一個推動力的作用。因此對於自動化用例報表體現錯誤時候,就會有一個十分麻煩的工作“查錯”或者“問題定位”。如果您是業務專家同時又是十分熟悉自動化平臺,那麼憑藉經驗和技術能力也很快能定位出問題。但是對於開發和測試人員只看到“您提交的代碼,導致什麼錯 ...


  • 背景

自動化是持續集成生態中必不可少的一環,起到了一個推動力的作用。因此對於自動化用例報表體現錯誤時候,就會有一個十分麻煩的工作“查錯”或者“問題定位”。如果您是業務專家同時又是十分熟悉自動化平臺,那麼憑藉經驗和技術能力也很快能定位出問題。但是對於開發和測試人員只看到“您提交的代碼,導致什麼錯誤”、“您輸入的測試數據,產生了什麼錯誤”。他們肯定會一臉蒙逼,那些錯誤鬼知道是哪裡的,心裡肯定不爽提出了對於自動化的質疑“什麼玩意兒?自動化的錯誤吧”。不好意思,這樣的抱怨我覺得沒毛病,因為只有自動化用例開發者可能瞭解那些報錯返回信息。那麼對於被測業務系統報錯還是自動化本身錯誤,這個問題該怎麼去解決呢?

  • 解決方案

對於上述問題解決方法,我想出了一個基於數據分析的方案。這個系統架構圖如下:

 

第一   由於被測業務系統日誌和自動化平臺日誌都是可以收集到的,那麼我們分別對兩個日誌做區分。這裡技術框架用到了消息流式處理,簡單說一下:zk這裡是管理kafka和redis集群的,保證依附這可以健康運行。kafka用來存取和實時傳輸業務日誌和自動化日誌,redis用來存取從kafka獲取(消費)日誌時候的偏移量。再介入正題,加入topic1用來存取業務系統日誌,topic2用來存取自動化平臺日誌,那麼兩個數據源可以保證實時輸入到我們搭建的流式系統中。【簡單說一下選擇流式處理理由:持續集成要求實時性高,用例量比較大,如果採用傳統處理方式效率太低且開發代價很大。】

第二   接下來就是最關鍵的部分,數據分析與處理模塊設計。首先是對於原始數據(原始日誌)做預處理,方法是一個基於python的re模塊,將正則表達式作為一個靈活可變的配置文件,然後通過基於re開發解析公共能力模塊支撐。每次運行載入正則表達式文件,然後得到模板化結構數據,此時的數據都是我們想要的內容與格式。接下來我們根據業務系統日誌特點和自動化日誌特點,設計一個自己的模型,可能就是一堆簡單if else的的堆砌,那也沒關係!只要能達到目的,後續可以在做優化,但是前提這部分要解耦做成一個單獨的模塊。此時在不同的分支就會形成不同的結果,此時就可以區分出不同的錯誤,不用在面對他們的“甩鍋”!這裡將結果存入到mysql中。

第三   接下來就是展示我們分析出來的結果,採用的是django,寫幾個簡單的頁面就可以了。

上邊扔出了磚頭,您是否已經有了自己的答案呢?那請在評論區留下,相互學習。熱枕期待您的寶貴想法與經驗~

  • 寫在最後

最後寫一點優化點吧,也就是體現標題“智能”二字,目前這是架構設計不是那麼的智能。後期引入NLP,打算在【第二】步驟中加入基於nltk的自然語言處理技術。目的是達到對我們篩選出來的重點日誌通過這個評估系統智能識別出是消極的還是積極的,根據實際情況設置評估區間,當然需要大量的訓練才可以得到這個區間。
再一次期待您的分享與交流~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、script引入(聯繫使用,小型項目) 直接下載並用 <script> 標簽引入,Vue 會被註冊為一個全局變數。 <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script> 二、Vue 提供一個官方命令 ...
  • $("body").on("click", ".submit_btn", function() { if (!$("#tel").val()) { alert("手機號不能為空"); $(this).attr("disabled", true); $(this).css({ background: ...
  • 最近閱讀《高性能JavaScript》時,在書中的“達夫設備“ 。 對此,有些感悟,同時有些疑問,希望看到的朋友,能幫忙解釋下,在此先提前感謝了。 1. 先說自己的理解吧: ”達夫設備“的目的是減少迭代次數,提高迴圈的效率,減少時間,提升性能。 感受:感覺代碼的優化,真的需要用工匠精神來雕琢,代碼的 ...
  • 本文原創 如轉載請註明出處!!! 本博客地址http://www.cnblogs.com/we-jack 本文原創,如果有同樣需求的小伙伴請第一時間聯繫我 或者在留言區留言 上次為大家提供了3D模型的展示之後 發現網上有很多想要計算3D模型錶面積和體積的需求 那麼經過掉了幾百根頭髮的艱辛歷程之後 終 ...
  • 最近使用websocket加ECharts做了一個實時監控的功能,發現了一個比較嚴重的問題,就是瀏覽器運行一段時間就會非常卡,之前在ECharts官網運行官方實例“動態數據 + 時間坐標軸”時,也遇到了同樣的情況,只是當時沒有當回事,現在來看原來是記憶體泄漏的問題。那麼是什麼原因導致的記憶體泄漏呢? 通 ...
  • 前端測試存在的問題 在講Sinon之前,我們得先講一下在學習了Mocha、chai以及enzyme之後,我們的前端測試還存在的一些問題。 比如前臺測試需要與後臺交互,獲取後臺數據後再根據相應數據進行測試。 又比如一個函數測試依賴另一個函數,我們可以根據測試的目的去模擬另一個函數,講兩者的測試分開,從 ...
  • 昨天發了一個面試題: "關於一道面試題【字元串 '1 + (5 2) 3',怎麼算出結果為10,'eval'除外】" ,受到了各位大大的指點,用一個比較簡單的解法就能夠計算出來,因此自己在下班後按照各位的指點又實現了一遍,這裡貼出來供大家參考。 瞭解首碼、中綴、尾碼表達式 關於概念這裡簡單貼一下,想 ...
  • 註:文章內容為摘錄性文字,自己閱讀的一些筆記,方便日後查看。 微服務(Microservices) 在過去的 2016 年和 2017 年,微服務技術迅猛普及,和容器技術一起成為這兩年中最吸引眼球的技術熱點。而以 Spring Cloud 為代表的傳統侵入式開發框架,占據著微服務市場的主流地位。 微 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...