最近中文字幕2019高清,亚洲人成高清在线播放,男生淦哭男生图片动漫有字,国产亚洲精品九九久在线观看,无码av专区丝袜专区

可能是整個(gè)網(wǎng)絡(luò )上最全面的文章,介紹監視功能

優(yōu)采云 發(fā)布時(shí)間: 2020-08-06 17:09

  在當今擁有數億服務(wù)和海量數據的情況下,對Internet服務(wù)的要求是三高,高并發(fā),高性能和高可用性. 為了實(shí)現“三高”,程序員確實(shí)可以盡力在技術(shù)架構中使用微服務(wù)架構,在部署方法中使用Docker和Kubernetes,在彈性擴展中使用云計算. 我今天想向您介紹的是應用程序監視系統. 監視就像是應用程序的關(guān)注者. 您知道自己要去哪里,做什么并記錄下來(lái). 通過(guò)建立監視系統,可以在應用程序出現問(wèn)題時(shí)快速“回放”應用程序跟蹤以查找原因. 從長(cháng)遠來(lái)看,它還可以預測故障的發(fā)生并提前避免.

  那么應用程序系統是什么樣的?用戶(hù)通過(guò)PC或智能終端(移動(dòng)電話(huà))上的瀏覽器或APP向應用程序發(fā)起請求,然后該請求通過(guò)網(wǎng)絡(luò )傳輸到業(yè)務(wù)系統. 業(yè)務(wù)系統的功能通過(guò)應用程序框架和中間件運行,并且操作系統依賴(lài)于操作系統來(lái)運行. 系統需要諸如網(wǎng)卡之類(lèi)的網(wǎng)絡(luò )設備與外界建立通信,并且已安裝了此整套軟件機房中安裝了諸如服務(wù)器,網(wǎng)卡等硬件設備上的硬件. 因此,對應用程序系統的全棧監視包括APP監視,瀏覽器監視,服務(wù)器監視,網(wǎng)絡(luò )監視,日志監視,基礎結構監視和物理環(huán)境監視.

  APP監控

  當前,APP的主流操作系統是Android和IOS. 因此,每個(gè)APP在開(kāi)發(fā)時(shí)都會(huì )有兩個(gè)版本. APP的開(kāi)發(fā)過(guò)程是根據產(chǎn)品要求開(kāi)發(fā)功能. 開(kāi)發(fā)完成后,單擊相應的Android程序包和IOS. 該軟件包在A(yíng)ndroid應用商店和Apple應用產(chǎn)品中啟動(dòng). 因此,對APP的監視是在包裝過(guò)程中將探針安裝在相應的應用程序包中,以形成用于外部發(fā)布的正式程序包.

  當用戶(hù)的手機下載APP并使用APP的各種功能時(shí),探針也會(huì )記錄整個(gè)行為軌跡. 該探針采集兩種類(lèi)型的數據: 用戶(hù)數據和APP操作數據. 用戶(hù)數據包括地區,城市,設備操作系統,使用時(shí)間和設備定位的次數. 運行數據包括APP的運行網(wǎng)絡(luò )狀況,阻塞狀況和運行緩慢. . 獲取用戶(hù)數據和運營(yíng)數據后,您可以進(jìn)行運營(yíng)分析和運維監控,了解已開(kāi)發(fā)APP用戶(hù)的日?;顒?dòng),訪(fǎng)問(wèn)區域,訪(fǎng)問(wèn)版本等,并幫助產(chǎn)品操作學(xué)員優(yōu)化和迭代產(chǎn)品并提供建議通過(guò)運維數據,可以了解用戶(hù)是否以黑屏打開(kāi)APP,是否卡死,運行緩慢,是否被運營(yíng)商劫持,以幫助研發(fā)人員快速解決問(wèn)題和解決問(wèn)題. 提高用戶(hù)保留率.

  瀏覽器監視

  瀏覽器監視起源于早期的Internet時(shí)代. 購物,票務(wù),辦公室工作等都在PC端進(jìn)行. 隨著(zhù)移動(dòng)互聯(lián)網(wǎng)的興起,它已逐漸被削弱,但它是必不可少的,因此瀏覽設備監視也是監視系統中必不可少的部分. 瀏覽器監視系統還收錄三個(gè)部分: 探針采集數據并將其發(fā)送到后端,后端將數據處理到前端,然后前端將其呈現給用戶(hù).

  探針的實(shí)現取決于應用程序的運行方式. 對于瀏覽器應用程序,前端主要基于HTML / CSS和JavaScript開(kāi)發(fā). 用戶(hù)在瀏覽器中輸入URL,然后首先查詢(xún)地址是否對應于本地緩存. 如果沒(méi)有IP地址,請使用DNS進(jìn)行域名解析,以找到提供該服務(wù)的地址,然后對該地址執行TCP三向握手連接,發(fā)送請求以獲取請求的數據,并在之后進(jìn)行數據分析. 獲取數據,包括HTML文檔分析,DOM構建,頁(yè)面渲染,最后呈現給可視化頁(yè)面的用戶(hù).

  因此,瀏覽器探針是一段JS代碼,它通過(guò)瀏覽器加載事件,導航事件等獲取頁(yè)面訪(fǎng)問(wèn)數據,例如瀏覽器基本信息,采集頁(yè)面性能數據,采集Ajax性能數據和請求響應數據,然后,將JS錯誤數據,頁(yè)面跟蹤數據等發(fā)送到后臺進(jìn)行處理,以形成用戶(hù)操作數據(例如頁(yè)面PV,操作員信息,瀏覽器信息,訪(fǎng)問(wèn)城市和省會(huì )信息),操作和維護數據(例如Ajax錯誤信息,JS慢速頁(yè)面信息),以幫助操作人員了解產(chǎn)品用戶(hù)狀況,更好地促進(jìn)市場(chǎng)營(yíng)銷(xiāo),并幫助R&D運維團隊解決產(chǎn)品生產(chǎn)環(huán)境中的功能性能問(wèn)題.

  服務(wù)器監視

  對于服務(wù)器監視,它主要監視后端系統的操作. 因為Java,Python,PHP,.Net / .NetCore,C / C ++,Golang和其他語(yǔ)言都可以開(kāi)發(fā)后端應用程序,所以服務(wù)器探針還包括針對多種語(yǔ)言的各種探針. 從這八種開(kāi)發(fā)語(yǔ)言的特點(diǎn)來(lái)看,已經(jīng)編譯了一些語(yǔ)言,這意味著(zhù)可以在運行之前將源代碼翻譯成機器代碼,例如Golang,C / C ++;一些語(yǔ)言會(huì )被解釋?zhuān)趫绦袝r(shí)會(huì )翻譯,例如PHP,Python;有些語(yǔ)言在編譯和解釋之間是混合的,即將代碼編譯成中間代碼,然后在該語(yǔ)言提供的平臺上運行,例如Java,.Net / .NetCore. 因此,不同類(lèi)型語(yǔ)言的探測實(shí)現是不同的.

  對于解釋語(yǔ)言,使用HookApi. 例如,Python需要在操作期間調用框架和函數. 因此,Python探針需要為每個(gè)框架和數據庫專(zhuān)門(mén)定義Hook函數. 該探針會(huì )將我們編寫(xiě)的Hook函數(用于WEB框架,WSGI,數據庫等)添加到sys_meta_path中,以便用戶(hù)函數將在執行后首先執行我們定義的Hook函數以采集數據;對于已編譯的語(yǔ)言,請使用SDK. 總體思路與HookAPI相同. 不同之處在于SDK已完全封裝;對于混合語(yǔ)言,它以代理方式實(shí)現. 例如,Java探針是在JavaSE的Instrumentation上開(kāi)發(fā)的,并以Java代碼進(jìn)行編譯. 那時(shí),執行了代碼注入. Java探針已附加到Java進(jìn)程. 它創(chuàng )建了多個(gè)線(xiàn)程來(lái)采集和匯總數據,而不是創(chuàng )建一個(gè)新進(jìn)程. 如下圖所示,當通過(guò)ClassLoader將用戶(hù)的類(lèi)A.class加載到JVM中時(shí),將使用Javaagent嵌入監視代碼以生成A'.class. 當用戶(hù)請求進(jìn)入時(shí),引擎將查找A'.class來(lái)執行常規業(yè)務(wù)邏輯. 執行邏輯后,引擎將監視數據寫(xiě)入監視數據緩沖區(即,一次采集周期),并將每60秒將數據發(fā)送到服務(wù)器以清除緩沖區.

  

  該探針采集應用程序運行功能,調用數據庫,第三方服務(wù),消息中間件,下一個(gè)業(yè)務(wù)系統的持續時(shí)間和調用語(yǔ)句的時(shí)間運行軌跡,并在后端處理和分析之后,提供完整的信息. 用戶(hù)應用程序調用的鏈接拓撲圖,函數執行堆棧,函數響應時(shí)間和調用時(shí)間,慢速/錯誤SQL語(yǔ)句,慢速外部調用語(yǔ)句,幫助開(kāi)發(fā)人員了解整體業(yè)務(wù)運作,快速定位和分析后端錯誤以及優(yōu)化應用程序性能.

  網(wǎng)絡(luò )監控

  對于網(wǎng)絡(luò )監視,主要是在應用程序運行期間獲取網(wǎng)絡(luò )狀況并在數據傳輸期間定位網(wǎng)絡(luò )問(wèn)題. 實(shí)*敏*感*詞*融和其他行業(yè)都使用這種監視方法.

  日志監控

  日志是服務(wù)的運行軌跡. 所有服務(wù)在運行期間都會(huì )生成日志. 主要有五種類(lèi)型: 主機日志,網(wǎng)絡(luò )設備日志,應用程序日志,中間件日志和數據庫日志. 日志監控的實(shí)現邏輯是通過(guò)日志探針獲取數據源,上傳日志,與MQ隊列接口對接,然后在后臺對其進(jìn)行處理和分析,最后將其呈現在前端. 用戶(hù)可以根據前端業(yè)務(wù)問(wèn)題的時(shí)間范圍,在一段時(shí)間內獲取日志,也可以輸入關(guān)鍵字進(jìn)行查詢(xún). 日志可以了解應用程序的本機操作,并幫助開(kāi)發(fā)人員快速定位問(wèn)題. 日志平臺的兩個(gè)最重要的功能是存儲大量數據和快速搜索的能力. 對于搜索,Eleasearch大數據通常用于提供數據存儲和搜索功能.

  基礎設施監控

  基礎結構包括物理機房,服務(wù)器,網(wǎng)絡(luò )設備,中間件,數據庫,存儲,虛擬化等. 基礎結構的監視包括機房操作環(huán)境的溫度和濕度,服務(wù)器的CPU內存磁盤(pán)網(wǎng)絡(luò )以及數據庫的類(lèi)型,版本,字符集,IP端口,狀態(tài),安裝路徑和數據庫大小等. 對于非物理機房類(lèi)型,實(shí)現邏輯是通過(guò)各種協(xié)議(SNMP,WMI, Telnet,SSH,IPMI,JMX,JDBC,Agent等),然后通過(guò)協(xié)議分析數據,執行后臺處理,并將前端呈現給用戶(hù);物理機房的實(shí)現邏輯是通過(guò)API接口調用服務(wù)器的數據. 通過(guò)基礎架構監視,運維人員可以全景查看整個(gè)企業(yè)的實(shí)際狀況. 機房下電或服務(wù)器CPU內存指示燈異常時(shí),可以通過(guò)升級硬件解決.

  通過(guò)介紹上述各種監視平臺,我相信您對監視產(chǎn)品的類(lèi)型,監視的用途和價(jià)值以及實(shí)現原理有清楚的了解. 對于研發(fā)人員而言,選擇合適的監控產(chǎn)品可以在業(yè)務(wù)運營(yíng)過(guò)程中花費一半的精力獲得兩倍的結果,并大大提高開(kāi)發(fā)效率;對于運維人員,選擇合適的監控產(chǎn)品也將改善業(yè)務(wù)運維流程. 可以保證業(yè)務(wù)的正常運行,提高用戶(hù)滿(mǎn)意度;對于想要開(kāi)始監視的學(xué)生,每個(gè)方向的監視原理和用戶(hù)價(jià)值都非常清楚. 根據自己的興趣,選擇最合適的運維監控領(lǐng)域.

  因此,本文可能是整個(gè)網(wǎng)絡(luò )上最全面的介紹監視的文章. 如果愿意,記得與更多朋友分享“好看的東西”?

0 個(gè)評論

要回復文章請先登錄注冊


官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

最近中文字幕2019高清,亚洲人成高清在线播放,男生淦哭男生图片动漫有字,国产亚洲精品九九久在线观看,无码av专区丝袜专区