幹貨分享:智慧工廠時代下大數據 + 智能的深度實踐
11 月 23 日,由七牛雲主辦的主題為「AI 產業技術的***與融合」的 NIUDAY 小牛匯共享日在北京舉行。會上,七牛雲技術總監陳超為大家帶來了題為《數據智能時代的智慧工廠實踐》的內容分享。
以下是演講內容的實錄整理。
今天要介紹的是智慧工廠的相關內容。本次 NIUDAY 的主題跟 AI 有關,我們這邊其實是結合了大數據跟 AI 的技術去幫助大家解決了一些問題。首先我想介紹下我們的產品主要是用來服務哪些場景的。
Pandora 是一個以大數據技術為基礎的日誌平臺,這張圖可以非常清晰快速的看到整個產品的全貌。
最前面是收集、清洗等繁雜的工作,後面落地到統一的日誌存儲,再到搜索、報表、監控告警、AIOps、多維分析、應用市場等等,我們目前有如下幾個重點場景:
場景 1: IDC 機房監控。現在整個 IT 行業,尤其是傳統企業的變革是非常大的。國內不少的銀行、基金公司、運營商等都是在用我們這套東西,幫他們做一個統一的、精細化的分析與管理。以前運維就是運維,用一些非常簡單的運維軟件收集他們的數據,但是現在的新趨勢是:把運維當做運營來做,並且做的非常精細。
上圖是一個×××的網絡設備監控,但實際上大家會看到,所呈現的不是一個監控告警的東西,而是幫他做了很多報表,做了很多智能分析、預測。這是非常有用的,我們接下來的做法是把一些智能技術快速融入到一些非常傳統的場景裏面,去幫他解決實際問題。
場景 2:應用質量的管理。目前有很多客戶都在用我們應用質量的監控。具體主要是監控告警+檢索+全鏈路分析+趨勢預測。
這也是一家銀行的具體案例,他們采用的是 Tomcat + Spring + MyBatis 這種架構。當時給我們的要求是,他要做到業務代碼全鏈路的端到端的監控,並且要求快速檢索所有的日誌。我們幫他們解決的問題在於端到端的全鏈路的監控,每一步的調用、耗時、出的問題都可以直接展示出來。對方得到的價值在於,幾乎不用改代碼就能知道整個交易系統裏面的底層執行情況。
場景 3:安全審計。所有企業無論是互聯網企業還是傳統企業,他們對安全越來越重視,所以大家看到 Windows 服務器事件、防火墻日誌、××× 日誌等等全部要采集起來做分析。之前的做法其實是和硬件廠商合作,他們的規則非常死,也沒有辦法做特別復雜的分析,尤其沒辦法做關聯分析,因為各家硬件廠商只顧自己的數據,而我們相當於把全部都串起來了,並且非常靈活。
這是一個非常典型的例子,在國內也是一個非常大的 IDC 的提供商,他利用平臺做了各種各樣網絡訪問的分析,包括 IP 分析、域名分析等等。這樣給他帶來的價值在於:現在 IDC 的壓力很大,只要出現一些不法的網站在你那裏運行著,你可能就要背鍋;另外,有些外部的***對於 IDC 的***越來越厲害,並且呈現了一定的規律,怎麽幫他更好的分析,我們這邊也做了很多的工作。
場景 4:統一的日誌管理平臺。實際上七牛雲自己就在使用這套東西,每天往這裏面灌入數據。在會前,我剛剛看了一下,昨天公司內部往裏面灌的裸數據應該是 200 多個 T,包括運維數據、線上的一些審計日誌的數據等等,每天裸數據是 200T,非常龐大。這些數據其實是統一采集、統計,匯聚到統一的日誌裏面做存儲。
大家可以看到,圖上右邊每一個部門其實都在用這些數據來做具體的事情。可以看到以前很多部門跟數據其實沒有關系,例如質量保障部、業務運維部等等,現在他們運用數據做大量的數據,尤其是運維部現在對整個公司的資產。因為七牛雲服務器特別多,需要做非常精細化的管理。比如以前一個部門說服務器不夠了,需要增加幾百臺,可能很容易就批了,但現在如果沒有把資源用好,就不會批了。
此外目前有不少銀行也在采用我們這一套產品作為統一的日誌分析平臺。
場景 5:網絡監控報警去重降噪。報警太多了,告警風暴出來,也不能給出一些建議,也不知道是在什麽地方出了問題。我們幫助解決了一些告警的合並策略,包括根因分析等等,甚至可以給出告警的報表。我們已經在公有雲上線了全新的告警雲平臺,非常的強大和人性化,歡迎大家體驗使用。
場景 6:CDN 質量分析。這個很多互聯網公司都在用。我們的特點在於,之前的 CDN 公司,很難做到每一條訪問日誌的都可以被快速檢索,而我們這邊可以精細化到每一條訪問日誌,任意一個人在任意一個運營商,任意一個地點去點一個東西都能追蹤到,但缺點就是成本相對高一些,所以這方面我們也在做大量的優化。
下面簡單介紹 Pandora 平臺的產品模塊:
收集界面可以完全可視化的收集,幾乎可以看到所有的數據源。
日誌搜索。用過 ES 的都可以發現,我們這個其實是比 ES 功能更強大,可以幫你原生的做出很多報表來,並且可以按照時間、字段進行關聯分析等等。我們也支持上下文的檢索,檢索完一個日誌以後想看看上面發生了什麽,下面發生了什麽都是原生支持的。這個現在叫做搜索即報表,搜索以後直接通過報表的形式呈現,非常方便。
數據立方是為了彌補之前搜索場景的一些弊端。當我的數據表特別寬的時候,效率基本上就沒法提升,所以數據立方本質上解決的是一個多維度的實時的分析。七牛雲現在內部所有的類似於 Nginx 的分析全部都遷移到這上面來了,之前查詢是 15 秒左右,現在我們查詢是 200 毫秒左右,特別快。
數據立方目前應用較多的場景是廣告點擊,然後就是流量實時監控和安全事件的分析。我們每天進入數據立方分析的數據大概在 50 個 T 左右,50 個 T 進去分析完,落地基本只有 50 個 G 或者 100 個 G 左右,所以是一個低成本、高效率的分析引擎。
右邊的圖是我們一個線上的圖,可以看到實時響應的時間是 69 毫秒,過去一天平均響應時間是 67 毫秒,過去七天的時間甚至一個月的時間,實際上拉長時間寬度,監控報表的響應時間也不會變長。
應用服務器監控。有一些應用市場在裏面完全不需要配置,把我們的東西裝好這些內容就自動有了。
全鏈路監控也是在應用市場裏面的,現在應用市場裏面有三塊內容:服務器監控、全鏈路監控、CDN 分析。我們全鏈路的監控可以看出服務拓撲、定位性能瓶頸等等,看到訪問時間落到什麽時間段內,有時候一到高峰期,可能時間就開始變慢了。全鏈路監控能給你從端到端的分析,從前端開始發送數據,到下面每一次調用都可以很強大的把具體的內容顯示出來。七牛雲內部這一塊基本上全部覆蓋了,也就是說大家每次訪問七牛雲存儲的圖片,就有這個東西在背後做支撐。
報表在這裏不細講,我們在這方面做的目前已經相當不錯,客戶反映也非常好。
這個是幫杭州一家公司做的安全的監控大屏,也是比較酷的一個屏幕,讓他們放在運維的大屏幕上。
接下來重點介紹機器學習。
機器學習會有一個特點,我們是做異常檢測的,也就是現在比較流行的 time series 分析。做這個事情如果還要暴露算法的話就對用戶太殘忍了,所以我們花了特別大的功夫在背後大概做了十幾種算法,然後做自動的融合,算法對用戶完全屏蔽。用戶只要選擇一下他的數據源是什麽,就可以幫他做實時分析和預測。
在平臺上要如何使用這個東西?首先,你要對這個數據源做異常檢測,它就會出來一個圖,告訴你我要預測;我要預測多久,說預測一天,右邊紫色的部分就會把預測時間給打出來。所有異常點會在下面展示出來,七牛雲現在整個容量規劃包括一些高峰期的預測全跑在上面,效果是非常好的。
其實這個事情真正的引發了我們跟工廠合作的一個契機,今天展示出來的是一個老版本,我們有一個新版本還沒有發布,是一個完全更自動化的一個 AI 產品。將日誌往裏面打,打完以後機器會自動判斷是否有異常情況,不需要定義異常,機器算法就會幫你發現異常。
這是集成智能告警系統,可以看到整個系統完整性還是比較好的。
這是平臺目前的一些數據,300 多個企業,每天 400T 數據,總數據量 60 個 P,吞吐量 1000 萬條/秒。
智慧工廠實踐案例
智慧工廠的實踐,我們目前跟幾個單位有深度合作,而目跟我們合作最緊密的是晶盛機電(http://www.jsjd.cc/ )。
晶盛機電目前是光伏產業鏈裝備最齊全、技術最強的裝備龍頭企業,相繼開發出具有完全自主知識產權的全自動單晶爐、多晶鑄錠爐、區熔矽單晶爐、藍寶石爐,成功開發並銷售多種光伏智能化裝備。而我們目前的合作,主要是針對單晶爐。
上圖可以看到,在單晶矽的生產過程當中,左邊是他們的爐子,有很多傳感器裝在這個上面,之前是每 5 分鐘或者 15 分鐘甚至一小時才會采集一個點出來,因為數據實在太多,很難高效緊湊的存下來並做進一步分析, 但是這些數據裏面的信息又非常重要。所以我們需要有個更加強大的方式,來做采集、傳輸、存儲、分析及挖掘。
我們做的事情就在這張圖上可以整體顯示出來,從端到端一直跟他們一起合作。在晶盛環境裏,他們做了各廠商數據采集和指標的抽取,抽取之後我們的業務專家會幫他們來初步的提取指標參數跟公式,因為一開始不知道什麽好壞,很難客觀評價。像我們這樣的互聯網公司要做智慧工廠,不了解他們的業務,只靠所謂的 AI 算法,是根本不可能的。所以,我認為「有多少人工就有多少智能」這句話有時候是對的,人工智能這個東西應該是一半一半來看,在前期真的是有多少人工就有多少智能,來跟業務專家一起來觀察。
到一定階段之後,會由量變產生質變。進入七牛雲平臺,把指標公式庫、業務邏輯、元數據、數據處理等全部放進去,基於數據存儲引擎去幫他做一個完整的分析,目前我們主要用到了若幹個個傳統的機器學習方法和兩個深度學習的方法。但是在又遇到一個挑戰,包括前面講的異常檢測一樣,在這個公司裏面做深度學習是不能用 GPU 的,他現場沒有 GPU,所以只能做 CPU,我們對 CPU 算法做了很多優化。
這是我們做的東西,我覺得這個事情有一定的普試性。智能檢測部分,我們做模型訓練、異常檢測、趨勢分析,數據分析那邊做了這個單晶爐的體檢系統,體檢系統指得是我這個爐子出問題需要要檢修了,就不往裏面倒原料來進行單晶提取了。如果原料進入出問題的爐子就要廢掉,光這些原料的錢就要好幾十萬。目前的階段,我們花的最大的力氣是在智能檢測這一端,之前是在數據分析和可視化。
這個是我們給他們看的一個界面,可以看到要跟工藝專家一起來搞出一些評價指標等,再把這個評價指標通過機器學習的方式來進行分解。如果有一個東西不好了,要判斷它是什麽原因引起的,然後再判斷這個原因又是因為什麽原因引起的,層層往下。這個過程像極了傳統運維根因分析的需求,我們要找到造成這個問題的根本原因,用這個理念來幫他做這個事。
可視化就是,一開機就可以體檢爐子是幾分,如果是 60 分以下這個爐子今天就不要生產了。
智能檢測就是利用裏面的一些數據進行檢測,但現在我們覺得,最有價值的地方不是在於明顯的異常點,而是在於一些不是那麽突出的異常點,但是它的趨勢又特別突出,比如突升突降,這種以前是發現不了的。以前的做法就像運維一樣,都是低於這個數或者高於這個數就是異常,但是有些時候,趨勢也可以成為一種異常。
我們把離線訓練跟實時訓練分開來做,離線訓練我們做了一些離線數據集。之前單晶爐的歷史數據進行一系列的無監督算法,來進行一個打標的過程。打標之後會有一個投票策略,保留正樣本和負樣本,丟棄中間樣本。
然後從無監督算法出來以後,帶有一個 label 的一套數據集,這樣真正進入我們給他使用的數據集裏面,就是深度學習算法。當數據進來以後會跟下面的實時數據直接做融合,相當於最終給用戶看的數據全部是由深度學習的算法來做的。傳統的機器學習在這邊主要是用來做打標的過程。我們其實做了一些嘗試,就是在不改變邏輯的情況下,移植到另外一個工廠的設備當中發現它完全可用,但是只發現有結果,沒有辦法從業務上以及從他們真正的場景上解釋,因為不懂業務,所以做這些事情需要真正懂業務的人 + 技術專家一起做。
目前我們雙方仍然還在一起努力完善這套系統,我相信在不久的將來,這套系統一定會大放異彩。
以上是我的分享內容,謝謝大家!
幹貨分享:智慧工廠時代下大數據 + 智能的深度實踐