çŸåšãã¢ããªã·ã㯠ã³ãŒãã«å ããŠãç§ãã¡ã®ãããžã§ã¯ãã«ã¯æ°åã®ãã€ã¯ããµãŒãã¹ãå«ãŸããŠããŸãã ãããããç£èŠããå¿ èŠããããŸãã DevOps ãšã³ãžãã¢ã䜿ã£ãŠãã®ãããªèŠæš¡ã§ãããè¡ãã«ã¯åé¡ããããŸãã éçºè åãã®ãµãŒãã¹ãšããŠæ©èœããç£èŠã·ã¹ãã ãéçºããŸããã 圌ãã¯ç¬ç«ããŠç£èŠã·ã¹ãã ã«ã¡ããªã¯ã¹ãæžã蟌ã¿ãããã䜿çšããããã«åºã¥ããŠããã·ã¥ããŒããæ§ç¯ãããããå€ã«éãããšãã«ããªã¬ãŒãããã¢ã©ãŒããããã«æ·»ä»ããããšãã§ããŸãã DevOps ãšã³ãžãã¢ã®å Žåã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ãšããã¥ã¡ã³ãã®ã¿ã
ãã®æçš¿ã¯ãç§ãšã®ã¹ããŒãã®æžãèµ·ããã§ãã
éå»: èšç»ãšèšç»
ã©ã®ããã«ããŠçŸåšã®ç£èŠã·ã¹ãã ã«å°éããã®ã§ãããã? ãã®è³ªåã«çããã«ã¯ã2015 幎ã«æ»ãå¿ èŠããããŸãã ãã®ãšãã®æ§åã¯æ¬¡ã®ãšããã§ãã
ç£èŠãæ
åœããããŒãã¯çŽ 24 ãããŸããã äœããã®åœ¢ã§äœããç£èŠããã¡ãã»ãŒãžãéä¿¡ããæ©èœãå®è¡ãããããŸããŸãªã¯ã©ãŠã³ãã¹ã¯ãªãããããŒã¢ã³ã®ããã¯å
šäœãååšããŸãã ç§ãã¡ã¯ãå
ãžé²ãã°é²ãã»ã©ããã®ãããªã·ã¹ãã ã¯å®è¡å¯èœã§ãªããªãã ãããšèããŸããã ããŸãã«ãé¢åãªã®ã§ãéçºããæå³ããããŸããã
ç§ãã¡ã¯ãç¶æããã³éçºããç£èŠèŠçŽ ãšæŸæ£ããç£èŠèŠçŽ ãéžæããããšã«ããŸããã ããã㯠19 åãããã°ã©ãã¡ã€ããã¢ã°ãªã²ãŒã¿ãŒãããã·ã¥ããŒããšããŠã® Grafana ã ããæ®ããŸããã ããããæ°ããã·ã¹ãã ã¯ã©ã®ãããªãã®ã«ãªãã®ã§ãããã? ãã®ãããªïŒ
ã¡ããªã¯ã¹ ã¹ãã¬ãŒãžããããŸãããããã¯é«é SSD ãã©ã€ããããŒã¹ãšããã°ã©ãã¡ã€ãã§ãããã¡ããªã¯ã¹ã®ç¹å®ã®ã¢ã°ãªã²ãŒã¿ã§ãã 次 - ããã·ã¥ããŒãã衚瀺ããããã® Grafana ãšã¢ã©ãŒããäœæããããã® Moiraã ãŸããç°åžžãæ€çŽ¢ããã·ã¹ãã ãéçºããããšèããŠããŸããã
æšæº: ã¢ãã¿ãªã³ã° 2.0
ããã 2015 幎ã®èšç»ã®æ§åã§ããããããã€ã³ãã©ã¹ãã©ã¯ãã£ãšãµãŒãã¹èªäœã ãã§ãªãããã®ããã®ããã¥ã¡ã³ããæºåããå¿ èŠããããŸããã ç§ãã¡ã¯ãã¢ãã¿ãªã³ã° 2.0 ãšåŒã¶ç€Ÿå æšæºãç¬èªã«éçºããŸããã ã·ã¹ãã ã®èŠä»¶ã¯äœã§ããã?
- åžžã«å©çšå¯èœã
- ã¡ããªã¯ã¹ã®ä¿åéé = 10 ç§ã
- ã¡ããªã¯ã¹ãšããã·ã¥ããŒãã®æ§é åãããã¹ãã¬ãŒãžã
- SLA > 99,99%
- UDP ãä»ããã€ãã³ã ã¡ããªã¯ã¹ã®åé (!)ã
ã¡ããªã¯ã¹ãçæãã倧éã®ãã©ãã£ãã¯ãšã€ãã³ãããããããUDP ãå¿ èŠã§ããã ããããã¹ãŠãäžåºŠã«ã°ã©ãã¡ã€ãã«æžã蟌ããšãã¹ãã¬ãŒãžã厩å£ããŸãã ãŸãããã¹ãŠã®ã¡ããªã¯ã¹ã«å¯ŸããŠç¬¬ XNUMX ã¬ãã«ã®ãã¬ãã£ãã¯ã¹ãéžæããŸããã
åãã¬ãã£ãã¯ã¹ã«ã¯äœããã®ããããã£ããããŸãã ãµãŒããŒããããã¯ãŒã¯ãã³ã³ããããªãœãŒã¹ãã¢ããªã±ãŒã·ã§ã³ãªã©ã®ã¡ããªã¯ã¹ããããŸãã æ確ã§å³å¯ãªåä»ããã£ã«ã¿ãªã³ã°ãå®è£
ãããŠããã第 2015 ã¬ãã«ã®ã¡ããªã¯ã¹ãåãå
¥ããæ®ãã¯åçŽã«åé€ãããŸãã ãã®ããã«ããŠãXNUMX 幎ã«ãã®ã·ã¹ãã ãèšç»ããŸããã çŸåšã«ã¯äœãå
¥ã£ãŠããã®ã§ããããïŒ
çŸåš: ç£èŠã³ã³ããŒãã³ãã®çžäºäœçšã®å³
ãŸã第äžã«ãç§ãã¡ã¯ã¢ããªã±ãŒã·ã§ã³ãã€ãŸã PHP ã³ãŒããã¢ããªã±ãŒã·ã§ã³ããã€ã¯ããµãŒãã¹ãã€ãŸãéçºè ãäœæãããã¹ãŠã®ãã®ãç£èŠããŸãã ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã¯ãUDP çµç±ã§ Brubeck ã¢ã°ãªã²ãŒã¿ãŒ (statsdãC ã§æžãçŽããããã®) ã«ã¡ããªã¯ã¹ãéä¿¡ããŸãã ç·åãã¹ãã§ã¯æéã§ããããšãå€æããŸããã ãããŠãæ¢ã«éçŽãããã¡ããªã¯ã¹ã TCP çµç±ã§ Graphite ã«éä¿¡ããŸãã
ã¿ã€ããŒãšåŒã°ããäžçš®ã®ã¡ããªã¯ã¹ããããŸãã ããã¯ãšãŠã䟿å©ãªããšã§ãã ããšãã°ããµãŒãã¹ãžã®ãŠãŒã¶ãŒæ¥ç¶ããšã«ãå¿çæéã®ã¡ããªãã¯ã Brubeck ã«éä¿¡ããŸãã 10 äžä»¶ã®å¿çãè¿ãããŸããããã¢ã°ãªã²ãŒã¿ãŒã¯ 4 ã¡ããªã¯ã¹ã®ã¿ãè¿ããŸããã 蚪åè æ°ãæ倧ãæå°ãå¹³åå¿çæéãäžå€®å€ã第 XNUMX ããŒã»ã³ã¿ã€ã«ãããããŸãã 次ã«ãããŒã¿ã Graphite ã«è»¢éããããã¹ãŠãã©ã€ãã§è¡šç€ºãããŸãã
ãŸããããŒããŠã§ã¢ããœãããŠã§ã¢ãã·ã¹ãã ã¡ããªã¯ã¹ãããã³å€ã Munin ç£èŠã·ã¹ãã (2015 幎ãŸã§æ©èœããŠããŸãã) ã«é¢ããã¡ããªã¯ã¹ã®éèšãè¡ã£ãŠããŸãã ããããã¹ãŠã C ããŒã¢ã³ã® CollectD ãéããŠåéããŸã (ããã«ã¯ããŸããŸãªãã©ã°ã€ã³ãçµã¿èŸŒãŸããŠãããã€ã³ã¹ããŒã«ãããŠãããã¹ã ã·ã¹ãã ã®ãã¹ãŠã®ãªãœãŒã¹ãããŒãªã³ã°ã§ããŸããæ§æã§ããŒã¿ãæžã蟌ãå Žæãæå®ããã ãã§ã)ããããéããŠããŒã¿ãGraphiteã«æžã蟌ã¿ãŸãã Python ãã©ã°ã€ã³ãšã·ã§ã« ã¹ã¯ãªããããµããŒãããŠãããããç¬èªã®ã«ã¹ã¿ã ãœãªã¥ãŒã·ã§ã³ãäœæã§ããŸããCollectD ã¯ããŒã«ã«ãŸãã¯ãªã¢ãŒã ãã¹ã (Curl ãæ³å®) ãããã®ããŒã¿ãåéããGraphite ã«éä¿¡ããŸãã
次ã«ãåéãããã¹ãŠã®ã¡ããªã¯ã¹ã Carbon-c-relay ã«éä¿¡ããŸãã ããã¯ãGraphite ã® Carbon Relay ãœãªã¥ãŒã·ã§ã³ã C ã§ä¿®æ£ãããã®ã§ããããã¯ãã¢ã°ãªã²ãŒã¿ãŒããéä¿¡ããããã¹ãŠã®ã¡ããªã¯ã¹ãåéããããããããŒãã«ã«ãŒãã£ã³ã°ããã«ãŒã¿ãŒã§ãã ãŸããã«ãŒãã£ã³ã°æ®µéã§ããã¡ããªã¯ã¹ã®æå¹æ§ããã§ãã¯ãããŸãã 第äžã«ããããã¯åã«ç€ºãããã¬ãã£ãã¯ã¹ ã¹ããŒã ã«å¯Ÿå¿ããå¿ èŠãããã第äºã«ãã°ã©ãã¡ã€ãã«å¯ŸããŠæå¹ã§ãããšããããšã§ãã ããããªããšèœã¡ãŠããŸããŸãã
次ã«ãCarbon-c-relay ã¯ã¡ããªã¯ã¹ã Graphite ã¯ã©ã¹ã¿ãŒã«éä¿¡ããŸãã ã¡ããªã¯ã¹ã®ã¡ã€ã³ã¹ãã¬ãŒãžãšããŠãGo ã§æžãçŽããã Carbon-cache ã䜿çšããŸãã Go-carbon ã¯ãã«ãã¹ã¬ããåã«ãããCarbon-cache ãããã¯ããã«åªããããã©ãŒãã³ã¹ãçºæ®ããŸãã ããŒã¿ãåä¿¡ãããŠã£ã¹ã㌠ããã±ãŒãž (æšæºãPython ã§èšè¿°) ã䜿çšããŠãã£ã¹ã¯ã«æžã蟌ã¿ãŸãã ã¹ãã¬ãŒãžããããŒã¿ãèªã¿åãããã«ãGraphite API ã䜿çšããŸãã æšæºã® Graphite WEB ãããã¯ããã«é«éã§ãã 次ã«ããŒã¿ã¯ã©ããªããŸãã?
圌ãã¯ã°ã©ãã¡ãã«è¡ããŸãã ç§ãã¡ã¯ã°ã©ãã¡ã€ã ã¯ã©ã¹ã¿ãŒãäž»ãªããŒã¿ ãœãŒã¹ãšããŠäœ¿çšããããã«ã¡ããªã¯ã¹ã衚瀺ããããã·ã¥ããŒããæ§ç¯ããããã® Web ã€ã³ã¿ãŒãã§ã€ã¹ãšã㊠Grafana ã䜿çšããŠããŸãã éçºè ã¯ãµãŒãã¹ããšã«ç¬èªã®ããã·ã¥ããŒããäœæããŸãã 次ã«ããããã«åºã¥ããŠã°ã©ããäœæããã¢ããªã±ãŒã·ã§ã³ããæžã蟌ãã ã¡ããªã¯ã¹ã衚瀺ããŸãã Grafana ã«å ããŠãSLAM ããããŸãã ããã¯ãã°ã©ãã¡ã€ãã®ããŒã¿ã«åºã¥ã㊠SLA ãèšç®ãã Python ããŒã¢ã³ã§ãã ãã§ã«è¿°ã¹ãããã«ãæ°åã®ãã€ã¯ããµãŒãã¹ããããããããã«ç¬èªã®èŠä»¶ããããŸãã SLAM ã䜿çšããŠããã¥ã¡ã³ãã«ã¢ã¯ã»ã¹ããGraphite ã®å 容ãšæ¯èŒããèŠä»¶ããµãŒãã¹ã®å¯çšæ§ãšã©ã®çšåºŠäžèŽããŠããããæ¯èŒããŸãã
ããã«é²ãã§ãèŠåãçºããŸãã ããã¯åŒ·åãªã·ã¹ãã ãã¢ã€ã©ã䜿çšããŠçµç¹ãããŠããŸãã ãã³ãããã®äžã«ç¬èªã®ã°ã©ãã¡ã€ãããããããç¬ç«ããŠããŸãã SKBãKonturãã®ã¡ã³ããŒã«ãã£ãŠéçºãããPython ãš Go ã§æžãããå®å šã«ãªãŒãã³ãœãŒã¹ã§ãã ã¢ã€ã©ã¯ã°ã©ãã¡ã€ãã«å ¥ãã®ãšåãæµããåããŸãã äœããã®çç±ã§ã¹ãã¬ãŒãžãåæ¢ããå Žåã§ããã¢ã©ãŒãã¯åŒãç¶ãæ©èœããŸãã
Moira ã Kubernetes ã«ãããã€ããRedis ãµãŒããŒã®ã¯ã©ã¹ã¿ãŒãã¡ã€ã³ ããŒã¿ããŒã¹ãšããŠäœ¿çšããŸãã ãã®çµæããã©ãŒã«ããã¬ã©ã³ããªã·ã¹ãã ãèªçããŸããã ã¡ããªãã¯ã®ã¹ããªãŒã ãšããªã¬ãŒã®ãªã¹ããæ¯èŒããŸãããã®äžã«èšåããªãå Žåãã¡ããªãã¯ã¯åé€ãããŸãã ãã®ãããXNUMX åãããæ°ã®ã¬ãã€ãã®ã¡ããªã¯ã¹ãåŠçã§ããŸãã
ãŸããäŒæ¥ LDAP ãæ¥ç¶ããŸããããããå©çšããŠãäŒæ¥ã·ã¹ãã ã®åãŠãŒã¶ãŒã¯ãæ¢åã® (ãŸãã¯æ°ããäœæããã) ããªã¬ãŒã«åºã¥ããŠèªåçšã®éç¥ãäœæã§ããŸãã Moira ã«ã¯ã°ã©ãã¡ã€ããå«ãŸããŠããããããã®ãã¹ãŠã®æ©èœããµããŒããããŠããŸãã ãããã£ãŠããŸããã®è¡ãååŸã㊠Grafana ã«ã³ããŒããŸãã ããŒã¿ãã°ã©ãã«ã©ã®ããã«è¡šç€ºããããã確èªããŸãã ãããŠãåãè¡ã Moira ã«ã³ããŒããŸãã å¶éä»ãã§ãã³ã°ã¢ãããããšãåºåã§ã¢ã©ãŒãã衚瀺ãããŸãã ããããã¹ãŠãè¡ãã®ã«ãç¹å¥ãªç¥èã¯å¿ èŠãããŸããã Moira ã¯ãSMSãé»åã¡ãŒã«ãJiraãSlack çµç±ã§ã¢ã©ãŒããéä¿¡ã§ããŸãããŸããã«ã¹ã¿ã ã¹ã¯ãªããã®å®è¡ããµããŒãããŠããŸãã ããªã¬ãŒãçºçããã«ã¹ã¿ã ã¹ã¯ãªãããŸãã¯ãã€ããªããµãã¹ã¯ã©ã€ããããšããããå®è¡ããæšæºå ¥åã§ãã®ãã€ããªã« JSON ãéä¿¡ããŸãã ãããã£ãŠãããã°ã©ã ã¯ããã解æããå¿ èŠããããŸãã ãã® JSON ãã©ããããã¯ããªã次第ã§ãã å¿ èŠã«å¿ã㊠Telegram ã«éä¿¡ããããJira ã§ã¿ã¹ã¯ãéããããäœã§ãã§ããŸãã
ãŸããã¢ã©ãŒãã®ããã«ç¬èªã«éçºãã Imagotag ã䜿çšããŠããŸãã åºé ã®é»åå€æã«ãã䜿ãããŠããããã«ãããŒãºã«åãããŠã¢ã¬ã³ãžããŸããã ã¢ã€ã©ããããªã¬ãŒãå°å ¥ããŸããã ããããã©ã®ãããªç¶æ ã«ããã®ãããã€çºçããã®ãã瀺ããŸãã éçºæ åœè ã®äžã«ã¯ãSlack ãé»åã¡ãŒã«ã§ã®éç¥ãæŸæ£ããŠããã®ããã«ãæ¯æãã人ãããŸãã
åœç€Ÿã¯å
é²çãªäŒæ¥ãªã®ã§ããã®ã·ã¹ãã 㧠Kubernetes ãç£èŠããŸããã ã¯ã©ã¹ã¿ãŒã«ã€ã³ã¹ããŒã«ãã Heapster ã䜿çšããŠã·ã¹ãã ã«çµã¿èŸŒã¿ãããŒã¿ãåéã㊠Graphite ã«éä¿¡ããŸãã ãã®çµæãå³ã¯æ¬¡ã®ããã«ãªããŸãã
ã³ã³ããŒãã³ãã®ç£èŠ
ãã®ã¿ã¹ã¯ã«äœ¿çšããã³ã³ããŒãã³ããžã®ãªã³ã¯ã®ãªã¹ãã次ã«ç€ºããŸãã ãããã¯ãã¹ãŠãªãŒãã³ãœãŒã¹ã§ãã
é»éïŒ
- ãŽãŒã«ãŒãã³:
github.com/lomik/go-carbon - ããããïŒ
github.com/graphite-project/whisper - ã°ã©ãã¡ã€ã API:
github.com/brutasse/graphite-api
ã«ãŒãã³Cãªã¬ãŒ:
ãã«ãŒããã¯:
åé:
ã¢ã€ã©ïŒ
ã°ã©ãã¡ã:
ããŒãã¹ã¿ãŒ:
çµ±èš
ãããŠãã·ã¹ãã ãç§ãã¡ã«ãšã£ãŠã©ã®ããã«æ©èœãããã瀺ãããã€ãã®æ°åããããŸãã
ã¢ã°ãªã²ãŒã¿ãŒ (ãã«ãŒããã¯)
ã¡ããªã¯ã¹ã®æ°: ~300/ç§
ã¡ããªã¯ã¹ãGraphiteã«éä¿¡ããéé: 30ç§
ãµãŒããŒãªãœãŒã¹äœ¿çšé: ~ 6% CPU (æ¬æ ŒçãªãµãŒããŒã«ã€ããŠè©±ããŠããŸã)ã ~ 1Gb RAM; ~3 Mbps LAN
ã°ã©ãã¡ã€ãïŒãŽãŒã«ãŒãã³ïŒ
ã¡ããªã¯ã¹ã®æ°: ~ 1/å
ã¡ããªã¯ã¹ã®æŽæ°éé: 30 ç§
ã¡ããªã¯ã¹ã®ä¿åã¹ããŒã : 30 ç§ 35 æ¥ã5 å 90 æ¥ã10 å 365 æ¥ (é·æéã«ããã£ãŠãµãŒãã¹ã«äœãèµ·ãã£ãŠããããææ¡ã§ããŸã)
ãµãŒããŒãªãœãŒã¹äœ¿çšé: CPU æ倧 10%ã ~ 20GB RAM; ~30Mbps LAN
æè»æ§
Avito ã§ã¯ãã¢ãã¿ãªã³ã° ãµãŒãã¹ã®æè»æ§ãéåžžã«éèŠããŠããŸãã ãªã圌ã¯å®éã«ãã®ãããªçµæã«ãªã£ãã®ã§ããããïŒ ãŸãããã®ã³ã³ããŒãã³ãã¯ãã³ã³ããŒãã³ãèªäœãšãã®ããŒãžã§ã³ã®äž¡æ¹ã§äº€æå¯èœã§ãã XNUMXã€ç®ã¯ãµããŒãæ§ã§ãã ãããžã§ã¯ãå šäœããªãŒãã³ãœãŒã¹ã§ãããããã³ãŒããèªåã§ç·šéããå€æŽãå ãããã®ãŸãŸã§ã¯å©çšã§ããªãæ©èœãå®è£ ããããšãã§ããŸãã 䞻㫠Go ãš Python ãªã©ã®éåžžã«äžè¬çãªã¹ã¿ãã¯ã䜿çšããããããããã¯éåžžã«ç°¡åã«å®è¡ãããŸãã
å®éã®åé¡ã®äŸã次ã«ç€ºããŸãã Graphite ã®ã¡ããªã¯ã¹ã¯ãã¡ã€ã«ã§ãã ååããããŸãã ãã¡ã€ã«å = ã¡ããªãã¯åã ãããŠããã«å°éããæ¹æ³ããããŸãã Linux ã®ãã¡ã€ã«å㯠255 æåã«å¶éãããŠããŸãã ãããŠãããŒã¿ããŒã¹éšéããã (ãå éšé¡§å®¢ããšããŠ) ã¹ã¿ãããããŸãã 圌ãã¯ç§ãã¡ã«ããèšããŸãããSQL ã¯ãšãªãç£èŠãããã®ã§ãã ãããŠãããã㯠255 æåã§ã¯ãªãããããã 8 MB ã§ãã ãããã Grafana ã§è¡šç€ºãããã®ãªã¯ãšã¹ãã®ãã©ã¡ãŒã¿ã確èªããããšèããŠããŸããããã«ããã®ãããªãªã¯ãšã¹ãã®å é ã確èªããããšèããŠããŸãã ãªã¢ã«ã¿ã€ã ã§è¡šç€ºããããæé«ã§ããã 圌ããèŠææ å¢ã«çœ®ãããæ¬åœã«çŽ æŽãããã ãããã
SQL ã¯ãšãªã®äŸã¯ã次ã®äŸããåŒçšãããŠããŸãã
Redis ãµãŒããŒãã»ããã¢ããããCollectd ãã©ã°ã€ã³ã䜿çšããŸãããã㯠Postgres ã«ç§»åãããããããã¹ãŠã®ããŒã¿ãååŸããã¡ããªã¯ã¹ã Graphite ã«éä¿¡ããŸãã ãã ããã¡ããªãã¯åãããã·ã¥ã«çœ®ãæããŸãã åãããã·ã¥ãããŒãšã㊠Redis ã«éä¿¡ããSQL ã¯ãšãªå šäœãå€ãšããŠåæã«éä¿¡ããŸãã ç§ãã¡ãããªããã°ãªããªãã®ã¯ãGrafana ã Redis ã«ã¢ã¯ã»ã¹ããŠãã®æ å ±ãååŸã§ããããšã確èªããããšã ãã§ãã Graphite API ãå ¬éããŠããçç±ã¯... ããã¯ããã¹ãŠã®ç£èŠã³ã³ããŒãã³ããšã°ã©ãã¡ã€ããšã®å¯Ÿè©±ã®ããã®ã¡ã€ã³ ã€ã³ã¿ãŒãã§ã€ã¹ã§ãããããã« aliasByHash() ãšããæ°ããé¢æ°ãå ¥åããŸããGrafana ããã¡ããªã¯ã¹ã®ååãååŸããããã Redis ãžã®ãªã¯ãšã¹ãã§ããŒãšããŠäœ¿çšããŸããå¿çãšããŠããŒã®å€ãååŸããŸããããããSQL ã¯ãšãªãã§ãã ããã§ãçè«äžè¡šç€ºããããšãäžå¯èœã ã£ã SQL ã¯ãšãªã®è¡šç€ºãããã®çµ±èšæ å ± (åŒã³åºãæ°ãè¡æ°ãtotal_time ãªã©) ãšãšãã« Grafana ã§è¡šç€ºããŸããã
çµæ
å¯çšæ§ã åœç€Ÿã®ç£èŠãµãŒãã¹ã¯ãããããã¢ããªã±ãŒã·ã§ã³ããã³ããããã³ãŒããã 24 æé 7 æ¥å©çšã§ããŸãã ã¹ãã¬ãŒãžèšåã«ã¢ã¯ã»ã¹ã§ããå Žåã¯ããµãŒãã¹ã«ããŒã¿ãæžã蟌ãããšãã§ããŸãã èšèªã¯éèŠã§ã¯ãããŸããã決å®ãéèŠã§ã¯ãããŸããã ãœã±ãããéããããã«ã¡ããªã¯ã¹ãé 眮ãããœã±ãããéããæ¹æ³ãç¥ãå¿ èŠãããã ãã§ãã
ä¿¡é Œæ§ã ãã¹ãŠã®ã³ã³ããŒãã³ãã¯ãã©ãŒã«ããã¬ã©ã³ãã§ãããè² è·ãé©åã«åŠçããŸãã
åå ¥éŸå€ãäœãã ãã®ã·ã¹ãã ã䜿çšããããã«ãGrafana ã§ããã°ã©ãã³ã°èšèªãã¯ãšãªãåŠã¶å¿ èŠã¯ãããŸããã ã¢ããªã±ãŒã·ã§ã³ãéããã¡ããªã¯ã¹ã Graphite ã«éä¿¡ãããœã±ãããå ¥åããã¢ããªã±ãŒã·ã§ã³ãéã㊠Grafana ãéããããã«ããã·ã¥ããŒããäœæããŠã¡ããªã¯ã¹ã®åäœã確èªããMoira çµç±ã§éç¥ãåä¿¡ããŸãã
ç¬ç«ã DevOps ãšã³ãžãã¢ã®å©ããåããã«ãããããã¹ãŠãèªåã§è¡ãããšãã§ããŸãã ããã¯å©ç¹ã§ãããããžã§ã¯ããä»ããç£èŠã§ãããããäœæ¥ãéå§ãããå€æŽãå ãããã誰ã«ãå°ããå¿ èŠããããŸããã
ç§ãã¡ã¯äœã®ããã«åªåããŠããã®ã§ããããïŒ
以äžã«ãªã¹ããããŠãããã®ã¯ãã¹ãŠãåãªãæœè±¡çãªèãã§ã¯ãªããå°ãªããšãæåã®äžæ©ãèžã¿åºããããã®ã§ãã
- ç°åžžæ€åºåšã Graphite ã¹ãã¬ãŒãžã«ã¢ã¯ã»ã¹ããããŸããŸãªã¢ã«ãŽãªãºã ã䜿çšããŠåã¡ããªã¯ã¹ããã§ãã¯ãããµãŒãã¹ãäœæããããšèããŠããŸãã 衚瀺ãããã¢ã«ãŽãªãºã ããã§ã«ååšããããŒã¿ãããããããæäœããæ¹æ³ãç¥ã£ãŠããŸãã
- ã¡ã¿ããŒã¿ã ç§ãã¡ã«ã¯å€ãã®ãµãŒãã¹ãããããããã¯ããµãŒãã¹ã§åã人ã ãšåãããã«ãæéã®çµéãšãšãã«å€åããŸãã ããã¥ã¡ã³ããæåã§ç¶ç¶çã«ä¿å®ããããšã¯ãªãã·ã§ã³ã§ã¯ãããŸããã ãã®ãããç§ãã¡ã¯çŸåšã¡ã¿ããŒã¿ããã€ã¯ããµãŒãã¹ã«åã蟌ãã§ããŸãã éçºè ãããåãããèšèªãSLA èŠä»¶ãéç¥ã®éä¿¡å ãšéä¿¡å ãèšèŒãããŠããŸãã ãµãŒãã¹ããããã€ãããšãããã¹ãŠã®ãšã³ãã£ã㣠ããŒã¿ã¯åå¥ã«äœæãããŸãã ãã®çµæãXNUMX ã€ã®ãªã³ã¯ãååŸãããŸããXNUMX ã€ã¯ããªã¬ãŒãžããã XNUMX ã€ã¯ Grafana ã®ããã·ã¥ããŒããžã§ãã
- å家åºã§ã®ã¢ãã¿ãªã³ã°ã ç§ãã¡ã¯ããã¹ãŠã®éçºè ããã®ãããªã·ã¹ãã ã䜿çšãã¹ãã§ãããšä¿¡ããŠããŸãã ãã®å Žåããã©ãã£ãã¯ãã©ãã«ããã®ãããã©ãã£ãã¯ã«äœãèµ·ãã£ãŠããã®ããã©ãã«èœã¡ãŠããã®ããã©ãã«åŒ±ç¹ãããã®ãââãåžžã«ææ¡ã§ããŸãã ããšãã°ãäœããçºçããŠãµãŒãã¹ãã¯ã©ãã·ã¥ããå ŽåããããŒãžã£ãŒããã®é»è©±ã§ã¯ãªãã¢ã©ãŒãã«ãã£ãŠãããç¥ããããã«ææ°ã®ãã°ãéããŠããã§äœãèµ·ãã£ãã®ãã確èªã§ããŸãã
- ãã€ããã©ãŒãã³ã¹ã ç§ãã¡ã®ãããžã§ã¯ãã¯æé·ãç¶ããŠãããçŸåšã§ã¯ 2 åãããçŽ 000 ã®ã¡ããªãã¯å€ãåŠçããŠããŸãã 000 幎åããã®æ°å㯠500 ã§ããããå¢å ã¯ç¶ããŠãããããã¯ããã°ãããããšãGraphite (ãããã) ããã£ã¹ã¯ ãµãã·ã¹ãã ã«å€§ããªè² è·ãäžãå§ããããšãæå³ããŸãã ãã§ã«è¿°ã¹ãããã«ããã®ç£èŠã·ã¹ãã ã¯ã³ã³ããŒãã³ãã®äºææ§ããããããéåžžã«æ±çšçã§ãã 誰ãã Graphite å°çšã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãç¶æããç¶ç¶çã«æ¡åŒµããŠããŸãããç§ãã¡ã¯å¥ã®éãé²ãããšã«ããŸããã
ã¯ãªãã¯ããŠã¹ ã¡ããªã¯ã¹ã®ãªããžããªãšããŠã ãã®ç§»è¡ã¯ã»ãŒå®äºããŠããŸããéããªãããããã©ã®ããã«è¡ãããããã©ã®ãããªå°é£ããããã©ã®ããã«å æããããã移è¡ããã»ã¹ãã©ã®ããã«è¡ããããããã€ã³ãã£ã³ã°ãšããŠéžæãããã³ã³ããŒãã³ããšãã®æ§æã«ã€ããŠè©³ãã説æããäºå®ã§ãã
ãæž
èŽããããšãããããŸããïŒ ãã®ãããã¯ã«é¢ããã質åãããããŸãããããããŸãã¯æ¬¡ã®æçš¿ã§ãçãããããŸãã ãããã誰ããåæ§ã®ç£èŠã·ã¹ãã ãæ§ç¯ããããåæ§ã®ç¶æ³ã§ã¯ãªãã¯ããŠã¹ã«åãæ¿ãããããçµéšãããã®ã§ãã³ã¡ã³ãã§å
±æããŠãã ããã
åºæïŒ habr.com