ÀÖÓãµç¾º



½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

ʲôÊÇAPMϵͳ?APMµÄ»ù±¾Ô­Àí½éÉÜ

¸üÐÂʱ¼ä:2020Äê07ÔÂ24ÈÕ15ʱ31·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:

¡¡¡¡×ÔSpringCloudÎÊÊÀÒÔÀ´£¬Î¢·þÎñÒÔϯ¾íÖ®ÊÆ·çÃÒÈ«Çò£¬ÆóÒµ¼Ü¹¹¶¼ÔÚ´Ó´«Í³SOAÏò΢·þÎñתÐÍ¡£È»¶øÎ¢·þÎñÕâ°ÑË«Èн£ÔÚ´øÀ´¸÷ÖÖÓÅÊÆµÄͬʱ£¬Ò²¸øÔËά¡¢ÐÔÄÜ¼à¿Ø¡¢´íÎóµÄÅŲ鴸À´µÄ¼«´óµÄÀ§ÄÑ¡£

¡¡¡¡ÔÚ´óÐÍÏîÄ¿ÖУ¬·þÎñ¼Ü¹¹»á°üº¬ÊýÊ®ÄËÖÁÉϰٸö·þÎñ½Úµã¡£ÍùÍùÒ»´ÎÇëÇó»áÉè¼Æµ½¶à¸ö΢·þÎñ£¬ÏëÒªÅŲéÒ»´ÎÇëÇóÁ´Â·Öо­¹ýÁËÄÄЩ½Úµã£¬Ã¿¸ö½ÚµãµÄÖ´ÐÐÇé¿öÈçºÎ£¬¾Í³ÆÎªÁËØ½´ý½â¾öµÄÎÊÌâ¡£ÓÚÊÇ·Ö²¼Ê½ÏµÍ³µÄAPM¹ÜÀíϵͳӦÔ˶øÉú¡£

¡¡¡¡Ê²Ã´ÊÇAPMϵͳ?

¡¡¡¡APMϵͳ¿ÉÒÔ°ïÖúÀí½âϵͳÐÐΪ¡¢ÓÃÓÚ·ÖÎöÐÔÄÜÎÊÌâµÄ¹¤¾ß£¬ÒԱ㷢Éú¹ÊÕϵÄʱºò£¬Äܹ»¿ìËÙ¶¨Î»ºÍ½â¾öÎÊÌ⣬Õâ¾ÍÊÇAPMϵͳ£¬È«³ÆÊÇ(Application Performance Monitor)¡£

¡¡¡¡¹È¸è¹«¿ªµÄÂÛÎÄÌáµ½µÄ Google Dapper¿ÉÒÔ˵ÊÇ×îÔçµÄAPMϵͳÁË£¬¸øgoogleµÄ¿ª·¢ÕߺÍÔËάÍŶӰïÁË´óæ£¬ËùÒԹȸ蹫¿ªÂÛÎÄ·ÖÏíÁËDapper¡£

¡¡¡¡¶øºó£¬ºÜ¶àµÄ¼¼Êõ¹«Ë¾»ùÓÚÕâÆªÂÛÎĵÄÔ­Àí£¬Éè¼Æ¿ª·¢Á˺ܶà³öÉ«µÄAPM¿ò¼Ü£¬ÀýÈçPinpoint¡¢SkyWalkingµÈ¡£

¡¡¡¡¶øSpringCloud¹ÙÍøÒ²¼¯³ÉÁËÒ»Ì×ÕâÑùµÄϵͳ£ºSpring Cloud Sleuth£¬½áºÏZipkin¡£

¡¡¡¡APMµÄ»ù±¾Ô­Àí

¡¡¡¡Ä¿Ç°´ó²¿·ÖµÄAPMϵͳ¶¼ÊÇ»ùÓÚGoogleµÄDapperÔ­ÀíʵÏÖ£¬ÎÒÃǼòµ¥À´¿´¿´DapperÖеĸÅÄîºÍʵÏÖÔ­Àí¡£

¡¡¡¡ÏÈÀ´¿´Ò»´ÎÇëÇóµ÷ÓÃʾÀý£º

¡¡¡¡1¡¢·þÎñ¼¯ÈºÖаüÀ¨£ºÇ°¶Ë(A)£¬Á½¸öÖмä²ã(BºÍC)£¬ÒÔ¼°Á½¸öºó¶Ë(DºÍE)

¡¡¡¡2¡¢µ±Óû§·¢ÆðÒ»¸öÇëÇóʱ£¬Ê×Ïȵ½´ïǰ¶ËA·þÎñ£¬È»ºóA·Ö±ð¶ÔB·þÎñºÍC·þÎñ½øÐÐRPCµ÷ÓÃ;

¡¡¡¡3¡¢B·þÎñ´¦ÀíÍê¸øA×ö³öÏìÓ¦£¬µ«ÊÇC·þÎñ»¹ÐèÒªºÍºó¶ËµÄD·þÎñºÍE·þÎñ½»»¥Ö®ºóÔÙ·µ»¹¸øA·þÎñ£¬×îºóÓÉA·þÎñÀ´ÏìÓ¦Óû§µÄÇëÇó;

APMϵͳ01


¡¡¡¡ÈçºÎ²ÅÄÜʵÏÖ¸ú×ÙÄØ?

¡¡¡¡GoogleµÄDapperÉè¼ÆÁËÏÂÃæµÄ¼¸¸ö¸ÅÄîÓÃÀ´¼Ç¼ÇëÇóÁ´Â·£º

¡¡¡¡·Span£ºÇëÇóÖеĻù±¾¹¤×÷µ¥Ôª£¬Ã¿Ò»´ÎÁ´Â·µ÷ÓÃ(RPC¡¢Rest¡¢Êý¾Ý¿âµ÷ÓÃ)¶¼»á´´½¨Ò»¸öSpan¡£´ó¸Å½á¹¹ÈçÏ£º

type Span struct {
    TraceID    int64 // ÓÃÓÚ±êʾһ´ÎÍêÕûµÄÇëÇóid
    Name       string // µ¥ÔªÃû³Æ
    ID         int64 // µ±Ç°Õâ´Îµ÷ÓÃspan_id
    ParentID   int64 // Éϲã·þÎñµÄspan_id,×îÉϲã·þÎñparent_idΪnull£¬´ú±í¸ù·þÎñ
    Annotation []Annotation // ×¢ÊÍ£¬ÓÃÓڼǼµ÷ÓÃÖеÄÏêϸÐÅÏ¢£¬ÀýÈçʱ¼ä
}

¡¡¡¡·Trace£ºÒ»´ÎÍêÕûµÄµ÷ÓÃÁ´Â·£¬°üº¬¶à¸öSpanµÄÊ÷×´½á¹¹£¬¾ßÓÐΨһµÄTraceID

¡¡¡¡Ò»´ÎÇëÇóµÄÿ¸öÁ´Â·£¬Í¨¹ýspanId¡¢parentId¾ÍÄÜ´®ÁªÆðÀ´£º

APMϵͳ02

¡¡¡¡µ±È»£¬´ÓÇëÇóµ½·þÎñÆ÷¿ªÊ¼£¬·þÎñÆ÷·µ»Øresponse½áÊø£¬Ã¿¸öspan´æÔÚÏàͬµÄΨһ±êʶtrace_id¡£

¡¡¡¡APMµÄɸѡ±ê×¼

¡¡¡¡Ä¿Ç°Ö÷Á÷µÄAPM¿ò¼Ü¶¼»á°üº¬ÏÂÁм¸¸ö×é¼þÀ´Íê³ÉÁ´Â·ÐÅÏ¢µÄÊÕ¼¯ºÍչʾ£º

¡¡¡¡·Ì½Õë(Agent)£º¸ºÔðÔÚ¿Í»§¶Ë³ÌÐòÔËÐÐʱËÑË÷·þÎñµ÷ÓÃÁ´Â·ÐÅÏ¢£¬·¢Ë͸øÊÕ¼¯Æ÷

¡¡¡¡·ÊÕ¼¯Æ÷(Collector)£º¸ºÔð½«Êý¾Ý¸ñʽ»¯£¬±£´æµ½´æ´¢Æ÷

¡¡¡¡·´æ´¢Æ÷(Storage)£º±£´æÊý¾Ý

¡¡¡¡·UI½çÃæ(WebUI)£ºÍ³¼Æ²¢Õ¹Ê¾ÊÕ¼¯µ½µÄÐÅÏ¢

¡¡¡¡Òò´Ë£¬ÒªÉ¸Ñ¡Ò»¿îºÏ¸ñµÄAPM¿ò¼Ü£¬¾ÍÊǶԱȸ÷¸ö×é¼þµÄʹÓòîÒ죬Ö÷Òª¶Ô±ÈÏ

¡¡¡¡·Ì½ÕëµÄÐÔÄÜ

¡¡¡¡Ö÷ÒªÊÇagent¶Ô·þÎñµÄÍÌÍÂÁ¿¡¢CPUºÍÄÚ´æµÄÓ°Ïì¡£Èç¹û̽ÕëÔÚÊÕ¼¯Î¢·þÎñÔËÐÐÊý¾Ýʱ£¬¶Ô΢·þÎñµÄÔËÐвúÉúÁ˱ȽϴóµÄÐÔÄÜÓ°Ï죬ÏàÐÅûʲôÈËÔ¸ÒâʹÓá£

¡¡¡¡·collectorµÄ¿ÉÀ©Õ¹ÐÔ

¡¡¡¡Äܹ»Ë®Æ½À©Õ¹ÒÔ±ãÖ§³Ö´ó¹æÄ£·þÎñÆ÷¼¯Èº£¬±£Ö¤ÊÕ¼¯Æ÷µÄ¸ß¿ÉÓÃÌØÐÔ¡£

¡¡¡¡·È«ÃæµÄµ÷ÓÃÁ´Â·Êý¾Ý·ÖÎö

¡¡¡¡Êý¾ÝµÄ·ÖÎöÒª¿ì £¬·ÖÎöµÄά¶È¾¡¿ÉÄܶà¡£¸ú×ÙϵͳÄÜÌṩ×ã¹»¿ìµÄÐÅÏ¢·´À¡£¬¾Í¿ÉÒÔ¶ÔÉú²ú»·¾³ÏµÄÒì³£×´¿ö×ö³ö¿ìËÙ·´Ó¦£¬×îºÃÌṩ´úÂë¼¶±ðµÄ¿É¼ûÐÔÒÔ±ãÇáËɶ¨Î»Ê§°ÜµãºÍÆ¿¾±¡£

¡¡¡¡·¶ÔÓÚ¿ª·¢Í¸Ã÷£¬ÈÝÒ׿ª¹Ø

¡¡¡¡¼´Ò²×÷ΪҵÎñ×é¼þ£¬Ó¦µ±¾¡¿ÉÄÜÉÙÈëÇÖ»òÕßÎÞÈëÇÖÆäËûÒµÎñϵͳ£¬¶ÔÓÚʹÓ÷½Í¸Ã÷£¬¼õÉÙ¿ª·¢ÈËÔ±µÄ¸ºµ£¡£

¡¡¡¡·ÍêÕûµÄµ÷ÓÃÁ´Ó¦ÓÃÍØÆË

¡¡¡¡×Ô¶¯¼ì²âÓ¦ÓÃÍØÆË£¬°ïÖúÄã¸ãÇå³þÓ¦Óõļܹ¹

¡¡¡¡½ÓÏÂÀ´£¬ÎÒÃǾͶԱÈÏÂĿǰ±È½Ï³£¼ûµÄÈýÖÖAPM¿ò¼ÜµÄ¸÷ÏîÖ¸±ê£¬·Ö±ðÊÇ£º

¡¡¡¡·Zipkin£ºÓÉTwitter¹«Ë¾¿ªÔ´£¬¿ª·ÅÔ´´úÂë·Ö²¼Ê½µÄ¸ú×Ùϵͳ£¬ÓÃÓÚÊÕ¼¯·þÎñµÄ¶¨Ê±Êý¾Ý£¬ÒÔ½â¾ö΢·þÎñ¼Ü¹¹ÖеÄÑÓ³ÙÎÊÌ⣬°üÀ¨£ºÊý¾ÝµÄÊÕ¼¯¡¢´æ´¢¡¢²éÕÒºÍÕ¹ÏÖ¡£

¡¡¡¡·Pinpoint£ºÒ»¿î¶ÔJava±àдµÄ´ó¹æÄ£·Ö²¼Ê½ÏµÍ³µÄAPM¹¤¾ß£¬Óɺ«¹úÈË¿ªÔ´µÄ·Ö²¼Ê½¸ú×Ù×é¼þ¡£

¡¡¡¡·Skywalking£º¹ú²úµÄÓÅÐãAPM×é¼þ£¬ÊÇÒ»¸ö¶ÔJAVA·Ö²¼Ê½Ó¦ÓóÌÐò¼¯ÈºµÄÒµÎñÔËÐÐÇé¿ö½øÐÐ×·×Ù¡¢¸æ¾¯ºÍ·ÖÎöµÄϵͳ¡£ÏÖÔÚÊÇApacheµÄ¶¥¼¶ÏîĿ֮һ¡£

       ÈýÕß¶Ô±ÈÈçÏ£º

APMϵͳ03

¡¡¡¡¿É¼û£¬zipkinµÄ̽ÕëÐÔÄÜ¡¢¿ª·¢Í¸Ã÷ÐÔ¡¢Êý¾Ý·ÖÎöÄÜÁ¦¶¼²»Õ¼ÓÅ£¬ÊµÔÚÊÇÏÂÏÂ֮ѡ¡£

¡¡¡¡¶øpinpointÔÚÊý¾Ý·ÖÎöÄÜÁ¦¡¢¿ª·¢Í¸Ã÷ÐÔÉÏÓнϴóµÄÓÅÊÆ,²»¹ýPinpointµÄ²¿ÊðÏà¶Ô±È½Ï¸´ÔÓ£¬ÐèÒªµÄÓ²¼þ×ÊÔ´½Ï¸ß¡£

¡¡¡¡SkywalkingµÄ̽ÕëÐÔÄܺͿª·¢Í¸Ã÷ÐÔÉϾßÓнϴóÓÅÊÆ£¬Êý¾Ý·ÖÎöÄÜÁ¦ÉÏÒ²»¹²»´í£¬ÖØÒªµÄÊÇÆä²¿Êð±È½Ï·½±ãÁé»î£¬±ÈÆðPinpoint¸üÊʺÏÖÐСÐÍÆóҵʹÓá£

¡¡¡¡Òò´Ë£¬±¾ÎÄ»á´ø×Å´ó¼ÒѧϰSkywalkingµÄʹÓá£


²ÂÄãϲ»¶£º

ArrayListÈëÃŽ̳̠

0 ·ÖÏíµ½£º
ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿