ÖÇÄÜÔËά(AIops)ÊÇĿǰ
IT ÔËάÁìÓò×î»ðÈȵĴʻ㣬ȫ³ÆÊÇ Algorithmic IT operations platforms£¬Õý¹æ·ÒëÊÇ¡º»ùÓÚËã·¨µÄ
IT ÔËάƽ̨¡»£¬Ö±¹Û¿É¼ûËã·¨ÊÇÖÇÄÜÔËάµÄºËÐÄÒªËØÖ®Ò»¡£

ITÔËάƽ̨Ëã·¨
±¾ÎÄÖ÷Ҫ̸Ëã·¨¶ÔÔËάµÄ×÷Óã¬Éæ¼°Òì³£¼ì²âºÍ¹éÒò·ÖÎöÁ½·½Ãæ£¬Î§ÈÆÔËάϵͳ Kale ÖÐ skyline¡¢Oculus
Ä£¿é¡¢Opprentice ϵͳ¡¢Granger causality£¨¸ñÀ¼½ÜÒò¹û¹ØÏµ£©¡¢FastDTW
Ëã·¨µÈϸ½ÚÕ¹¿ª¡£
Ò»¡¢Òì³£¼ì²â
Òì³£¼ì²â£¬ÊÇÔËά¹¤³ÌʦÃÇ×îÏÈ¿ÉÄܽӴ¥µÄµØ·½ÁË¡£±Ï¾¹¼à¿Ø¸æ¾¯ÊÇËùÓÐÔËά¹¤×÷µÄ»ù´¡¡£É趨¸æ¾¯ãÐÖµÊÇÒ»ÏîºÄʱºÄÁ¦µÄ¹¤×÷£¬ÐèÒªÔËάÈËÔ±ÔÚ³ä·ÖÁ˽âÒµÎñµÄǰÌáϲÅÄܽøÐУ¬»¹µÃ¿¼ÂÇÒµÎñÊDz»ÊÇÆ½ÎÈ·¢Õ¹×´Ì¬£¬·ñÔòÒ»Á½ÖܸĶ¯Ò»´Î£¬ÔËά¹¤³Ìʦ¾ø¶ÔÊÇÒª·¢·èµÄ¡£
Èç¹ûÄܽ«Õⲿ·Ö¹¤×÷½»¸øËã·¨À´½â¾ö£¬ÎÞÒÉÊÇÍÆ·Ò»×ù´óɽ¡£Õâ¼þÊÂÇ飬»úÆ÷ѧϰµ±È»¿ÉÒÔ×öµ½¡£µ«ÊDz»ÓûúÆ÷ѧϰ£¬»ùÓÚÊýѧͳ¼ÆµÄËã·¨£¬Í¬Ñù¿ÉÒÔ£¬¶øÇÒЧ¹ûÒ²²»²î¡£
Òì³£¼ì²âÖ®SkylineÒì³£¼ì²âÄ£¿é
2013Ä꣬Etsy ¿ªÔ´ÁËÒ»¸öÄÚ²¿µÄÔËάϵͳ£¬½Ð Kale¡£ÆäÖÐµÄ skyline ²¿·Ö£¬¾ÍÊÇ×öÒì³£¼ì²âµÄÄ£¿é£¬ËüÌṩÁË
9 ÖÖÒì³£¼ì²âËã·¨£º
first_hour_average¡¢
simple_stddev_from_moving_average¡¢
stddev_from_moving_average¡¢
mean_subtraction_cumulation¡¢
least_squares
histogram_bins¡¢
grubbs¡¢
median_absolute_deviation¡¢
Kolmogorov-Smirnov_test
¼òÒªµÄ¸ÅÀ¨À´Ëµ£¬Õâ9ÖÖËã·¨·ÖΪÁ½Àࣺ
´ÓÕý̬·Ö²¼ÈëÊÖ£º¼ÙÉèÊý¾Ý·þ´Ó¸ß˹·Ö²¼£¬¿ÉÒÔͨ¹ý±ê×¼²îÀ´È·¶¨¾ø´ó¶àÊýÊý¾ÝµãµÄÇø¼ä£»»òÕ߸ù¾Ý·Ö²¼µÄÖ±·½Í¼£¬ÂäÔÚ¹ýÉÙÖ±·½ÀïµÄÊý¾Ý¾ÍÊÇÒì³££»»òÕ߸ù¾ÝÏäÌåͼ·ÖÎöÀ´±ÜÃâÔì³É³¤Î²Ó°Ïì¡£
´ÓÑù±¾Ð£ÑéÈëÊÖ£º²ÉÓà Kolmogorov-Smirnov¡¢Shapiro-Wilk¡¢Lilliefor
µÈ·Ç²ÎÊýУÑé·½·¨¡£
ÕâЩ¶¼ÊÇͳ¼ÆÑ§ÉϵÄËã·¨£¬¶ø²»ÊÇ»úÆ÷ѧϰµÄÊÂÇé¡£µ±È»£¬Etsy Õâ¸ö Skyline ÏîÄ¿²¢²»ÊÇÒì³£¼ì²âµÄÈ«²¿¡£
Ê×ÏÈ£¬ÕâÀïÖ»¿¼ÂÇÁËÒ»¸öÖ¸±ê×Ô¼ºµÄ״̬£¬´Ó×ÝÏòµÄʱÐò½Ç¶È×öÒì³£¼ì²â¡£¶øÃ»Óп¼ÂÇÒµÎñµÄ¸´ÔÓÐÔµ¼ÖµĺáÏòÒì³£¡£Æä´Î£¬ÌṩÁËÕâô¶àÖÖËã·¨£¬µ½µ×Ò»¸öÖ¸±êÔÚÄÄÖÖËã·¨ÏÂÅжϵĸü×¼£¿ÕâÓÖÊÇÒ»¸öºÜÄÑÅжϵÄÊÂÇé¡£
ÎÊÌâÒ»£ºÊµÏÖÉϵľñÔñ¡£Í¬ÑùµÄÑù±¾Ð£ÑéËã·¨£¬¿ÉÒÔÓÃÀ´¶Ô±ÈÒ»¸öÖ¸±êµÄµ±Ç°ºÍÀúÊ·Çé¿ö£¬Ò²¿ÉÒÔÓÃÀ´¶Ô±È¶à¸öÖ¸±êÀïÄĸö¸ú±ðµÄÖ¸±ê²»Ò»Ñù¡£
ÎÊÌâ¶þ£ºSkyline Æäʵ×Ô¼º²ÉÓÃÁËÒ»ÖÖÌØ±ðÆÓʵºÍ¼òµ¥µÄ°ì·¨À´×ö²¹³ä¡ª¡ª9 ¸öË㷨ÿÈËһƱ£¬Í¶Æ±´ïµ½ãÐÖµ¾ÍËãÊý¡£ÖÁÓÚÕâ¸öãÐÖµ£¬Ò»°ãËã
6 »òÕß 7 ÕâÑù£¬¼´Õ¼µ½´ó¶àÊý¼´¿É¡£
Òì³£¼ì²âÖ®Opprenticeϵͳ
×÷Ϊ¶Ô±È£¬Ãæ¶ÔÏàͬµÄÎÊÌ⣬°Ù¶È SRE µÄÖÇÄÜÔËάÊÇÔõô´¦ÀíµÄ¡£ÔÚÈ¥ÄêµÄ APMcon ÉÏ£¬°Ù¶È¹¤³ÌʦÃèÊö
Opprentice ϵͳµÄÖ÷Ҫ˼Ïëʱ£¬ÓÃÁËÕâôһÕÅͼ£º 
Opprentice ϵͳµÄÖ÷ÌåÁ÷³ÌΪ£º
KPI Êý¾Ý¾¹ý¸÷ʽ detector ¼ÆËãµÃµ½Ã¿¸öµãµÄÖî¶à feature£»
ͨ¹ýרÃŵĽ»»¥¹¤¾ß£¬ÓÉÔËάÈËÔ±±ê¼Ç KPI Êý¾ÝµÄÒ쳣ʱ¼ä¶Î£»
²ÉÓÃËæ»úÉÁÖËã·¨×öÒì³£·ÖÀà¡£
ÆäÖÐ detector ÓÐ14ÖÖÒì³£¼ì²âËã·¨£¬ÈçÏÂͼ£º

ÎÒÃÇ¿ÉÒÔ¿´µ½ÆäÖкܶàËã·¨ÔÚ Etsy µÄ Skyline ÀïͬÑù´æÔÚ¡£²»¹ý£¬Îª±ÜÃâ¸øÕâô¶àËã·¨µ÷Åä²ÎÊý£¬Ö±½Ó²ÉÓõİ취ÊÇ£ºÃ¿¸ö²ÎÊýµÄȡֵ·¶Î§¾ùµÈ·Öһϡª¡ª·´ÕýËæ»úÉÁÖ²»ÒªÇóÊ²Ã´ÌØÕ÷¹¤³Ì¡£È磬ÓÃ
holt-winters ×öΪһÀà detector¡£holt-winters ÓЦÁ£¬¦Â£¬¦Ã Èý¸ö²ÎÊý£¬È¡Öµ·¶Î§¶¼ÊÇ
[0, 1]¡£ÄÇôËü¾Í²ÉÑùΪ (0.2, 0.4, 0.6, 0.8)£¬Ò²¾ÍÊÇ 4 ** 3 = 64
¸ö¿ÉÄÜ¡£ÄÇôÿ¸öµã¾Í´ËµÃµ½ 64 ¸öÌØÕ÷Öµ¡£
Òì³£¼ì²âÖ®
Opprentice ϵͳÓë Skyline ºÜÏàËÆ
Opprentice ϵͳÕû¸öÁ÷³Ì¸ú skyline µÄ˼ÏëÏàËÆÖ®´¦ÔÚÓÚÏÈͨ¹ý²»Í¬µÄͳ¼ÆÑ§ÉϵÄËã·¨À´³¢ÊÔ·¢ÏÖÒì³££¬È»ºóͨ¹ýÒ»¸ö¶àÊýͬÒâµÄ·½Ê½/Ëã·¨À´È·¶¨×îÖÕµÄÅж¨½á¹û¡£
Ö»²»¹ýÕâÀï°Ù¶È²ÉÓÃÁËÒ»¸öËæ»úÉÁÖµÄËã·¨£¬À´¸ü¿¿Æ×Ò»µãµÄͶƱ¡£¶ø Etsy ÄØ£¿ÔÚ skyline ¿ªÔ´¼¸¸öÔºó£¬ËûÃÇÄÚ²¿ÓÖʵÏÖÁËа汾£¬½Ð
Thyme¡£ÀûÓÃÁËС²¨·Ö½â¡¢¸µÀïÒ¶±ä»»¡¢Mann-whitney ¼ì²âµÈµÈ¼¼Êõ¡£
ÁíÍ⣬ÉçÇøÔÚ Skyline ÉÏͬÑù×öÁ˺óÐø¸üУ¬Earthgecko ÀûÓà Tsfresh Ä£¿éÀ´ÌáȡʱÐòÊý¾ÝµÄÌØÕ÷Öµ£¬ÒÔ´Ë×ö¶àʱÐòÖ®¼äµÄÒì³£¼ì²â¡£ÎÒÃÇ¿ÉÒÔ¿´µ½£¬ºóÐø·¢Õ¹µÄÁ½ÖÖ
Skyline£¬ÒÀÈ»¶¼Ã»ÓÐʹÓûúÆ÷ѧϰ£¬¶øÊǽøÒ»²½Éî¶ÈÍÚ¾òºÍµ÷ÕûʱÐòÏà¹ØµÄͳ¼ÆÑ§Ëã·¨¡£
¿ªÔ´ÉçÇø³ýÁË Etsy£¬»¹ÓÐÖî¶à¾ÞÍ·Ò²¿ªÔ´¹ý¸÷ʽÆäËûµÄʱÐòÒì³£¼ì²âËã·¨¿â£¬´ó¶àÊÇÔÚ 2015 Ä꿪ʼµÄ¡£ÁоÙÈçÏ£º
Yahoo! ÔÚÈ¥Ä꿪ԴµÄ egads ¿â¡£(Java)
Twitter ÔÚÈ¥Ä꿪ԴµÄ anomalydetection ¿â¡£(R)
Netflix ÔÚ 2015 Ä꿪ԴµÄ Surus ¿â¡£(Pig£¬»ùÓÚPCA)
ÆäÖÐ Twitter Õâ¸ö¿â»¹±» port µ½ Python ÉçÇø£¬ÓÐÐËȤµÄ¶ÁÕßÒ²¿ÉÒÔÊÔÊÔ¡£
¶þ¡¢¹éÒò·ÖÎö
¹éÒò·ÖÎöÊÇÔËά¹¤×÷µÄÏÂÒ»´ó¿éÄÚÈÝ£¬¾ÍÊÇÊÕµ½±¨¾¯ÒÔºóµÄÅÅÕÏ¡£¶ÔÓÚ¼òµ¥¹ÊÕÏ£¬Ó¦¶Ô·½°¸Ò»°ãÒ²ºÜ¼òµ¥£¬²ÉÓÃ
service restart engineering~ µ«ÊÇÔÚ´ó¹æÄ£ IT »·¾³Ï£¬Í¨³£Ò»¸ö¹ÊÕϻᴥ·¢»òµ¼Ö´óÃæ»ýµÄ¸æ¾¯·¢Éú¡£Èç¹ûÄÜ´Ó´óÃæ»ýµÄ¸æ¾¯ÖУ¬ÕÒµ½×î½ôÆÈ×îÒª½ôµÄÄǸö£¬¿Ï¶¨ÄÜ´ó´óµÄËõ¶Ì¹ÊÕϻָ´Ê±¼ä(MTTR)¡£
Õâ¸ö¹ÊÕ϶¨Î»µÄÐèÇó£¬Í¨³£±»¹éÀàΪ¸ùÒò·ÖÎö£¨RCA£¬Root Cause Analysis£©¡£µ±È»£¬RCA
¿É²»Ö¹¹ÊÕ϶¨Î»Ò»¸öÓÃ;£¬ÐÔÄÜÓÅ»¯µÄ¹ý³Ìͨ³£Ò²ÊÇ RCA µÄÒ»ÖÖ¡£
¹éÒò·ÖÎöÖ® Oculus Ä£¿é
ºÍÒì³£¼ì²âÒ»Ñù£¬×ö RCA ͬÑùÊÇ¿ÉÒÔͳ¼ÆÑ§ºÍ»úÆ÷ѧϰ·½·¨²¢ÐеÄ~ÎÒÃÇ»¹ÊÇ´Óͳ¼ÆÑ§µÄ½Ç¶È¿ªÊ¼¡£ÒÀÈ»ÊÇ
Etsy µÄ kale ϵͳ£¬ÆäÖгýÁË×öÒì³£¼ì²âµÄ skyline ÒÔÍ⣬»¹ÓÐÁíÍâÒ»²¿·Ö£¬½Ð Oculus¡£¶øÇÒÔÚ
Etsy ÖØ¹¹ kale 2.0 µÄʱºò£¬Oculus ±»ÈÏΪÊÇ1.0 ×î³É¹¦µÄ²¿·Ö£¬ÍêÕû±£ÁôÏÂÀ´ÁË¡£
Oculus µÄ˼·£¬ÓÃÒ»¾ä»°ÃèÊö£¬¾ÍÊÇ£ºÈç¹ûÒ»¸ö¼à¿ØÖ¸±êµÄʱ¼äÇ÷ÊÆÍ¼×ßÊÆ£¬¸úÁíÒ»¸ö¼à¿ØÖ¸±êµÄÇ÷ÊÆÍ¼³¤µÃ±È½ÏÏñ£¬ÄÇËüÃǺܿÉÄÜÊDZ»Í¬Ò»¸ö¸ùÒòÓ°ÏìµÄ¡£ÄÇô£¬Èç¹ûÕûÌå
IT »·¾³ÄÚµÄʱ¼äͬ²½Êǿɿ¿µÄ£¬ÇÒ¼à¿ØÖ¸±êµÄ¿ÅÁ£¶È±È½ÏϸµÄÇé¿öÏ£¬ÎÒÃǾͿÉÄܽüËÆµÄÍÆ¶Ï£º¸úÒ»¸ö¸æ¾¯±È½ÏÏñµÄ×îÔçµÄÄǸö¼à¿ØÖ¸±ê£¬Ó¦¸Ã¾ÍÊÇÐèÒªÖØµã¹Ø×¢µÄ¸ùÒòÁË¡£
Oculus ½ØÍ¼ÈçÏ£º

Õⲿ·ÖʹÓõļÆË㷽ʽÓÐÁ½ÖÖ£º
ŷʽ¾àÀ룬¾ÍÊDz»Í¬Ê±ÐòÊý¾Ý£¬ÔÚÏàͬʱ¿Ì×ö¶Ô±È¡£¼ÙÈç0·Ö0Ã룬aºÍbÏà²î1000£¬0·Ö5Ã룬ҲÏà²î1000£¬ÒÀ´ÎÀàÍÆ¡£
FastDTW£¬Ôò¼ÓÁËÒ»²ãÆ«ÒÆÁ¿£¬0·Ö0ÃëµÄaºÍ0·Ö5ÃëµÄbÏà²î1000£¬0·Ö5ÃëµÄaºÍ0·Ö10ÃëµÄbÒ²Ïà²î1000£¬ÒÀ´ÎÀàÍÆ¡£µ±È»£¬Ëã·¨ÔÚÕâ¸ö¼òµ¥¼ÙÉè±³ºó£¬ÊÇÓкཱུܶµÍ¼ÆË㸴ÔӶȵľßÌåʵÏֵģ¬ÕâÀï¾Í²»Ì¸ÁË¡£
Ψһ¿ÉϧµÄÊÇ Etsy µ±³õʵÏÖ Oculus ÊÇ»ùÓÚ ES µÄ 0.20 °æ±¾£¬ºóÀ´¸Ã°æ±¾Ò»Ö±Ã»ÓиüС£ÏÖÔÚÍ£ÁôÔÚÕâôÀϰ汾µÄ
ES Óû§Ó¦¸ÃºÜÉÙÁË¡£³ýÁË Oculus£¬»¹ÓкܶàÆäËû²úÆ·£¬²ÉÓò»Í¬µÄͳ¼ÆÑ§ÔÀí£¬´ïµ½ÀàËÆµÄЧ¹û¡£
¹éÒò·ÖÎöÖ® Granger causality
Granger causality£¨¸ñÀ¼½ÜÒò¹û¹ØÏµ£©ÊÇÒ»ÖÖËã·¨£¬¼òµ¥À´ËµËüͨ¹ý±È½Ï¡°ÒÑÖªÉÏһʱ¿ÌËùÓÐÐÅÏ¢£¬Õâһʱ¿Ì
X µÄ¸ÅÂÊ·Ö²¼Çé¿ö¡±ºÍ¡°ÒÑÖªÉÏһʱ¿Ì³ý Y ÒÔÍâµÄËùÓÐÐÅÏ¢£¬Õâһʱ¿Ì X µÄ¸ÅÂÊ·Ö²¼Çé¿ö¡±£¬À´ÅжÏ
Y ¶Ô X ÊÇ·ñ´æÔÚÒò¹û¹ØÏµ¡£
¿ÉÄÜÓÐÁ˽â¹ýÒ»µã»úÆ÷ѧϰÐÅÏ¢µÄ¶ÁÕß»áºÜ²ïÒìÁË£º²»ÊÇ˵»úÆ÷Ö»ÄÜ·´Ó¦Ïà¹ØÐÔ£¬²»ÄÜ·´Ó¦Òò¹ûÐÔµÄô£¿ÐèҪ˵Ã÷һϣ¬ÕâÀïµÄÒò¹û£¬ÊÇͳ¼ÆÑ§ÒâÒåÉϵÄÒò¹û£¬²»ÊÇÎÒÃÇͨ³£ÕÜѧÒâÒåÉϵÄÒò¹û¡£
ͳ¼ÆÑ§ÉϵÄÒò¹û¶¨ÒåÊÇ£º¡ºÔÚÓîÖæÖÐËùÓÐÆäËûʼþµÄ·¢ÉúÇé¿ö¹Ì¶¨²»±äµÄÌõ¼þÏ£¬Èç¹ûÒ»¸öʼþ A µÄ·¢ÉúÓë²»·¢Éú¶ÔÓÚÁíÒ»¸öʼþ
B µÄ·¢ÉúµÄ¸ÅÂÊÓÐÓ°Ï죬²¢ÇÒÕâÁ½¸öʼþÔÚʱ¼äÉÏÓÐÏȺó˳Ðò£¨A ǰ B ºó£©£¬ÄÇôÎÒÃDZã¿ÉÒÔ˵ A ÊÇ
B µÄÔÒò¡£¡»
¹éÒò·ÖÎö֮Ƥ¶ûѷϵÊý
ÁíÒ»¸ö³£ÓõÄËã·¨ÊÇÆ¤¶ûѷϵÊý¡£ÏÂͼÊÇij ITOM Èí¼þµÄʵÏÖ£º

ÎÒÃÇ¿ÉÒÔ¿´µ½£¬ÆäÖ÷ÒªÔªËØºÍ²ÉÓà FastDTW Ëã·¨µÄ Oculus ÀàËÆ£ºcorrelation
±íʾÏà¹ØÐÔµÄÆÀ·Ö¡¢lead/lag ±íʾ²»Í¬Ê±ÐòÊý¾ÝÔÚʱ¼äÖáÉÏµÄÆ«ÒÆÁ¿¡£
Ƥ¶ûѷϵÊýÔÚ R ÓïÑÔÀï¿ÉÒÔÌØ±ð¼òµ¥µÄ×öµ½¡£±ÈÈçÎÒÃÇÄõ½Í¬Ê±¼ä¶ÎµÄ·ÃÎÊÁ¿ºÍ·þÎñÆ÷ CPU ʹÓÃÂÊ£º

È»ºóÔËÐÐÈçÏÂÃüÁ
acc_count<-scale(acc$acc_count,center=T,scale=T)
cpu<-scale(acc$cpuload5,center=T,scale=T)
cor.test(acc_count,cpu)
¿ÉÒÔ¿´µ½ÈçϽá¹ûÊä³ö£º

¶ÔÓ¦µÄ¿ÉÊÓ»¯Í¼ÐÎÈçÏ£º

Õâ¾Í˵Ã÷ÍøÕ¾Êý¾Ý·ÃÎÊÁ¿ºÍ CPU ´æÔÚÈõÏà¹Ø£¬Í¬Ê±´ÓÉ¢µãͼÉÏ¿´Á½ÕßΪ·ÇÏßÐÔ¹ØÏµ¡£Òò´Ë·ÃÎÊÁ¿ÉÏÉý²»Ò»¶¨»áÕæÕýÓ°Ïì
CPU ÏûºÄ¡£
Æäʵ R ÓïÑÔ²»Ì«ÊʺÏǶÈëµ½ÏÖÓеÄÔËάϵͳÖС£ÄÇÕâʱºòʹÓà Elasticsearch µÄ¹¤³Ìʦ¾ÍÓи£ÁË¡£ES
ÔÚ´ó¼Ò³£ÓÃµÄ metric aggregation¡¢bucket aggregation¡¢pipeline
aggregation Ö®Í⣬»¹ÌṩÁËÒ»ÖÖ matrix aggregation£¬Ä¿Ç°Î¨Ò»Ö§³ÖµÄ matrix_stats
¾ÍÊDzÉÓÃÁËÆ¤¶ûѷϵÊýµÄ¼ÆË㣬½Ó¿ÚÎĵµ¼û£º
https:// www.elastic.co/guide/en /elasticsearch/reference/current/
search-aggregations-matrix -stats-aggregation.html
ΨһÐèҪעÒâµÄ¾ÍÊÇ£¬ÒªÇó¼ÆËãÏà¹ØÐÔµÄÁ½¸ö×ֶαØÐëͬʱ´æÔÚÓÚÒ»¸ö event Àï¡£ËùÒÔû·¨Ö±½Ó´ÓÏֳɵÄ
ES Êý¾ÝÖÐÇëÇó²»Í¬µÄ date_histogram£¬È»ºó¼ÆË㣬ÐèÒª×Ô¼ºÊÖ¶¯ÕûÀíÒ»±é£¬×ª´¢»Ø ES
ÔÙ¼ÆËã¡£ |