Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Prometheus¼Ü¹¹Óëʵ¼ù·ÖÏí
 
×÷Õߣº³ÂÏþÓî
  3135  次浏览      30
 2020-2-27
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª´Ó¼Ü¹¹·ÖÎöµ½ÂäµØÊµ¼ù£¬Ïêϸ½éÉÜPrometheusÔ­ÀíºÍʹÓõȵȣ¬×îºóͨ¹ýÆóÒµ°¸Àý£¬·ÖÏíʵ¼ù¾­ÑéºÍ×¢ÒâÊÂÏϣÍû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚsohu£¬ÓÉ»ðÁú¹ûÈí¼þLuca±à¼­¡¢ÍƼö¡£

PrometheusÒѾ­±»¹ã·ºÓ¦ÓÃÓÚÊý¾ÝÖÐÐÄ¼à¿Ø£¬ÓÈÆäÊǺÍKubernetes½áºÏµÄÈÝÆ÷¼à¿Ø¡£±¾ÎÄÖ÷Òª´Ó¼Ü¹¹·ÖÎöµ½ÂäµØÊµ¼ù£¬Ïêϸ½éÉÜPrometheusÔ­ÀíºÍʹÓ᣶ԱÈPrometheusÓëÆäËû¼à¿Ø¹¤¾ß£¨Zabbix¡¢Open-Falcon£©µÄÌØµãÓëʹÓó¡¾°¡£È»ºó½éÉÜPrometheusÓëKubernetes¼¯³É£¬Ö÷Òª´Ó¼à¿ØºÍ×Ô¶¯ÉìËõÁ½¸ö·½Ãæ¡£×îºóͨ¹ýÆóÒµ°¸Àý£¬·ÖÏíʵ¼ù¾­ÑéºÍ×¢ÒâÊÂÏî¡£

Kubernetes´Ó2014Ä꿪ԴÒÔÀ´£¬Ñ¸ËÙ³ÉΪÈÝÆ÷¹ÜÀíµÄÁìÍ·Ñò£¬ËüÊÇGoogle BorgϵͳµÄ¿ªÔ´ÊµÏÖ¡£ºÍKubernetesÒ»Æð»ðÆðÀ´µÄ»¹ÓÐÁíÒ»¸ö¿ªÔ´ÏîÄ¿Prometheus£¬ËüÊÇGoogle BorgMonµÄ¿ªÔ´ÊµÏÖ¡£

2016Ä꣬ÓÉGoogle·¢ÆðµÄLinux»ù½ð»áÆìϵÄÔ­ÉúÔÆ»ù½ð»á£¨Cloud Native Computing Foundation£©½«PrometheusÄÉÈëÆäµÚ¶þ´ó¿ªÔ´ÏîÄ¿¡£PrometheusÔÚ¿ªÔ´ÉçÇøÒ²Ê®·Ö»îÔ¾£¬ÔÚGitHubÉÏÓµÓÐÁ½Íò¶àStar£¬²¢ÇÒϵͳÿ¸ôÒ»Á½ÖܾͻáÓÐÒ»¸öС°æ±¾µÄ¸üС£

PrometheusÊÇÓÉSoundCloud¿ª·¢µÄ¿ªÔ´¼à¿Ø±¨¾¯ÏµÍ³ºÍʱÐòÁÐÊý¾Ý¿â¡£´Ó×ÖÃæÉÏÀí½â£¬PrometheusÓÉÁ½¸ö²¿·Ö×é³É£¬Ò»¸öÊÇ¼à¿Ø±¨¾¯ÏµÍ³£¬ÁíÒ»¸öÊÇ×Ô´øµÄʱÐòÊý¾Ý¿â£¨TSDB£©¡£

ÉÏͼÊÇPrometheusÕûÌå¼Ü¹¹Í¼£¬×ó²àÊǸ÷ÖÖ·ûºÏPrometheusÊý¾Ý¸ñʽµÄexporter£¬³ý´ËÖ®ÍâΪÁËÖ§³ÖÍÆ¶¯Êý¾ÝÀàÐ͵ÄAgent£¬¿ÉÒÔͨ¹ýPushgateway×é¼þ£¬½«Pushת»¯ÎªPull¡£PrometheusÉõÖÁ¿ÉÒÔ´ÓÆäËüµÄPrometheus»ñÈ¡Êý¾Ý£¬×齨Áª°î¼¯Èº¡£PrometheusµÄ»ù±¾Ô­ÀíÊÇͨ¹ýHTTPÖÜÆÚÐÔץȡ±»¼à¿Ø×é¼þµÄ״̬£¬ÈÎÒâ×é¼þÖ»ÒªÌṩ¶ÔÓ¦µÄHTTP½Ó¿Ú²¢ÇÒ·ûºÏPrometheus¶¨ÒåµÄÊý¾Ý¸ñʽ£¬¾Í¿ÉÒÔ½ÓÈëPrometheus¼à¿Ø¡£

ÉϲàÊÇ·þÎñ·¢ÏÖ£¬PrometheusÖ§³Ö¼à¿Ø¶ÔÏóµÄ×Ô¶¯·¢ÏÖ»úÖÆ£¬´Ó¶ø¿ÉÒÔ¶¯Ì¬»ñÈ¡¼à¿Ø¶ÔÏó¡£

ͼƬÖмäÊÇPrometheus Server£¬RetrievalÄ£¿é¶¨Ê±À­È¡Êý¾Ý£¬²¢Í¨¹ýStorageÄ£¿é±£´æÊý¾Ý¡£PromQLΪPrometheusÌṩµÄ²éѯÓï·¨£¬PromQLÄ£¿éͨ¹ý½âÎöÓï·¨Ê÷£¬µ÷ÓÃStorageÄ£¿é²éѯ½Ó¿Ú»ñÈ¡¼à¿ØÊý¾Ý¡£Í¼Æ¬ÓÒ²àÊǸ澯ºÍÒ³ÃæÕ¹ÏÖ£¬Prometheus½«¸æ¾¯ÍÆË͵½alertmanger£¬È»ºóͨ¹ýalertmanger¶Ô¸æ¾¯½øÐд¦Àí²¢Ö´ÐÐÏàÓ¦¶¯×÷¡£Êý¾ÝÕ¹ÏÖ³ýÁËPrometheus×Ô´øµÄWebUI£¬»¹¿ÉÒÔͨ¹ýGrafanaµÈ×é¼þ²éѯPrometheus¼à¿ØÊý¾Ý¡£

ÔÚPrometheus֮ǰÊÐÃæÒѾ­³öÏÖÁ˺ܶàµÄ¼à¿ØÏµÍ³£¬ÈçZabbix¡¢Open-FalconµÈ¡£ÄÇôPrometheusºÍÕâЩ¼à¿ØÏµÍ³ÓÐɶÒìÍ¬ÄØ£¿ÎÒÃÇÏȼòµ¥»Ø¹ËÒ»ÏÂÕâЩ¼à¿ØÏµÍ³¡£

ZabbixÊÇÓÉAlexei Vladishev¿ªÔ´µÄ·Ö²¼Ê½¼à¿ØÏµÍ³£¬Ö§³Ö¶àÖֲɼ¯·½Ê½ºÍ²É¼¯¿Í»§¶Ë£¬Í¬Ê±Ö§³ÖSNMP¡¢IPMI¡¢JMX¡¢Telnet¡¢SSHµÈ¶àÖÖЭÒ飬Ëü½«²É¼¯µ½µÄÊý¾Ý´æ·Åµ½Êý¾Ý¿âÖУ¬È»ºó¶ÔÆä½øÐзÖÎöÕûÀí£¬Èç¹û·ûºÏ¸æ¾¯¹æÔò£¬Ôò´¥·¢ÏàÓ¦µÄ¸æ¾¯¡£

ZabbixºËÐÄ×é¼þÖ÷ÒªÊÇAgentºÍServer£¬ÆäÖÐAgentÖ÷Òª¸ºÔð²É¼¯Êý¾Ý²¢Í¨¹ýÖ÷¶¯»òÕß±»¶¯µÄ·½Ê½²É¼¯Êý¾Ý·¢Ë͵½Server/Proxy£¬³ý´ËÖ®Í⣬ΪÁËÀ©Õ¹¼à¿ØÏAgent»¹Ö§³ÖÖ´ÐÐ×Ô¶¨Òå½Å±¾¡£ServerÖ÷Òª¸ºÔð½ÓÊÕAgent·¢ËÍµÄ¼à¿ØÐÅÏ¢£¬²¢½øÐлã×Ü´æ´¢£¬´¥·¢¸æ¾¯µÈ¡£

ΪÁ˱ãÓÚ¿ìËÙ¸ßЧµÄÅäÖÃZabbix¼à¿ØÏZabbixÌṩÁËÄ£°å»úÖÆ£¬´Ó¶øÊµÏÖÅúÁ¿ÅäÖõÄÄ¿µÄ¡£

Zabbix Server½«ÊÕ¼¯µÄ¼à¿ØÊý¾Ý´æ´¢µ½Zabbix DatabaseÖС£Zabbix DatabaseÖ§³Ö³£ÓõĹØÏµÐÍÊý¾Ý¿â£¬ÀýÈçMySQL¡¢PostgreSQL¡¢OracleµÈ£¬Ä¬ÈÏMySQL¡£Zabbix WebÒ³Ãæ£¨PHP±àд£©¸ºÔðÊý¾Ý²éѯ¡£ZabbixÓÉÓÚʹÓÃÁ˹ØÏµÐÍÊý¾Ý´æ´¢Ê±ÐòÊý¾Ý£¬ËùÒÔÔÚ¼à¿Ø´ó¹æÄ£¼¯ÈºÊ±³£³£ÔÚÊý¾Ý´æ´¢·½Ãæ×½½ó¼ûÖ⡣Ϊ´ËZabbix 4.2°æ±¾ºóÒ²¿ªÊ¼Ö§³ÖʱÐòÊý¾Ý´æ´¢£¬²»¹ýĿǰ»¹²»³ÉÊì¡£

Open-FalconÊÇСÃ׿ªÔ´µÄÆóÒµ¼¶¼à¿Ø¹¤¾ß£¬ÓÃGoÓïÑÔ¿ª·¢¶ø³É£¬°üÀ¨Ð¡Ãס¢µÎµÎ¡¢ÃÀÍŵÈÔÚÄڵĻ¥ÁªÍø¹«Ë¾¶¼ÔÚʹÓÃËü£¬ÊÇÒ»¿îÁé»î¡¢¿ÉÀ©Õ¹²¢ÇÒ¸ßÐÔÄÜµÄ¼à¿Ø·½°¸£¬Ö÷Òª×é¼þ°üÀ¨ÁË£º

Falcon-agent£ºÓÃGoÓïÑÔ¿ª·¢µÄDaemon³ÌÐò£¬ÔËÐÐÔÚÿ̨Linux·þÎñÆ÷ÉÏ£¬ÓÃÓڲɼ¯Ö÷»úÉϵĸ÷ÖÖÖ¸±êÊý¾Ý£¬Ö÷Òª°üÀ¨CPU¡¢ÄÚ´æ¡¢´ÅÅÌ¡¢Îļþϵͳ¡¢Äں˲ÎÊý¡¢SocketÁ¬½ÓµÈ£¬Ä¿Ç°ÒѾ­Ö§³Ö200¶àÏî¼à¿ØÖ¸±ê¡£²¢ÇÒ£¬AgentÖ§³ÖÓû§×Ô¶¨ÒåµÄ¼à¿Ø½Å±¾¡£

Hearthbeat server£º¼ò³ÆHBSÐÄÌø·þÎñ£¬Ã¿¸öAgent¶¼»áÖÜÆÚÐÔµØÍ¨¹ýRPC·½Ê½½«×Ô¼ºµÄ״̬Éϱ¨¸øHBS£¬Ö÷Òª°üÀ¨Ö÷»úÃû¡¢Ö÷»úIP¡¢Agent°æ±¾ºÍ²å¼þ°æ±¾£¬Agent»¹»á´ÓHBS»ñÈ¡×Ô¼ºÐèÒªÖ´ÐеIJɼ¯ÈÎÎñºÍ×Ô¶¨Òå²å¼þ¡£

Transfer£º¸ºÔð½ÓÊÕAgent·¢ËÍµÄ¼à¿ØÊý¾Ý£¬²¢¶ÔÊý¾Ý½øÐÐÕûÀí£¬ÔÚ¹ýÂ˺óͨ¹ýÒ»ÖÂÐÔHashËã·¨·¢Ë͵½Judge»òÕßGraph¡£

Graph£ºRRDÊý¾ÝÉϱ¨¡¢¹éµµ¡¢´æ´¢µÄ×é¼þ¡£GraphÔÚÊÕµ½Êý¾ÝÒԺ󣬻áÒÔRRDtoolµÄÊý¾Ý¹éµµ·½Ê½À´´æ´¢£¬Í¬Ê±ÌṩRPC·½Ê½µÄ¼à¿Ø²éѯ½Ó¿Ú¡£

Judge£º¸æ¾¯Ä£¿é£¬Transferת·¢µ½JudgeµÄÊý¾Ý»á´¥·¢Óû§É趨µÄ¸æ¾¯¹æÔò£¬Èç¹ûÂú×㣬Ôò»á´¥·¢Óʼþ¡¢Î¢ÐÅ»òÕ߻ص÷½Ó¿Ú¡£ÕâÀïΪÁ˱ÜÃâÖØ¸´¸æ¾¯ÒýÈëÁËRedisÔÝ´æ¸æ¾¯£¬´Ó¶øÍê³É¸æ¾¯µÄºÏ²¢ºÍÒÖÖÆ¡£

Dashboard£ºÃæÏòÓû§µÄ¼à¿ØÊý¾Ý²éѯºÍ¸æ¾¯ÅäÖýçÃæ¡£

ϱíͨ¹ý¶àά¶ÈÕ¹ÏÖÁËËûÃǵĸ÷×ÔµÄÓÅȱµã£º

´Ó¿ª·¢ÓïÑÔÉÏ¿´£¬ÎªÁËÓ¦¶Ô¸ß²¢·¢ºÍ¿ìËÙµü´úµÄÐèÇó£¬¼à¿ØÏµÍ³µÄ¿ª·¢ÓïÑÔÒѾ­ÂýÂý´ÓCÓïÑÔ×ªÒÆµ½Go¡£²»µÃ²»Ëµ£¬Goƾ½è¼ò½àµÄÓï·¨ºÍÓÅÑŵIJ¢·¢£¬ÔÚJavaÕ¼¾ÝÒµÎñ¿ª·¢£¬CÕ¼Áìµ×²ã¿ª·¢µÄÇé¿öÏ£¬×¼È·¶¨Î»Öмä¼þ¿ª·¢ÐèÇó£¬ÔÚµ±Ç°¿ªÔ´Öмä¼þ²úÆ·Öб»¹ã·ºÓ¦Óá£

´Óϵͳ³ÉÊì¶ÈÉÏ¿´£¬ZabbixÊÇÀÏÅÆµÄ¼à¿ØÏµÍ³£ºZabbixÊÇÔÚ1998Äê³öÏֵģ¬ÏµÍ³¹¦ÄܱȽÏÎȶ¨£¬³ÉÊì¶È½Ï¸ß¡£¶øPrometheusºÍOpen-Falcon¶¼ÊÇ×î½ü¼¸Äê²Åµ®ÉúµÄ£¬ËäÈ»¹¦ÄÜ»¹ÔÚ²»¶Ïµü´ú¸üУ¬µ«Õ¾ÔÚ¾ÞÈ˵ļç°òÖ®ÉÏ£¬Ôڼܹ¹Éè¼ÆÉÏ½è¼øÁ˺ܶàÀÏÅÆ¼à¿ØÏµÍ³µÄ¾­Ñé¡£

´ÓϵͳÀ©Õ¹ÐÔ·½Ãæ¿´£¬ZabbixºÍOpen-Falcon¶¼¿ÉÒÔ×Ô¶¨Òå¸÷ÖÖ¼à¿Ø½Å±¾£¬²¢ÇÒZabbix²»½ö¿ÉÒÔ×öµ½Ö÷¶¯ÍÆËÍ£¬»¹¿ÉÒÔ×öµ½±»¶¯À­È¡£¬PrometheusÔò¶¨ÒåÁËÒ»Ì×¼à¿ØÊý¾Ý¹æ·¶£¬²¢Í¨¹ý¸÷ÖÖexporterÀ©Õ¹ÏµÍ³²É¼¯ÄÜÁ¦¡£

´ÓÊý¾Ý´æ´¢·½ÃæÀ´¿´£¬Zabbix²ÉÓùØÏµÊý¾Ý¿â±£´æ£¬Õ⼫´óÏÞÖÆÁËZabbix²É¼¯µÄÐÔÄÜ£¬Open-Falcon²ÉÓÃRDDÊý¾Ý´æ´¢£¬²¢ÇÒ¿ÉÒÔ¶Ô½Óµ½OpenTSDB£¬¶øPrometheus×ÔÑÐÒ»Ì׸ßÐÔÄܵÄʱÐòÊý¾Ý¿â£¬ÔÚV3°æ±¾¿ÉÒԴﵽÿÃëǧÍò¼¶±ðµÄÊý¾Ý´æ´¢£¬Í¨¹ý¶Ô½ÓµÚÈý·½Ê±ÐòÊý¾Ý¿âÀ©Õ¹ÀúÊ·Êý¾ÝµÄ´æ´¢¡£

´ÓÅäÖúÍά»¤µÄ¸´ÔÓ¶ÈÉÏ¿´£¬PrometheusÖ»ÓÐÒ»¸öºËÐÄserver×é¼þ£¬Ò»ÌõÃüÁî±ã¿ÉÒÔÆô¶¯£¬Ïà±È¶øÑÔ£¬ÆäËûϵͳÅäÖÃÏà¶ÔÂé·³£¬ÓÈÆäÊÇOpen-Falcon¡£

´ÓÉçÇø»îÔ¾¶ÈÉÏ¿´£¬Ä¿Ç°ZabbixÉçÇø»îÔ¾¶È±È½ÏµÍ£¬Open-FalconËäȻҲ±È½Ï»îÔ¾£¬µ«»ù±¾¶¼ÊǹúÄڵĹ«Ë¾²ÎÓ룬PrometheusÔÚÕâ·½ÃæÕ¼¾Ý¾ø¶ÔÓÅÊÆ£¬ÉçÇø»îÔ¾¶È×î¸ß£¬²¢ÇÒÊܵ½CNCFµÄÖ§³Ö£¬ºóÆÚµÄ·¢Õ¹ÖµµÃÆÚ´ý¡£

´ÓÈÝÆ÷Ö§³Ö½Ç¶È¿´£¬ÓÉÓÚZabbix³öÏֵñȽÏÔ磬µ±Ê±ÈÝÆ÷»¹Ã»Óе®Éú£¬×ÔÈ»¶ÔÈÝÆ÷µÄÖ§³ÖÒ²±È½Ï²î¡£Open-FalconËäÈ»ÌṩÁËÈÝÆ÷µÄ¼à¿Ø£¬µ«Ö§³ÖÁ¦¶ÈÓÐÏÞ¡£PrometheusµÄ¶¯Ì¬·¢ÏÖ»úÖÆ£¬²»½ö¿ÉÒÔÖ§³ÖSwarmÔ­Éú¼¯Èº£¬»¹Ö§³ÖKubernetesÈÝÆ÷¼¯ÈºµÄ¼à¿Ø£¬ÊÇĿǰÈÝÆ÷¼à¿Ø×îºÃ½â¾ö·½°¸¡£ZabbixÔÚ´«Í³¼à¿ØÏµÍ³ÖУ¬ÓÈÆäÊÇÔÚ·þÎñÆ÷Ïà¹Ø¼à¿Ø·½Ã棬ռ¾Ý¾ø¶ÔÓÅÊÆ¡£°éËæ×ÅÈÝÆ÷µÄ·¢Õ¹£¬Prometheus¿ªÊ¼³ÉΪÖ÷µ¼¼°ÈÝÆ÷¼à¿Ø·½ÃæµÄ±êÅ䣬²¢ÇÒÔÚδÀ´¿É¼ûµÄʱ¼äÄÚ±»¹ã·ºÓ¦Óá£×ÜÌåÀ´Ëµ£¬¶Ô±È¸÷ÖÖ¼à¿ØÏµÍ³µÄÓÅÁÓ£¬Prometheus¿ÉÒÔ˵ÊÇĿǰ¼à¿ØÁìÓò×î·æÀûµÄ¡°ÈðÊ¿¾üµ¶¡±ÁË¡£

±ê¸ñʽ·ÖΪÁ½¸ö²¿·Ö£ºÒ»·ÝÊÇÖ¸±êÃû³Æ£¬ÁíÒ»¸öÊÇÖ¸±ê±êÇ©¡£±êÇ©¿ÉÌåÏÖÖ¸±êµÄά¶ÈÌØÕ÷£¬ÓÃÓÚ¹ýÂ˺;ۺϡ£Ëüͨ¹ý±êÇ©Ãû£¨label name£©ºÍ±êǩֵ£¨label value£©ÕâÖÖ¼üÖµ¶ÔµÄÐÎʽ£¬ÐγɶàÖÖά¶È¡£ÀýÈ磬¶ÔÓÚÖ¸±êhttp_request_total£¬¿ÉÒÔÓÐ{status="200", method="POST"}ºÍ{status="200", method="GET"}ÕâÁ½¸ö±êÇ©¡£ÔÚÐèÒª·Ö±ð»ñÈ¡GETºÍPOST·µ»Ø200µÄÇëÇóʱ£¬¿É·Ö±ðʹÓÃÉÏÊöÁ½ÖÖÖ¸±ê£»ÔÚÐèÒª»ñÈ¡ËùÓзµ»Ø200µÄÇëÇóʱ£¬¿ÉÒÔͨ¹ýhttp_request_total{status="200"}Íê³ÉÊý¾ÝµÄ¾ÛºÏ£¬·Ç³£±ã½ÝºÍͨÓá£

Ö¸±êÀàÐÍÓÐËÄÖÖ£º

Counter£¨¼ÆÊýÆ÷£©£º¼ÆÊýͳ¼Æ£¬Àۼƶ೤»òÕßÀۼƶàÉٴεȡ£ËüµÄÌØµãÊÇÖ»Ôö²»¼õ£¬Æ©ÈçHTTP·ÃÎÊ×ÜÁ¿¡£

Gauge£¨ÒDZíÅÌ£©£ºÊý¾ÝÊÇÒ»¸ö˲ʱֵ£¬Èç¹ûµ±Ç°ÄÚ´æÓÃÁ¿£¬ËüËæ×Åʱ¼ä±ä»¯ºö¸ßºöµÍ¡£Èç¹ûÐèÒªÁ˽âij¸öʱ¼ä¶ÎÄÚÇëÇóµÄÏìӦʱ¼ä£¬Í¨³£×ö·¨ÊÇʹÓÃÆ½¾ùÏìӦʱ¼ä£¬µ«ÕâÑù×öÎÞ·¨ÌåÏÖÊý¾ÝµÄ³¤Î²Ð§Ó¦¡£ÀýÈ磬һ¸öHTTP·þÎñÆ÷µÄÕý³£ÏìӦʱ¼äÊÇ30ms£¬µ«ÓкÜÉÙ¼¸´ÎÇëÇóºÄʱ3s£¬Í¨¹ýƽ¾ùÏìӦʱ¼äºÜÄÑÕç±ð³¤Î²Ð§Ó¦¡£

Histogram£¨Ö±·½Í¼£©£º·þÎñ¶Ë·Ö룬²»Í¬Çø¼äÄÚÑù±¾µÄ¸öÊý£¬Æ©Èç°à¼¶³É¼¨£¬µÍÓÚ60·ÖµÄ9¸ö£¬µÍÓÚ70·ÖµÄ10¸ö£¬µÍÓÚ80·ÖµÄ50¸ö¡£

Summary£¨ÕªÒª£©£º¿Í»§¶Ë·Öλ£¬Ö±½ÓÔÚ¿Í»§¶Ëͨ¹ý·ÖλÇé¿ö£¬»¹ÊÇÓð༶³É¼¨¾ÙÀý£º0.8·ÖλµÄÊÇ£¬80·Ö£¬0.9·ÖΪ85·Ö£¬0.99·ÖΪµÄÊÇ98·Ö¡£

Prometheusͨ¹ýHTTP½Ó¿ÚµÄ·½Ê½´Ó¸÷ÖÖ¿Í»§¶Ë»ñÈ¡Êý¾Ý£¬ÕâЩ¿Í»§¶Ë±ØÐë·ûºÏPrometheus¼à¿ØÊý¾Ý¸ñʽ£¬Í¨³£ÓÐÁ½ÖÖ·½Ê½£¬Ò»ÖÖÊÇÇÖÈëʽÂñµã¼à¿Ø£¬Í¨¹ýÔÚ¿Í»§¶Ë¼¯³É£¬Èç¹ûKubernetes APIÖ±½Óͨ¹ýÒýÈëPrometheus go client£¬Ìṩ/metrics½Ó¿Ú²éѯkubernetes API¸÷ÖÖÖ¸±ê£»ÁíÒ»ÖÖÊÇͨ¹ýexporter·½Ê½£¬ÔÚÍⲿ½«Ô­À´¸÷ÖÖÖмä¼þµÄ¼à¿ØÖ§³Öת»¯ÎªPrometheusµÄ¼à¿ØÊý¾Ý¸ñʽ£¬Èçredis exporter½«ReidsÖ¸±êת»¯ÎªPrometheusÄܹ»Ê¶±ðµÄHTTPÇëÇó¡£

HTTP·µ»ØHeaderºÍBodyÈçÉÏͼËùʾ£¬Ö¸±êÇ°ÃæÁ½ÐÐ#ÊÇ×¢ÊÍ£¬±êʶָ±êµÄº¬ÒåºÍÀàÐÍ¡£Ö¸±êºÍÖ¸±êµÄֵͨ¹ý¿Õ¸ñ·Ö¸î£¬¿ª·¢Õßͨ³£²»ÐèÒª×Ô¼ºÆ´½ÓÕâÖÖ¸öÊýµÄÊý¾Ý£¬ PrometheusÌṩÁ˸÷ÖÖÓïÑÔµÄSDKÖ§³Ö¡£

Prometheus²¢Ã»ÓвÉÓÃjsonµÄÊý¾Ý¸ñʽ£¬¶øÊDzÉÓÃtext/plain´¿Îı¾µÄ·½Ê½£¬ÕâÊÇËüµÄÌØÊâÖ®´¦¡£

PrometheusΪÁËÖ§³Ö¸÷ÖÖÖмä¼þÒÔ¼°µÚÈý·½µÄ¼à¿ØÌṩÁËexporter£¬´ó¼Ò¿ÉÒÔ°ÑËüÀí½â³É¼à¿ØÊÊÅäÆ÷£¬½«²»Í¬Ö¸±êÀàÐͺ͸ñʽµÄÊý¾Ýͳһת»¯ÎªPrometheusÄܹ»Ê¶±ðµÄÖ¸±êÀàÐÍ¡£

Æ©ÈçNode exporterÖ÷Ҫͨ¹ý¶ÁÈ¡LinuxµÄ/procÒÔ¼°/sysĿ¼ÏµÄϵͳÎļþ»ñÈ¡²Ù×÷ϵͳÔËÐÐ״̬£¬reids exporterͨ¹ýReidsÃüÁîÐлñȡָ±ê£¬mysql exporterͨ¹ý¶ÁÈ¡Êý¾Ý¿â¼à¿Ø±í»ñÈ¡MySQLµÄÐÔÄÜÊý¾Ý¡£ËûÃǽ«ÕâЩÒì¹¹µÄÊý¾Ýת»¯Îª±ê×¼µÄPrometheus¸ñʽ£¬²¢ÌṩHTTP²éѯ½Ó¿Ú¡£

PrometheusÌṩÁËÁ½ÖÖÊý¾Ý³Ö¾Ã»¯·½Ê½£ºÒ»ÖÖÊDZ¾µØ´æ´¢£¬Í¨¹ýPrometheus×Ô´øµÄTSDB£¨Ê±ÐòÊý¾Ý¿â£©£¬½«Êý¾Ý±£´æµ½±¾µØ´ÅÅÌ£¬ÎªÁËÐÔÄÜ¿¼ÂÇ£¬½¨ÒéʹÓÃSSD¡£µ«±¾µØ´æ´¢µÄÈÝÁ¿±Ï¾¹ÓÐÏÞ£¬½¨Òé²»Òª±£´æ³¬¹ýÒ»¸öÔµÄÊý¾Ý¡£Prometheus±¾µØ´æ´¢¾­¹ý¶àÄê¸Ä½ø£¬×ÔPrometheus 2.0ºóÌṩµÄV3°æ±¾TSDBÐÔÄÜÒѾ­·Ç³£¸ß£¬¿ÉÒÔÖ§³Öµ¥»úÿÃë1000w¸öÖ¸±êµÄÊÕ¼¯¡£

Prometheus±¾µØÊý¾Ý´æ´¢ÄÜÁ¦Ò»Ö±Îª´ó¼ÒÚ¸²¡£¬µ«Prometheus±¾µØ´æ´¢Éè¼ÆµÄ³õÖÔ¾ÍÊÇΪÁË¼à¿ØÊý¾ÝµÄ²éѯ£¬Facebook·¢ÏÖ85£¥µÄ²éѯÊÇÕë¶Ô26СʱÄÚµÄÊý¾Ý¡£ËùÒÔPrometheus±¾µØÊ±ÐòÊý¾Ý¿âµÄÉè¼Æ¸ü¶à¿¼ÂǵÄÊǸßÐÔÄܶø·Ç·Ö²¼Ê½´óÈÝÁ¿¡£

ÁíÒ»ÖÖÊÇÔ¶¶Ë´æ´¢£¬ÊÊÓÃÓÚ´óÁ¿ÀúÊ·¼à¿ØÊý¾ÝµÄ´æ´¢ºÍ²éѯ¡£Í¨¹ýÖмä²ãµÄÊÊÅäÆ÷µÄת»¯£¬Prometheus½«Êý¾Ý±£´æµ½Ô¶¶Ë´æ´¢¡£ÊÊÅäÆ÷ʵÏÖPrometheus´æ´¢µÄremote writeºÍremote read½Ó¿Ú£¬²¢°ÑÊý¾Ýת»¯ÎªÔ¶¶Ë´æ´¢Ö§³ÖµÄÊý¾Ý¸ñʽ¡£Ä¿Ç°£¬Ô¶¶Ë´æ´¢Ö÷Òª°üÀ¨OpenTSDB¡¢InfluxDB¡¢Elasticsearch¡¢M3DBµÈ£¬ÆäÖÐM3DBÊÇĿǰ·Ç³£ÊÜ»¶Ó­µÄºó¶Ë´æ´¢¡£

PrometheusÊý¾ÝÕ¹ÏÖ³ýÁË×Ô´øµÄWebUI»¹¿ÉÒÔͨ¹ýGrafana£¬ËûÃDZ¾ÖÊÉ϶¼ÊÇͨ¹ýHTTP + PromQLµÄ·½Ê½²éѯPrometheusÊý¾Ý¡£ºÍ¹ØÏµÐÍÊý¾Ý¿âµÄSQLÀàËÆ£¬PrometheusÒ²ÄÚÖÃÁËÊý¾Ý²éѯÓïÑÔPromQL£¬ËüÌṩ¶Ôʱ¼äÐòÁÐÊý¾Ý·á¸»µÄ²éѯ£¬¾ÛºÏÒÔ¼°Âß¼­ÔËËãµÄÄÜÁ¦¡£

Êý¾ÝÔËËã°üÀ¨ÁË£º

+£¨¼Ó·¨£©

-£¨¼õ·¨£©

*£¨³Ë·¨£©

/£¨³ý·¨£©

%£¨ÇóÓࣩ

^£¨ÃÝÔËË㣩

¾ÛºÏ°üÀ¨ÁË£º

sum£¨ÇóºÍ£©

min£¨×îСֵ£©

max£¨×î´óÖµ£©

avg£¨Æ½¾ùÖµ£©

stddev£¨±ê×¼²î£©

stdvar£¨±ê×¼²îÒ죩

count£¨¼ÆÊý£©

count_values£¨¶Ôvalue½øÐмÆÊý£©

bottomk£¨ºónÌõ£©

topk£¨Ç°nÌõ£©

quantile£¨·Ö²¼Í³¼Æ£©

Èç¹ûÐèÒª»ñȡij¸öʱ¿ÌµÄÊý¾Ý¿ÉÒÔͨ¹ýcurl 'http://PrometheusµØÖ·:9090/api/v1/query?query=up&time=xx'²éѯ¼à¿ØÊý¾Ý£¬ÆäÖÐquery²ÎÊý¾ÍÊÇÒ»¸öPromQL±í´ïʽ¡£³ý´ËÖ®Í⣬»¹Ö§³Ö·¶Î§²éѯquery_range£¬ÐèÒª¶îÍâÌí¼ÓÏÂÃæµÄ²ÎÊý£ºstart£¨Æðʼʱ¼ä£©¡¢end£¨½áÊøÊ±¼ä£©¡¢step=£¨²éѯ²½³¤£©¡£

µ±½ÓÊÕµ½ÇëÇó²ÎÊýºó£¬Í¨¹ýPromQLÒýÇæ½âÎöPromQL£¬È·¶¨²éѯµÄÊý¾ÝÐòÁкÍʱ¼ä·¶Î§£¬Í¨¹ýtsdb½Ó¿Ú»ñÈ¡¶ÔÓ¦Êý¾Ý¿é£¨chunks£©£¬×îºó¸ù¾Ý¾ÛºÏº¯Êý´¦Àí¼à¿ØÊý¾Ý²¢·µ»Ø¡£

Èç¹û¼à¿ØÊý¾Ý´ïµ½¸æ¾¯ãÐÖµPrometheus Server»áͨ¹ýHTTP½«¸æ¾¯·¢Ë͵½¸æ¾¯Ä£¿éalertmanger¡£Prometheus¸æ¾¯ÅäÖÃÒ²ÊÇͨ¹ýyamlÎļþ£¬ºËÐÄÊÇÉÏÃæµÄexpr±í´ïʽ£¨¸æ¾¯¹æÔò£©ºÍ²éѯһÑùÒ²ÊÇÒ»¸öPromQL±í´ïʽ¡£for´ú±í³ÖÐøÊ±¼ä£¬Èç¹ûÔÚforʱ¼äÄÚ³ÖÐø´¥·¢Prometheus²Å·¢³ö¸æ¾¯¡£

¸æ¾¯×é¼þalertmangerµØÖ·ÊÇÔÚPrometheusµÄÅäÖÃÎļþÖÐÖ¸¶¨£¬¸æ¾¯¾­¹ýalertmangerÈ¥ÖØ¡¢ÒÖÖÆµÈ²Ù×÷£¬×îºóÖ´Ðи澯¶¯×÷£¬Ä¿Ç°Ö§³ÖÓʼþ¡¢slack¡¢Î¢ÐźÍwebhook£¬Èç¹ûÊǶԽӶ¤¶¤£¬±ã¿ÉÒÔͨ¹ýwebhook·½Ê½´¥·¢¶¤¶¤µÄ¿Í»§¶Ë·¢Ë͸澯¡£

ΪÁËÀ©Õ¹µ¥¸öPrometheusµÄ²É¼¯ÄÜÁ¦ºÍ´æ´¢ÄÜÁ¦£¬PrometheusÒýÈëÁË¡°Áª°î¡±µÄ¸ÅÄî¡£¶à¸öPrometheus½Úµã×é³ÉÁ½²ãÁª°î½á¹¹£¬ÈçͼËùʾ£¬ÉÏÃæÒ»²ãÊÇÁª°î½Úµã£¬¸ºÔð¶¨Ê±´ÓÏÂÃæµÄPrometheus½Úµã»ñÈ¡Êý¾Ý²¢»ã×Ü£¬²¿Êð¶à¸öÁª°î½ÚµãÊÇΪÁËʵÏָ߿ÉÓÃÒÔ¼°Êý¾Ý»ã¾Û´æ´¢¡£Ï²ãµÄPrometheus½ÚµãÓÖ·Ö±ð¸ºÔð²»Í¬ÇøÓòµÄÊý¾Ý²É¼¯£¬ÔÚ¶à»ú·¿µÄʼþ²¿ÊðÖУ¬Ï²ãµÄÿ¸öPrometheus½Úµã¿ÉÒÔ±»²¿Êðµ½µ¥¶ÀµÄÒ»¸ö»ú·¿£¬³äµ±´úÀí¡£

Improbable¿ªÔ´µÄThanosÌṩÁËPrometheus¼¯Èº»¯ÄÜÁ¦£¬¸ÐÐËȤµÄÅóÓÑ¿ÉÒÔÉîÈëÁ˽âһϡ£

PrometheusµÄÁ÷ÐкÍKubernetesÃܲ»¿É·Ö£¬ÏÂÃæ½«½éÉÜÈçºÎͨ¹ýPrometheus¼à¿ØKubernetes¼¯Èº¡£Ê×ÏȽéÉÜPrometheusµÄ×Ô¶¯·¢ÏÖ»úÖÆ¡£

PrometheusÓÐÁ½ÖÖ·½Ê½ÅäÖÃ¼à¿Ø¶ÔÏó£¬Ò»ÖÖÊÇͨ¹ý¾²Ì¬ÎļþÅäÖã¬ÁíÒ»ÖÖÊǶ¯Ì¬·¢ÏÖ»úÖÆ¡£

Ŀǰ¶¯Ì¬·¢ÏÖĿǰÒѾ­Ö§³ÖKubernetes¡¢etcd¡¢ConsulµÈ¶àÖÖ·þÎñ£¬¶¯Ì¬·¢ÏÖ¿ÉÒÔ¼õÉÙÔËάÈËÔ±ÊÖ¶¯ÅäÖã¬ÔÚÈÝÆ÷ÔËÐл·¾³ÖÐÓÈÎªÖØÒª£¬ÈÝÆ÷¼¯ÈºÍ¨³£ÔÚ¼¸Ç§ÉõÖÁ¼¸ÍòµÄ¹æÄ££¬Èç¹ûÿ¸öÈÝÆ÷¶¼ÐèÒªµ¥¶ÀÅäÖÃ¼à¿ØÏî²»½öÐèÒª´óÁ¿¹¤×÷Á¿£¬¶øÇÒÈÝÆ÷¾­³£±ä¶¯£¬ºóÐøÎ¬»¤¸üÊÇÒì³£Âé·³¡£Õë¶ÔKubernetes»·¾³µÄ¶¯Ì¬·¢ÏÖ£¬Prometheusͨ¹ýWatch Kubernetes API¶¯Ì¬»ñÈ¡µ±Ç°¼¯ÈºËùÓÐÖ÷»ú¡¢ÈÝÆ÷ÒÔ¼°·þÎñµÄ±ä»¯Çé¿ö¡£

ͨ¹ý×Ô¶¯·¢ÏÖ»úÖÆ£¬Prometheus¿ÉÒÔ¶¯Ì¬»ñÈ¡NodeºÍPodµÄ±ä»¯£¬½«Node exporterºÍcAdvisor¼ÓÈë¼à¿Ø¡£Õë¶ÔÈÝÆ÷³£ÓÃµÄ¼à¿ØÖ¸±ê°üÀ¨£º

CPUÀûÓÃÂÊ£º

rate(container_cpu_usage_seconds_total{
container_name="xxx", pod_name="xxx"
}[5m]
)

ÄÚ´æÓÃÁ¿£¨Ê¹ÓÃÄÚ´æ¼õÈ¥»º´æ£©£º

container_memory_usage_bytes{
container_name="xxx", pod_name="xxx"
}
-
container_memory_cache{
container_name="xxx", pod_name="xxx"
}

ÍøÂç·¢ËÍËÙÂÊ£º

rate(container_network_transmit_bytes_total{
pod_name="xxxx"
}[5m]
)

ÍøÂç½ÓÊÕËÙÂÊ£º

rate(container_network_receive_bytes_total{
pod_name="xxxx"
}[5m]
)

ºÍÆäËûµÄKubernetesµÄOperatorÀàËÆ£¬Prometheus Operatorͨ¹ý¶¨ÒåÏÂÃæËÄÖÖKubernetesµÄCRD×ÊÔ´£¬´Ó¶øÊµÏÖͨ¹ý²Ù×÷Kubernetes×ÊÔ´È¥¹ÜÀíPrometheusµÄ¼à¿ØºÍ¸æ¾¯µÄÄ¿±ê¡£

Prometheus£ºPrometheus Deployment¶¨Òå

ServiceMonitor£ºPrometheus¼à¿Ø¶ÔÏóµÄ¶¨Òå

PrometheusRule£º¸æ¾¯¹æÔò

Alertmanager£ºAlertmanager Deployment¶¨Òå

HPAÊÇKubernetesÌṩµÄˮƽÉìËõ·þÎñ£¬Ô­ÉúÖ§³Ö»ùÓÚCPUÀûÓÃÂʵÄÀ©ËõÈÝ¡£Èç¹ûÓû§Ï£Íû¸ù¾Ý×Ô¶¨ÒåÖ¸±ê£¨ÈçQPS£©À©ÈÝ£¬¿ÉÒÔ½èÖúKubernetesµÄcustom metrics API¡£

Kubernetes×ÊÔ´À©Õ¹Í¨³£ÓÉÁ½ÖÖ·½Ê½£¬Ò»ÖÖÊÇͨ¹ýÉÏÃæOperatorʹÓõÄCRD£¬ÁíÒ»ÖÖÊÇͨ¹ýAggregated API Server£¨Î´À´¿ÉÄܻᱻKubebuilder´úÌæ£©¡£custom-metrics-apiserver±ãÊÇͨ¹ýAggregated APIÀ©Õ¹KubernetesµÄcustom metric½Ó¿Ú¡£

HPA²éѯ×Ô¶¨Òå¼à¿ØÊý¾ÝµÄÇëÇóͨ¹ýkube-apiserver´úÀíµ½custom-metrics-apiserver£¬²¢Í¨¹ýprometheus-adapterת»¯Îª¶ÔPrometheusÊý¾Ý²éѯ£¬´Ó¶øÊµÏÖ×Ô¶¨ÒåÖ¸±êµÄÀ©ËõÈÝ¡£

ƽ̨Ö÷Òª¹¦ÄܰüÀ¨ÁË·þÎñ¹ÜÀí£¨»Ò¶È·¢²¼¡¢×Ô¶¯ÉìËõ¡¢¶à¼¯Èº²¿ÊðµÈ£©¡¢¾µÏñ¹ÜÀí¡¢¼à¿Ø¸æ¾¯¡¢CICD¡¢Nginx¹ÜÀí¡¢Ceph´æ´¢µÈ¶à¸ö¹¦ÄÜ¡£ÆäÖÐ¼à¿ØºÍ¸æ¾¯ºÍ×Ô¶¯ÉìËõ¶¼ÊÇ»ùÓÚPrometheus¹¹½¨¡£

Prometheus²É¼¯µÄÊý¾Ý°üÀ¨ÁËÖ÷»úÐÔÄÜ¼à¿Ø¡¢ÈÝÆ÷ÐÔÄÜ¼à¿Ø¡¢Nginx·ÃÎÊÁ÷Á¿¡¢Kubernetes״̬ÒÔ¼°Æ½Ì¨¸÷¸ö×é¼þµÄÐÔÄÜÖ¸±ê¡£Ä¿Ç°Prometheus±¾µØÊý¾ÝÖ¸±£ÁôÒ»¸öÔ£¬ÀúÊ·Êý¾Ý±£´æµ½M3DBÖС£

PrometheusÒ»·½ÃæÎªÒ³ÃæÌṩÐÔÄÜÖ¸±ê²éѯ£¬Èçnginx qps¡¢ÈÝÆ÷CPUÀûÓÃÂÊ£¬ÁíÒ»·½±ãÌṩ»ùÓÚÕâЩָ±êµÄÐÔÄܸ澯£¬¸æ¾¯·¢ËÍÖÁalertmangerÖУ¬²¢Í¨¹ýalertmangerµÄwebhook´¥·¢ipaasÖ´ÐкóÐøµÄ¸æ¾¯´¦Àí£¨¶ÌÐźÍÓʼþ£©¡£

ΪÁËÖ§³ÖÈÝÆ÷µÄ¶àÖ¸±ê¡¢¶à¼¯Èº×Ô¶¯ÉìËõ£¬Æ½Ì¨¿ª·¢Ò»Ì××Ô¶¯ÉìËõÄ£¿é£¬Í¨¹ýcluster-mgr¶¨Ê±»ñÈ¡Prometheus¼à¿ØÖ¸±ê£¬²¢Ä£·ÂKubernetesµÄHPA¼ÆËã³öÄ¿±êµÄÈÝÆ÷¸±±¾Êý£¬×îºóͨ¹ýµ÷ÓÃipaasÀ©Èݶà¸ö¼¯ÈºµÄÈÝÆ÷¸±±¾¡£

×îºóÎÒ¸öÈËÏë±í´ï£¬PrometheusÒ²²¢·ÇÒøµ¯¡£

Ê×ÏÈ£¬PrometheusÖ»Õë¶ÔÐÔÄܺͿÉÓÃÐÔ¼à¿Ø£¬²¢²»¾ß±¸ÈÕÖ¾¼à¿ØµÈ¹¦ÄÜ£¬²¢²»ÄÜͨ¹ýPrometheus½â¾öËùÓÐ¼à¿ØÎÊÌâ¡£

Æä´Î£¬PrometheusÈÏΪֻÓÐ×î½üµÄ¼à¿ØÊý¾Ý²ÅÓвéѯµÄÐèÒª£¬ËùÓÐPrometheus±¾µØ´æ´¢µÄÉè¼Æ³õÖÔÖ»ÊDZ£³Ö¶ÌÆÚ£¨Ò»¸öÔ£©µÄÊý¾Ý£¬²¢·ÇÕë¶Ô´óÁ¿µÄÀúÊ·Êý¾ÝµÄ´æ´¢¡£Èç¹ûÐèÒª±¨±íÖ®ÀàµÄÀúÊ·Êý¾Ý£¬Ôò½¨ÒéʹÓÃPrometheusµÄÔ¶¶Ë´æ´¢ÈçOpenTSDB¡¢M3DBµÈ¡£

Prometheus»¹ÓÐÒ»¸öС覴ÃÊÇûÓж¨Ò嵥룬ÕâÀïÐèҪʹÓÃÕß×Ô¼ºÈ¥Çø·Ö»òÕßÊÂÏȶ¨ÒåºÃËùÓÐ¼à¿ØÊý¾Ýµ¥Î»£¬±ÜÃâÊý¾ÝȱÉÙµ¥Î»ÎÊÌâ¡£

Q&A

Q£ºÏÖÔÚÓи߿ÉÓ÷½°¸Âð£¿

A£ºPrometheusµÄÁª°î»òÕßImprobable¿ªÔ´µÄThanos¶¼ÊǸ߿ÉÓ÷½°¸¡£

Q£ºPromethuesÕ¼ÓÃÄÚ´æºÜºÃ£¬ÎÒÃǵĻ·¾³ÏÂ45wÖ¸±ê´ó¸ÅÒªÕ¼ÓÃ8G×óÓÒµÄÄڴ棬¾­³£³öÏÖPrometheusÈÝÆ÷OOM£¬ÇëÎÊÓÐʲô°ì·¨¿ÉÒÔÓÅ»¯ÄÚ´æÕ¼ÓÃÂð£¿

A£ºÊý¾ÝÖ¸±êÈç¹ûȷʵ±È½Ï´ó£¬¿ÉÒÔ¿¼ÂÇPrometheusµÄhash²É¼¯£¬·Ö̯ѹÁ¦¡£ÔÚÉú²ú¹ý³ÌÖкܶàÖ¸±ê¶¼ÊÇ¿ÉÒÔʡȥµÄ£¬Æ©ÈçKubernetesÖеÄSandboxÈÝÆ÷µÄÖ¸±ê¡£

Q£ºPrometheusµÄpush·½Ê½£¨pushÍÆË͸øpushgateway£©ºÍpullÕý³£µÄ·½Ê½·½Ê½µÄÐÔÄܱȽϣ¬Ë­¸üºÃÄØ£¿

A£ºpushgateway±¾Éí×÷ΪÊý¾Ýת·¢µÄ´úÀí£¬±¾ÉíÐÔÄÜËðºÄºÜÉÙ¡£½¨ÒéÖ±½ÓÌṩprometheusµÄpullÖ§³Ö¡£

Q£ºÕë¶ÔÓÚһЩ¹«Ë¾×ÔÓÐÒµÎñµÄ½ø³ÌÊý¾Ý¼à¿ØÊÇÒÀÀµÓÚ×ÔÑеÄgo-clentÉϱ¨Â𣿻¹ÊÇ˵һЩÈý·½µÄclient£¿

A£ºÈç¹û¿ÉÒÔ¶þ´Î¿ª·¢½¨ÒéÖ±½ÓÔÚ´úÂëÀïÃæ¼ÓÈëPrometheus²É¼¯µÄÖ§³Ö£¬´¦ÀíGoÒÔÍ⻹ÓÐJava¡¢PythonµÄSDKÖ§³Ö¡£Èç¹û²»Äܶþ´Î¿ª·¢Ò²¿ÉÒÔÔÚÍⲿͨ¹ýexporter·½Ê½¡£

Q£ºÈç¹ûÓжà¸ö¸±±¾CPUÀûÓÃÂÊ£¬»¹ÊÇÓÃcontainer_nameÀ´Ëã¾ÍÓÐÎÊÌâÁ˰ɣ¿ÁíÍâÎÊһϣ¬²»Í¬°æ±¾µÄPod£¨±ÈÈç·¢°æÖ®ºó£©Ôõô±È½ÏÆäCPUÀûÓÃÂÊ£¿ÁíÍâHistogramµÄmetricsÓзÖÎö¹ýÂ𣿲éѯһ¸öÔµÄÊý¾ÝÓ¦¸ÃÂùÓÐѹÁ¦µÄ°É»¹ÊÇ×öÁËÓÅ»¯£¬ÊÇ·ñÓбØÒª£¿

A£º¶à¸±±¾ÐèÒªgroup¡£²»Í¬°æ±¾Êý¾Ý¶¼ÔÚPrometheus´æ´¢£¬¿ÉÒÔͨ¹ýÈÝÆ÷Ãû³Æ»ã¾Û²éѯ³öÀ´£¬Ò»¸öÔÂÊý¾Ýstep¿ÉÒÔµ÷ÕûµÄ´óһЩ¡£Ä¿Ç°¿´Ò»¸öÔÂÄڵIJéѯ»ù±¾¿ØÖÆÔÚ2sÒÔÄÚ¡£·¢°æÖ®ºóPod nameÃû×ÖÊDz»Ò»ÑùµÄ£¬Ò»ÖÖ·½Ê½ÊÇͨ¹ý±£³Öcontainer name£¬ÁíÍâÒ»ÖÖ·½Ê½ÊÇͨ¹ýǰ׺£¬ÕýÔòÆ¥Å䣬ÎÒÓõĺóÕߣ¬²»¹ý»á³öÏֺܶà¿ÕÏßÌõ£¬ÒòÎªÇ°Ãæ°æ±¾²»´æÔÚÕâ¸öPod name±êÇ©µÄmetrics£¬Õâ¸öºÍ¶à¸±±¾µÄcontainer_nameÒ²ËãÊÇÓеã³åÍ»¡£metricÃû³ÆÓ¦¸ÃÊǹ̶¨µÄ£¬ÓÃÕýÔòÆ¥Å䣬²»»áÓÐÎÊÌâµÄ£¬ÀúÊ·¶¼»á²é³öÀ´£¬ÁíÍâÎÒ·¢ÏÖhistogramµÄmetrics³¬¹ý7ÌìÖ®ºó¾ÍûÓÐʲô²Î¿¼¼ÛÖµÁË ËùÒÔ¶ÔÓÚ²éѯһ¸öÔ¸оõÒâÒå²»´ó£¬±ÈÈçprometheus_http_request_duration_seconds£¬metrics»¹ÊÇÖØÔÚʵʱÐÔ¡£

Q£ºÊ±ÐòÊý¾Ý¿â¸ú´«Í³Êý¾Ý¿âµÄÓÅÊÆÔÚÄÄ£¿Ó¦¸ÃÈçºÎ½øÐÐÑ¡ÐÍ£¿

A£ºÊ±ÐòÊý¾ÝÊDZ£´æËæÊ±¼ä±ä»¯µÄÁ¿£¬²éѯҲÊÇʱ¼äά¶È£¬´Ó¶øÊµÏÖ¸ßѹËõ±È¡£¹ØÏµÐÍÊý¾ÝÓÅÊÆÔÚÓÚÊý¾Ý¹ÜÀí¡£

Q£º±ÈÈçÒª×öÿÈÕÓû§µÇ¼Êýͳ¼Æ£¬¾ßÌåÓ¦¸ÃÔõô×ö£¿ÐèÒªÄÄЩÁ÷³ÌºÍ²½Ö裿

A£ºÐèÒª³ÌÐòÀïÃæ¼¯³ÉSDK£¬²¢Ìṩ²éѯÀۼƵǼÓû§µÄhttp½Ó¿Ú£¬²¢ÔÚPrometheusÅäÖÃÕâ¸ötarget¡£

   
3135 ´Îä¯ÀÀ       30
Ïà¹ØÎÄÕÂ

DevOpsתÐÍÈÚÈëµ½ÆóÒµÎÄ»¯
DevOps ÄÜÁ¦Ä£ÐÍ¡¢Ñݽø¼°°¸ÀýÆÊÎö
»ùÓÚ DevOps ÀíÄîµÄ˽ÓÐ PaaS ƽ̨ʵ¼ù
΢Èí¿ª·¢ÍŶӵÄDevOpsʵ¼ùÆôʾ
Ïà¹ØÎĵµ

DevOpsÇý¶¯Ó¦ÓÃÔËά±ä¸ïÓë´´ÐÂ
ÔËά¹ÜÀí¹æ»®
ÈçºÎʵÏÖÆóÒµÓ¦Óò¿Êð×Ô¶¯»¯
ÔËά×Ô¶¯»¯Êµ¼ù֮·
Ïà¹Ø¿Î³Ì

×Ô¶¯»¯ÔËά¹¤¾ß£¨»ùÓÚDevOps£©
»¥ÁªÍøÔËάÓëDevOps
MySQLÐÔÄÜÓÅ»¯¼°ÔËάÅàѵ
ITϵͳÔËά¹ÜÀí