ÎïÁªÍøÁìÓò½üÆÚÈç»ðÈçݱ£¬»¥ÁªÍøºÍ´«Í³¹«Ë¾ÕùÏ಼¾ÖÎïÁªÍø¡£×÷ΪÎïÁªÍøÁìÓòÊý¾Ý´æ´¢µÄÊ×ѡʱÐòÊý¾Ý¿âÒ²Ô½À´Ô½¶à½øÈëÈËÃǵÄÊÓÒ°£¬
ÔçÔÚ 2016 Äê 7 Ô£¬°Ù¶ÈÔÆÔÚÆäÌ칤ÎïÁªÍøÆ½Ì¨ÉÏ·¢²¼Á˹úÄÚÊ׸ö¶à×â»§µÄ·Ö²¼Ê½Ê±ÐòÊý¾Ý¿â²úÆ· TSDB¡£
ÉÏÒ»ÖÜÎÒÃÇ·¢¹ýʱÐòÊý¾Ý¿âµÄ´æ´¢Æª£º°Ù¶ÈÎÞÈ˳µºÍÌ칤ÎïÁªÍø¶¼Ê¹ÓÃÁËʱÐòÊý¾Ý¿â£¬µ«ÊÇÄãÓжàÁ˽âʱÐòÊý¾Ý¿â£¿
ǰÎÄÌᵽʱÐòÊý¾ÝÊÇÒ»¸öд¶à¶ÁÉٵij¡¾°£¬¶ÔʱÐòÊý¾Ý¿âÒÔ¼°Êý¾Ý´æ´¢·½Ãæ×öÁËÂÛÊö£¬Êý¾Ý²éѯºÍ¾ÛºÏÔËËãͬÑùÊÇʱÐòÊý¾Ý¿â±Ø²»¿ÉÉٵŦÄÜÖ®Ò»¡£ÈçºÎÖ§³ÖÔÚÃë¼¶¶ÔÉÏÒÚÊý¾ÝµÄ²éѯ·Ö×é¾ÛºÏÔËËã³ÉΪÁËʱÐòÊý¾Ý¿â²úÆ·±ØÐëÒªÃæ¶ÔµÄÌôÕ½¡£
±¾ÎÄ»á´ÓʱÐòÊý¾Ý¿âµÄ²éѯÒÔ¼°¾ÛºÏÔËËã½Ç¶ÈÕ¹¿ª£¬×îºó»á´ÓÈçºÎ½â¾öʱÐòÊý¾ÝµÄ²éѯÎÊÌâÈëÊÖÉîÈë·ÖÎö¡£
1. ʱÐòÊý¾ÝµÄ²éѯ
Óû§¶ÔʱÐòÊý¾ÝµÄ²éѯ³¡¾°¶àÖÖ¶àÑù£¬×ܵÄÀ´ËµÊ±ÐòÊý¾ÝµÄ²éѯ·ÖΪÁ½ÖÖ£ºÔʼÊý¾ÝµÄ²éѯºÍʱÐòÊý¾Ý¾ÛºÏÔËËãµÄ²éѯ¡£
ǰÕßÊǶÔÀúÊ·¸ß¾«¶ÈʱÐòÊý¾ÝµÄ²éѯ£¬²éѯ½á¹ûÁ£¶È̫ϸ£¬²¢²»ÀûÓÚ·¢Ï֯乿ÂÉÐÔ£¬Ç÷ÊÆÐÔ£»Ò²²»ÊʺÏÕ¹ÏÖ¸øÓû§£¬Ö÷ÒªÓÃÓÚ´óÊý¾Ý·ÖÎöµÄÔªÊý¾Ý¡£
ºóÕßÖ÷ÒªÓÃÀ´¶ÔÊý¾Ý×ö·ÖÎö£¬ÀýÈç dashboard µÈ UI ¹¤¾ßʹÓþۺϲéѯչʾÊý¾Ý·ÖÎö½á¹û¡£Í¨³£Êý¾Ý·ÖÎöµÄ²éѯ·¶Î§¹ã£¬²éѯµÄÊý¾ÝÁ¿´ó£¬´Ó¶øµ¼Ö²éѯµÄÑÓʱ±È½Ï¸ß£¬¶øÍùÍù·ÖÎö¹¤¾ßÓÖÒªÇó²éѯÑÓʱµÍ£¬´óÊý¾ÝÁ¿µÍÑÓʱÊÇʱÐòÊý¾Ý²éÑ¯ÃæÁÙµÄÖ÷ÒªÎÊÌ⣬±¾ÎÄÖ÷Ҫ̽Ì־ۺϷÖÎö²éѯµÄÓÅ»¯¡£
2. ʱÐòÊý¾ÝµÄ²éѯµÄÓÅ»¯
´ÓǰÎÄ¿ÉÁ˽⵽£¬Ê±ÐòÊý¾ÝµÄ´æ´¢Ö÷Òª°üº¬µ¥»úºÍ·Ö²¼Ê½´æ´¢¡£Ê±ÐòÊý¾Ý¸ù¾Ý·ÖƬ¹æÔò£¨Í¨³£Ê¹Óà metric+tags+
ʱ¼ä·¶Î§£©£¬½«·ÖƬ´æ´¢ÔÚµ¥»ú»òÕß·Ö²¼Ê½»·¾³ÖС£¾ÛºÏÔËËã²éѯʱ£¬¸ù¾Ý²éѯÌõ¼þ²éѯËùÓеÄÊý¾Ý·ÖƬ£¬ËùÓÐµÄ·ÖÆ¬°´ÕÕʱ¼ä´ÁºÏ²¢ÐγÉÔʼÊý¾Ý½á¹û£¬µ±²éѯÌõ¼þ°üº¬¾ÛºÏÔËËãʱ£¬»á¸ù¾Ý²ÉÑù´°¿Ú¶ÔÊý¾Ý½øÐоۺÏÔËË㣬×îºó·µ»ØÔËËã½á¹û¡£
Êý¾Ý¾ÛºÏÔËËã²éѯÑÓʱµÄ¼ÆËã¿ÉÒÔ´ÖÂÔµÄÃèÊöÈçÏ£º
¾ÛºÏÔËËã²éѯ£ºÊý¾Ý·ÖƬµÄ²éѯºÏ²¢ + ¾ÛºÏÔËËã + Êý¾Ý·µ»Ø

ͼ 1 ʱÐòÊý¾Ý²éѯÁ÷³Ì
Õë¶Ô¾ÛºÏÔËËãµÄ²éѯ¿ÉÒÔ´ÓÁ½¸ö·½Ïò½øÐÐÓÅ»¯£º·Ö²¼Ê½¾ÛºÏ²éѯºÍÊý¾ÝÔ¤´¦Àí¡£·Ö²¼Ê½¾ÛºÏ²éѯͨ¹ý²¢·¢Ê¹Óöà¸ö½Úµã²¢ÐвéѯºÍ¼ÆËãÀ´Ìá¸ßÐÔÄÜ£¬¼õÉÙÁË·ÖÆ¬²éѯÒÔ¼°¾ÛºÏÔËËãµÄʱ¼ä£¬±£Ö¤ÁËʱÐòÊý¾Ý·ÖÎö½á¹ûÃë¼¶·µ»Ø¡£¶øÊý¾ÝÔ¤´¦ÀíÔòÊÇͨ¹ý¿Õ¼ä»»Ê±¼äµÄ˼·£¬½«Êý¾Ý¸ù¾Ý²éѯ¹æÔòÔ¤ÏȼÆË㣬²éѯʱֱ½Ó·µ»ØÉÙÁ¿µÄ¾ÛºÏÔËËã½á¹ûÀ´±£Ö¤¸üµÍµÄ²éѯÑÓʱ¡£Ê±ÐòÊý¾Ý¿â¿ÉÒÔ·Ö±ð´Ó¶þÖÖ·½Ê½½øÐвéѯÓÅ»¯£¬±¾ÎÄÖ®ºóÖ÷ÒªÕë¶ÔÊý¾ÝÔ¤´¦Àí×öÉîÈë·ÖÎö¡£
3. ʱÐòÊý¾Ý²éѯµÄÔ¤´¦Àí
ʱÐòÊý¾ÝµÄÔ¤´¦Àí¸ù¾ÝʵʱÐÔ¿ÉÒÔ·ÖΪ¶þÖÖ£ºÅú´¦ÀíºÍÁ÷ʽ´¦Àí¡£
Åú´¦Àí
Åú´¦ÀíÊÇʹÓà pull µÄ·½Ê½²éѯʱÐòÔʼÊý¾Ý£¬Ô¤ÏȽøÐоۺÏÔËËã»ñÈ¡Êý¾Ý½á¹ûдÈëʱÐòÊý¾Ý¿â£¬µ±½øÐоۺϲéѯʱֱ½Ó·µ»ØÔ¤´¦ÀíºóÊý¾Ý½á¹û¡£Ê±ÐòÊý¾Ý¿â¶¨ÆÚÂÖѯ¹æÔò£¬¸ù¾Ý²ÉÑù´°¿Ú´´½¨Ô¤´¦ÀíÈÎÎñ£¬ÈÎÎñ¸ù¾Ý¹æÔòÐÅÏ¢Ðγɶà¸öÈÎÎñ¶ÓÁС£¶ÓÁÐÄÚÈÎÎñ˳ÐòÖ´ÐУ¬¶ÓÁмäÈÎÎñ²¢·¢Ö´ÐУ¬¶àÈÎÎñ¶ÓÁб£Ö¤Á˶à×â»§¶Ô¼ÆËã×ÊÔ´¹²Ïí¡£

ͼ 2 Åú´¦Àí
Ô¤´¦ÀíÈÎÎñµÄÖ´ÐÐÖ÷Òª·ÖΪ¶þÖÖ»·¾³£ºµ¥»ú»·¾³ÒÔ¼°·Ö²¼Ê½»·¾³¡£
µ¥»ú»·¾³£ºÈÎÎñµ÷¶ÈÄ£¿éÂß¼Ïà¶Ô¼òµ¥£¬µ÷¶ÈÄ£¿éͨ¹ý½ø³ÌÄÚÏûÏ¢»òÕßÂÖѯ¶à¸öÈÎÎñ¶ÓÁУ¬Ë³Ðò»ñÈ¡¶ÓÁÐÄÚδִÐеÄÔ¤´¦ÀíÈÎÎñ£¬Ìá½»ÈÎÎñµ½Ï̳߳ØÖ´ÐС£
·Ö²¼Ê½»·¾³£º¶à¸ö¼ÆËã½Úµã¹²ÏíÈÎÎñ¶ÓÁУ¬¶ÔÔ¤´¦ÀíÈÎÎñ½øÐÐÇÀÕ¼Ö´ÐУ¬Äܹ»Ö§³Ö¼ÆËã½ÚµãµÄÏßÐÔÀ©Õ¹£¬·Ö²¼Ê½»·¾³¿ÉÒÔ°üº¬¶àÖÖʵÏÖ¡£
1.ÏûÏ¢¶ÓÁз½Ê½£º ʱÐòÊý¾Ý¿âÂÖѯԤ´¦Àí¹æÔò£¬´´½¨Ô¤´¦ÀíÈÎÎñʱ£¬Ìí¼ÓÈÎÎñÏûÏ¢µ½ÏûÏ¢¶ÓÁУ¬Í¬Ê±ÉèÖÃÏûÏ¢·Ö×飬ÏàͬµÄ¹æÔòʹÓÃÏàͬµÄ·Ö×é¡£¼ÆËã½ÚµãÏû·ÑÈÎÎñÏûÏ¢£¬×éÄÚÏûϢ˳ÐòÖ´ÐУ¬×éÍâÏûÏ¢²¢·¢Ö´ÐС£
2.Ò»ÖÂÐÔ hash ·½Ê½£º¶à¸ö¼ÆËã½Úµãͨ¹ýÒ»ÖÂÐÔ hash Ëã·¨£¬ÐγÉÒ»¸öÒ»ÖÂÐÔ
hash »·£¬Ô¤´¦ÀíÈÎÎñ¸ù¾Ý·ÖƬËã·¨£¨Ê¹ÓùæÔòÐÅÏ¢£©½«ÏàͬµÄÈÎÎñ¶ÓÁÐÌá½»µ½ÏàͬµÄ¼ÆËã½Úµã£¬±£Ö¤ÈÎÎñ¶ÓÁÐ˳ÐòÖ´ÐС£
3.µ÷¶ÈÄ£¿é·½Ê½£º Óɵ÷¶ÈÄ£¿éͳһ½øÐÐÈÎÎñ¶ÓÁеĵ÷¶È£¬Ïàͬ¹æÔòÈÎÎñÌá½»µ½ÏàͬµÄ¼ÆËãµ¥Ôª£¬±£Ö¤Æä˳ÐòÖ´ÐС£
Á÷ʽ´¦Àí
Á÷ʽ´¦Àí¿ò¼ÜͬÑùÄܹ»Ö§³Ö¶ÔÊý¾ÝÁ÷×ö¾ÛºÏÔËË㣬²»Í¬ÓÚÅú´¦Àí·½Ê½£¬Ê±ÐòÊý¾ÝÐèҪ·Óɵ½Á÷ʽ´¦Àí¿ò¼ÜÀýÈç
Spark£¬Flink µÈ£¬µ±Êý¾Ýʱ¼ä´Áµ½´ï²ÉÑù´°¿Úʱ£¬ÔÚÄÚ´æÖÐʵʱ¼ÆË㣬дÈëʱÐòÊý¾Ý¿â¡£

ͼ 3 Á÷ʽԤ´¦Àí
Á÷ʽ´¦ÀíÊôÓÚ·Ö²¼Ê½ÄÚ´æ¼ÆË㣬ÏàͬµÄ²ÉÑù´°¿ÚÊý¾ÝÐèÒªÔÚͬÑùµÄ¼ÆËãµ¥ÔªÖоۺÏÔËË㣬Òò´ËÐèÒª½«ÏàͬÊý¾ÝÁ÷Ó³Éäµ½ÏàͬµÄ¼ÆËãµ¥Ôª£¬Êý¾ÝÁ÷ÈÎÎñµ÷¶ÈÊÇÁ÷ʽ´¦ÀíÐèÒª½â¾öµÄºËÐÄÎÊÌâ¡£
1.ÖÐÐÄ»¯µÄµ÷¶È£ºÓɵ÷¶ÈÄ£¿éͳһµ÷¶ÈÊý¾ÝÁ÷£¬½«ÏàͬµÄÊý¾ÝÁ÷ʹÓÃͬһµÄ¼ÆËãµ¥Ôª´¦Àí¡£
2.Ò»ÖÂÐÔ hash ·½·¨£ºÍ¨¹ýʹÓÃ·ÖÆ¬ (ʹÓùæÔòÐÅÏ¢)£¬½«ÏàͬµÄÔ¤´¦Àí¹æÔòÊý¾ÝÁ÷Ó³Éäµ½ÏàͬµÄ¼ÆËãµ¥ÔªÀ´±£Ö¤ÄÚ´æÊý¾Ý¼ÆËãµÄÕýÈ·ÐÔ¡£Åú´¦ÀíµÄÓŵãÊÇÖ§³Ö¶ÔÀúʷʱÐòÊý¾ÝµÄ´¦Àí£¬ÊµÏÖ¼òµ¥¡£µ«ÊÇÅú´¦Àí¾ßÓвéѯÊý¾ÝÁ¿´ó£¬·ÇʵʱµÄȱµã¡£Á÷ʽ´¦ÀíµÄÓŵãÊÇÊý¾Ýʵʱ¼ÆË㣬ÎÞÐè²éѯÔʼÊý¾Ý¡£µ«ÊÇÁ÷ʽ´¦ÀíÐèÒªÌØÊâ´¦ÀíдÈëµÄÀúÊ·Êý¾Ý£¬Ò²ÐèÒª´¦ÀíÔËËã¹ý³ÌÖбÀÀ£µÄ¼ÆËãµ¥Ôª¡£Åú´¦ÀíºÍÁ÷³Ì´¦Àí¸÷ÓÐÓÅȱµã£¬Í¨³£Ê±ÐòÊý¾Ý¿âÐèÒª½áºÏ¶þÖÖ·½Ê½¶ÔÊý¾Ý½øÐÐÔ¤´¦Àí¡£
4. ÕæÊµÓÃÀý OpenTsdb ʱÐòÊý¾Ý¿â
OpenTsdb µ±Ç°×îа汾²¢²»Ö§³ÖÊý¾ÝÔ¤´¦Àí£¬µ«ÊÇÔÚ OpenTsdb µÄ RoadMap ÖпÉÒÔ¿´µ½£¬ÔÚ
OpenTsdb2.4 ÒÔ¼°ºóÐø°æ±¾ÖÐ×¼±¸Ê¹ÓÃÐ嵀 API À´Ö§³Ö£¬Ö÷ҪʹÓÃÅú´¦ÀíÒÔ¼°Á÷ʽ´¦Àí¡£
1.Åú´¦Àí£º¸ù¾Ý²ÉÑù´°¿Ú£¬¶¨Ê±²éѯÔʼÊý¾Ý½øÐоۺÏÔËË㣬´æ´¢¼ÆËã½á¹û¡£
2.Á÷ʽ´¦Àí£º½áºÏ Spark¡¢Flink µÈÁ÷ʽ´¦Àí¿ò¼Ü£¬¶ÔʱÐòÊý¾ÝÁ÷×öʵʱ¼ÆËã¡£
3.OpenTsdb ÆÚÍûÔ¤´¦ÀíÄܹ»ÌṩÓû§¸ü¼Ó¸ßЧµÄ²éѯÌåÑ飬ͬʱ½â¾ö´óÊý¾Ý²éѯ¼ÆËãʱϵͳ±ÀÀ£µÄÎÊÌâ¡£
4.InfluxDB ʱÐòÊý¾Ý¿â
InfluxDB Ö§³Ö CQ(continous query) µÄ¹¦ÄÜ£¬CQ ͨ¹ý¶¨ÆÚ pull
ÔʼʱÐòÊý¾Ý½øÐмÆË㣬½«¼ÆËã½á¹û´æ´¢ÔÚÄÚ²¿ÌØÊâ metric ÖС£Óû§Í¨¹ý´´½¨ CQ À´ÊµÏÖ¶ÔÊý¾ÝÔ¤´¦Àí£¬InfluxDB
µÄ CQ Ö÷Òª²ÎÊý°üº¬£º¾ÛºÏº¯ÊýÃû³Æ¡¢´¢´æ metric µÄÃû³Æ¡¢²éѯ¶ÈÁ¿µÄÃû³Æ¡¢²ÉÑùʱ¼ä´°¿ÚÒÔ¼°±êÇ©Ë÷Òý¡£
SELECT
<function[s]> INTO <destination_measurement>
FROM <measurement> [WHERE <stuff>]
GROUP BY time(<interval>)[,<tag_key[s]>] |
5. ½áÊøÓï
ʹÓÃÔ¤´¦ÀíÄÜÓÐЧµÄ½µµÍ²ÉÑù¾ÛºÏº¯Êý²éѯ¶ÔϵͳµÄ˲ʱ²éѯѹÁ¦£¬ÊµÏÖÊý¾Ý¼ÆËãÒ»´Î¶à´Î²éѯ£¬Í¬Ê±Ò²ÄÜÓÐЧµÄ½µµÍ²éѯÑÓ³Ù£¬Ìá¸ßÓû§ÌåÑé¡£°Ù¶ÈÌ칤ʱÐòÊý¾Ý¿âƽ̨ҲÔçÔÚ
2016 ÄêÄ©¾ÍÍÆ³öÁËÔ¤´¦Àí¹¦ÄÜ£¬Âú×ãÁËÎï¿ÉÊӶԾۺϲéѯ¸ßƵºÍµÍʱÑÓµÄÐèÇó¡£µ«ÊǶԴóÁ¿ÔʼÊý¾ÝµÄ²éѯ£¬Ê±ÐòÊý¾Ý¿âÒÀÈ»»áÓöµ½ÐÔÄÜ¡¢¸ßÑÓʱµÈÌôÕ½£¬ºóÐøÎÄÕ½«»á¶Ô´Ë×öÉîÈë·ÖÎö¡£ |