一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何用機器學習解決數(shù)據(jù)庫運維難題

西西 ? 來源:feiyan ? 作者:51cto ? 2018-12-02 10:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

回顧整個運維的發(fā)展史,從最開始的系統(tǒng)管理到基礎(chǔ)腳本運維,再到自動化運維,最后發(fā)展到了智能運維。經(jīng)過這些年的發(fā)展,運維人員的工作內(nèi)容發(fā)生了翻天覆地的變化:

十幾年前,我們不知道故障會出現(xiàn)在哪,也不知道什么時候會出現(xiàn)故障,只有在故障出現(xiàn)的時候才能去查找根因并解決故障,這是一種很被動的方法。

到后來大規(guī)模的腳本引入,我們處理問題的方式變得更加科學了,速度也差強人意,但還是沒有改變這一種被動解決問題的本質(zhì)現(xiàn)象;有了先前的經(jīng)驗,很多公司引入了監(jiān)控系統(tǒng),發(fā)展了自己的自動化運維平臺,旨在問題發(fā)生或者即將發(fā)生時能夠自動地去解決問題,這種方式剛突破了之前所有的“被動運維”的本質(zhì),能夠防患于未然,將故障扼殺在搖籃中。但與之而來的卻是大量的告警及海量的監(jiān)控數(shù)據(jù),如何更加高效地解決故障成了我們現(xiàn)在必須解決的難題。

人工智能時代的來臨恰好解決了上面我們所面臨的問題,而AIOps就是希望基于已有的運維數(shù)據(jù)(日志、監(jiān)控信息、應用信息等),并通過機器學習的方式來進一步解決自動化運維沒辦法解決的問題。

我們目前正在積極推動數(shù)據(jù)庫運維從自動化到智能化的轉(zhuǎn)變。眾所周知,數(shù)據(jù)挖掘和機器學習離不開海量的數(shù)據(jù)作為基礎(chǔ),而平安科技通過這幾年的自動化運維的應用,已經(jīng)積累了海量多維的數(shù)據(jù)庫性能數(shù)據(jù)、日志數(shù)據(jù)和主機數(shù)據(jù)。

利用這些數(shù)據(jù),我們可以通過機器學習等方法在時間序列異常檢測、根因分析、郵件告警收斂、容量預測等多個應用場景中獲取我們想要的信息,從而進行故障的自動發(fā)現(xiàn)、自動診斷和自動解決。

一、時間序列異常檢測

時序數(shù)據(jù)是AIOps的基礎(chǔ)數(shù)據(jù),有著規(guī)模大、種類多、需求多樣的特點。在自動化運維階段,我們所采用的大多是恒定閾值的方法。

這種方法簡單易實現(xiàn),但是缺點也顯而易見:它不夠靈活,發(fā)現(xiàn)故障也不夠及時,無法滿足現(xiàn)在的告警需求。如下圖所示,傳統(tǒng)的閾值告警會忽略掉兩個波動的異常:

恒定閾值方法

動態(tài)閾值的方法在此時應運而生,傳統(tǒng)的動態(tài)閾值的方法采用了基于同比和環(huán)比的統(tǒng)計方法,這種方法解釋性強,易于實現(xiàn),但是靈活性較差,受節(jié)假日影響較大(如下圖中,9月24號為中秋節(jié),流量和上周相比下降明顯,此時環(huán)比和同比的方法不適用),發(fā)現(xiàn)問題也不夠及時。

還有許多公司采用帶權(quán)移動平均的方法來做動態(tài)閾值,他們認為在同一個維度下,某一個點的數(shù)值必然和它之前一段時間的數(shù)據(jù)有關(guān),如以下公式所示:

9/18-9/25指標數(shù)據(jù)圖

我們目前正將機器學習應用在時序數(shù)據(jù)異常檢測中,和上述方法相比,機器學習的方法更為準確,成本也更大。

時間序列異常檢測本質(zhì)上也可以看做“正?!焙汀爱惓!钡亩诸悊栴},通過將歷史的監(jiān)控數(shù)據(jù)打上標簽,再將有監(jiān)督和無監(jiān)督算法結(jié)合建立模型,可以判斷當前的時間序列是否是正常的。

如何用機器學習解決數(shù)據(jù)庫運維難題

二、根因分析

大多數(shù)情況下,由于監(jiān)控指標的相關(guān)聯(lián)性,如果某個指標異常了,很多相關(guān)指標也會異常。如果同時對所有的告警指標進行分析和處理,會浪費許多人力。為了解決這個問題,我們需要進行根因分析來進行針對性處理。

通常我們可以通過下列3種方法對數(shù)據(jù)進行根因分析:

相關(guān)度指標獲取,找到和異常指標在特定時間段內(nèi)相似的指標。

在大量的樣本中,找出經(jīng)常一起出現(xiàn)的異常指標(該問題就轉(zhuǎn)換成了頻繁序列挖掘問題),實現(xiàn)方法有關(guān)聯(lián)規(guī)則、APRIORI、FP_GROTH等。

利用決策樹的強可解釋性,對正負樣本進行分類,然后通過異常指標的分類樹途徑,找到頻繁的異常指標集。

以O(shè)racle數(shù)據(jù)庫的DB_TIME偏高為例:

第一種方法找出當前時間段內(nèi)與DB_TIME指標有相似曲線的指標,并將最相似指標TOP N作為根因;

第二種方法則是在歷史數(shù)據(jù)中,當DB_TIME異常時,把其他異常的指標組成若干個項集,再從這些項集里面利用關(guān)聯(lián)規(guī)則找出強相關(guān)組合,則這些組合中的其他指標被視為根因;

第三種方法,則是在歷史數(shù)據(jù)中根據(jù)DB_TIME是否異常,將歷史數(shù)據(jù)分為正、負樣本,訓練決策樹模型得到最終的根因。

如何用機器學習解決數(shù)據(jù)庫運維難題

根因分析方法一

如何用機器學習解決數(shù)據(jù)庫運維難題

根因分析方法二

根因分析方法三

三、告警收斂

當監(jiān)控業(yè)務(wù)發(fā)展到一定規(guī)模時,每日收到的告警郵件數(shù)會呈指數(shù)型增長,尤其是一些監(jiān)控頻率較高的監(jiān)控項出現(xiàn)問題時,這種情況特別明顯。

為了解決這一問題,在最開始,我們設(shè)定了告警頻率,讓同一種告警在一段時間內(nèi)只出現(xiàn)一次。

這種方法確實會減少一部分告警,但是還有一些顯而易見的告警可以通過制定規(guī)則的方法來實現(xiàn)進一步的告警收斂。比如同一個集群內(nèi)的數(shù)據(jù)庫都出現(xiàn)了ping不通的問題,又比如同一個網(wǎng)段內(nèi)的所有IP流量突增,就可以將這些告警整合后再發(fā)送。

而在AIOps時代,告警收斂和根因分析往往是一起進行的。

和根因分析方法二類似,我們可以先獲取告警項集數(shù)據(jù),并提取頻繁項。如果在頻繁告警項集中,告警A和告警B經(jīng)常一起出現(xiàn)并且在A出現(xiàn)的時間比B早,則在郵件告警中,我們可以忽略B告警,只將A告警推送給運維人員。

不同場景下的告警收斂有著不同的需求,和AIOps相比,傳統(tǒng)的告警收斂方法更加簡單和高效,基于規(guī)則的方法也具有很強的拓展性和解釋性;而AIOps卻能挖掘出我們利用常識和經(jīng)驗無法發(fā)現(xiàn)的關(guān)聯(lián)項并進行告警收斂。

四、容量預測

容量預測在數(shù)據(jù)庫運維中的很多地方都應用著,不同的應用場景有不同的特性,我們很難找到一個模型去適應所有的數(shù)據(jù)。

在容量預測上,我們的典型應用是數(shù)據(jù)庫DB_SIZE容量預測,數(shù)據(jù)庫容量具有總體上升、無規(guī)律、波動大的特點。對數(shù)據(jù)庫容量進行合理的預測,短期可以提前發(fā)現(xiàn)可能的故障,進行主動預防和提前解決,無需在問題發(fā)生時被動處理;長期可以進行合理的容量規(guī)劃和資源分配。

最開始,我們想到的是線性回歸加上簡單的數(shù)據(jù)預處理,但是結(jié)果十分不理想。由于業(yè)務(wù)規(guī)模的落差,不同數(shù)據(jù)庫的容量有著很大的差別,并且在數(shù)據(jù)庫進行導表,擴容等操作時,線性擬合或者非線性擬合的效果不盡人意。

顯然,傳統(tǒng)的線性回歸方法雖然簡單,但是預測效果較差,不能滿足要求。為了解決這一問題,我們將容量數(shù)據(jù)進行了分類,分為周期型和突升突降型,分類的方法可以采用統(tǒng)計方法,也可以使用聚類或分類的方法。

對于周期型數(shù)據(jù),我們可以認為其實線性可擬合的,因為在總體上升的趨勢上,周期型的數(shù)據(jù)在周期內(nèi)的增長值是線性遞增的。對于這種類型的數(shù)據(jù),我們可以采用線性回歸的機器學習方法來對數(shù)據(jù)庫容量進行預測。

周期型數(shù)據(jù)

而對于突增突降型的數(shù)據(jù),線性擬合效果較差,這時我們使用環(huán)比增量求和的方法,求得歷史數(shù)據(jù)中星期一到星期天的具體每天增量的加權(quán)平均值;再將這個增量應用到預測中。和單純的線性擬合方法相比,這種方法的準確性提高了很多,平均預測數(shù)據(jù)的均方殘差縮小了近一倍。

突升突降型數(shù)據(jù)

以上四個應用場景的技術(shù)開拓都是致力于通過AI讓運維更加高效,讓更多的故障可以被提前發(fā)現(xiàn)和解決。關(guān)于AIOps,我們還有很多東西可以去嘗試和探索,如智能問答機器人、日志集中分析平臺等,后續(xù)有相關(guān)成果再與大家分享。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3927

    瀏覽量

    66266
  • 機器學習
    +關(guān)注

    關(guān)注

    66

    文章

    8503

    瀏覽量

    134646
  • 運維
    +關(guān)注

    關(guān)注

    1

    文章

    270

    瀏覽量

    8179
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    何用labview顯示數(shù)據(jù)庫的表格內(nèi)容

    何用labview顯示數(shù)據(jù)庫的表格內(nèi)容?謝謝
    發(fā)表于 05-16 10:27

    數(shù)組導入數(shù)據(jù)庫問題

    數(shù)組導入數(shù)據(jù)庫,下面是我的程序,感覺效率不高,有沒有有其他方法,可以提高效率的?試過一次導入簇數(shù)組,不行,報錯,不知道是不是那里寫錯了最好可以上圖,還在學習中,很多不懂
    發(fā)表于 10-20 16:15

    請教如何用SQL語句來壓縮ACCESS數(shù)據(jù)庫

    通過對ACCESS數(shù)據(jù)庫的“修復與壓縮”會使程序的運行更加穩(wěn)定和提高運行速度?!埥倘?b class='flag-5'>何用SQL語句來壓縮ACCESS數(shù)據(jù)庫,只用SQL語句喲!謝謝!
    發(fā)表于 11-29 21:54

    何用labview創(chuàng)建SQLite數(shù)據(jù)庫

    何用labview創(chuàng)建SQLite數(shù)據(jù)庫,謝謝
    發(fā)表于 01-22 17:19

    請問查詢sql數(shù)據(jù)庫的表格結(jié)果都是升序排列的,如何用降序排列?二數(shù)組排列也只能升序?

    本帖最后由 一只耳朵怪 于 2018-5-25 10:46 編輯 求教 查詢sql數(shù)據(jù)庫 的表格結(jié)果都是升序排列的 如何用降序排列 二數(shù)組排列也只能升序
    發(fā)表于 05-25 10:36

    學習Linux發(fā)展方向

    發(fā)布等工作需求,如果公司較小的話,可能還會兼職一下網(wǎng)管、網(wǎng)絡(luò)工程師、數(shù)據(jù)庫管理員、安全工程師、技術(shù)支持等職務(wù)?! ∧敲矗婕暗降腖inux平臺上的工具有哪些呢?答曰:Linux系統(tǒng),Linux
    發(fā)表于 07-25 17:15

    跨平臺嵌入式數(shù)據(jù)庫EffiProz介紹

    EffiProz:面向.NET程序員的跨平臺嵌入式數(shù)據(jù)庫 EffiProz:面向.NET程序員的跨平臺嵌入式數(shù)據(jù)庫EffiProz:面向.NET程序員的跨平臺嵌入式數(shù)據(jù)庫作者 Jonathan Allen 譯者 張龍 發(fā)布于 2
    發(fā)表于 12-21 06:00

    ADO 控件訪問數(shù)據(jù)庫的各種技巧探討

    本文講述了使用ADO 控件訪問數(shù)據(jù)庫時如何用程序來實現(xiàn)數(shù)據(jù)庫的連接和數(shù)據(jù)感知控件與數(shù)據(jù)庫的綁定、如何實現(xiàn)動態(tài)查詢和動作查詢以及如
    發(fā)表于 06-10 14:35 ?31次下載

    數(shù)據(jù)庫,數(shù)據(jù)庫是什么意思

    數(shù)據(jù)庫,數(shù)據(jù)庫是什么意思 數(shù)據(jù)是當今信息社會的一種極為重要的資源,人們的一切活動都離不開數(shù)據(jù)。如學校中的學生檔案、學習成績記錄、學
    發(fā)表于 03-18 15:05 ?5258次閱讀

    SQL Server數(shù)據(jù)庫學習總結(jié)

    經(jīng)過一段時間的學習,也對數(shù)據(jù)庫有了一些認識。數(shù)據(jù)庫基本是由表,關(guān)系,操作組成;對于初學者首先要學的:1.數(shù)據(jù)庫是如何存儲數(shù)據(jù)的.表,約束,觸
    發(fā)表于 11-28 17:36 ?4817次閱讀
    SQL Server<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>學習</b>總結(jié)

    MySQL數(shù)據(jù)庫誤刪后的回復技巧

    在日常工作中,對于數(shù)據(jù)庫的備份是至關(guān)重要的!數(shù)據(jù)庫對于網(wǎng)站的重要性使得我們對 MySQL 數(shù)據(jù)庫的管理不容有失!然而是人總難免會犯錯誤,
    發(fā)表于 05-05 08:02 ?2470次閱讀
    MySQL<b class='flag-5'>數(shù)據(jù)庫</b>誤刪后的回復技巧

    數(shù)據(jù)庫學習教程之數(shù)據(jù)庫的發(fā)展狀況如何數(shù)據(jù)庫有什么新發(fā)展

    本文檔的主要內(nèi)容詳細介紹的是數(shù)據(jù)庫學習教程之數(shù)據(jù)庫的發(fā)展狀況如何數(shù)據(jù)庫有什么新發(fā)展主要內(nèi)容包括了:1 數(shù)據(jù)庫技術(shù)發(fā)展概述2
    發(fā)表于 10-25 16:29 ?5次下載
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>學習</b>教程之<b class='flag-5'>數(shù)據(jù)庫</b>的發(fā)展狀況如何<b class='flag-5'>數(shù)據(jù)庫</b>有什么新發(fā)展

    數(shù)據(jù)庫系統(tǒng)的常見用戶

    數(shù)據(jù)庫管理員(DatabaseAdministrator,簡稱DBA),是從事管理和維護數(shù)據(jù)庫管理系統(tǒng)(DBMS)的相關(guān)工作人員的統(tǒng)稱,屬于工程師的一個分支,主要負責業(yè)務(wù)
    的頭像 發(fā)表于 02-22 16:28 ?9642次閱讀

    python有什么用 如何用python創(chuàng)建數(shù)據(jù)庫

    開發(fā)、游戲開發(fā)、機器學習、自然語言處理等領(lǐng)域。 在本文中,我們將介紹如何使用Python創(chuàng)建數(shù)據(jù)庫。首先,讓我們了解一下什么是數(shù)據(jù)庫。 什么是數(shù)據(jù)庫
    的頭像 發(fā)表于 08-28 16:41 ?1521次閱讀

    企業(yè)上云后還需要數(shù)據(jù)庫嗎?真實答案看過來!

    企業(yè)上云后還需要數(shù)據(jù)庫嗎?企業(yè)上云后,數(shù)據(jù)庫仍然是必不可少的。盡管云計算帶來了許多便利和
    的頭像 發(fā)表于 11-08 10:02 ?393次閱讀