æé垯å¶éã
ãããå®è£ ãã2ã€ã®æ¹æ³ãåç §ããŠãã ããã
1ïŒã¢ã©ãŒãæ¡ä»¶ãšããŠ
2ïŒéç¥ã®ãã£ã«ã¿ãŒãšããŠ
誰ãããã®ã·ããªãªã®åé¿çãæãã€ããããšããããŸããïŒ ç§ã®ã·ã¹ãã ã24æé幎äžç¡äŒã§çšŒåããŠããªãéããã¢ã©ãŒãæ©èœå šäœãåºæ¬çã«åœ¹ã«ç«ããªãããããã®ãã±ããã«è³æããã®ã¯4人ã ãã§ããããšã«ã·ã§ãã¯ãåããŸããã ãã®åé¡ãåé¿ããããã«ä»ã®äººãè¡ã£ãŠããä»ã®æ©èœããã¯ããã¯ãæ¬ ããŠããã«éããªããšæããŸã...
çŸåšã®ãšããããã¹ãŠã®ã¢ã©ãŒãéç¥ããªãã«ããããããã»ã¹ãEODãã·ã£ããããŠã³ãããšãã«å€§éã®åœã®éç¥ãåãåããšããäºå®ãåãå ¥ããå¿ èŠããããŸãã
æ¬åœã«æ¹å€çã«èãããããšããŠããã®ã§ã¯ãªããä»ã®ãã¹ãŠã®äººããããã®ã¢ã©ãŒããã©ã®ããã«ç®¡çããŠããããæ··ä¹±ãããŠããã ãã§ãã Grafanaã¯äœå¹Žãåãã倧奜ãã§ãv4ã§æåã«å°å ¥ãããŠä»¥æ¥ãã¢ã©ãŒãæ©èœã远跡ããŠããŸããã ããããã¢ã©ãŒãã®æŽæ°ããããã³ã«å°ãé ãæ©ãŸãããã®å¶éã«å¯ŸåŠããŠããŸããã
@bblazeiããªãã¯æ£ããã§ãïŒ ããã¯ãåªå
é äœãä»ããå¿
èŠãããé©ãã¹ãæ©èœã§ããã確å®ã«åœ¹ç«ã€pplã«ãªããŸãã
@torkeloãã®æ©èœããã€èšç»ããããç¥ã£ãŠããŸããïŒ
次ã®2ã€ã®ãªãªãŒã¹ïŒ4.3ãš4.4ïŒã®ããŒããããã«å«ãŸããŠããªããããçŸæç¹ã§ã¯Etaã§ã¯ãããŸããã
ããŒããããã¯æ®å¿µã§ãã 24æé幎äžç¡äŒã§ã¯ãªãã·ã¹ãã ã§ã¢ã©ãŒããã¬ãŒã ã¯ãŒã¯ã䜿çšããããšãã©ã®ããã«æšå¥šããŸããïŒ
ããã¯ãæé垯ã«å¿ããŠç°ãªãã¢ã©ãŒãã¬ãã«ãèšå®ããå¿ èŠããããããéåžžã«å¿ èŠãªãã®ã§ãã
ç§ãã¡ã¯ïŒããã§ã¯ãããŸãããïŒãããèŸæ±åŒ·ãåŸ ã£ãŠããŸãã çŸåšãcurl toSlackã°ã©ããå®æçã«å©çšããŠããŸãã
@torkelotorkelo ã ãã°ããçµã¡ãŸããããããã«é¢ããæŽæ°ã¯è¡šç€ºãããŸããã ãŸããç¹å®ã®æéã«grafanaã¢ã©ãŒããç¡å¹ã«ã§ãããã©ãããªã©ãæ€èšããŠããŸãã ããã¯å¯èœã§ããïŒ
ãã®æ©èœã®ã¢ããããŒãã¯ãããŸããïŒ
[ã¢ã©ãŒããªã¹ã]ããŒãžã§ã¢ã©ãŒããæåã§äžæåæ¢ããããšã¯ã§ããŸãããïŒããšãã°ïŒæ¯æ¥2ïŒ30aã®DBãµãŒããŒã®ããã¯ã¢ããäžã«ãããããã¯ãŒã¯I / OåŸ æ©äžããšããã¢ã©ãŒãã衚瀺ãããŸãã ç¹å®ã®æéäžã«éç¥ãããªãã¢ã©ãŒããäœæãããšã確ãã«äŸ¿å©ã§ãã
grafanaã¯ã¢ãžã¥ãæŒç®ããµããŒãããŠããŸããïŒ æ¬¡ã«ãæçé¢æ°ã䜿çšããŠãããã«ã®è¿œå ã¡ããªãã¯ãšããŠUNIXæéãååŸã§ããããã«ãªããŸãã ã¢ãžã¥ãé¢æ°ã䜿çšãããšãUNIXæéã®é€ç®ã®äœãã86400ïŒ1æ¥ã®ç§æ°ïŒã§å²ãããšãã§ããŸãã 次ã«ãã¢ã©ãŒãã®æéã¡ããªãã¯ã«ç¯å²æ¡ä»¶ãè¿œå ã§ããŸãã å³ïŒ
ãã®ç®çã§ã¢ãžã¥ãæŒç®ãè¿œå ããã®ã¯é£ããã§ããããïŒ
æ¬åœã«ãã®æ©èœãå¿ èŠã§ãïŒ
ããã«é¢ããæŽæ°ã¯ãããŸããïŒ ããã¯WIPãªã®ãããããšãä»ããæ€èšäžããªã®ãã
䜿çšç¶æ³ãªã©ã®ç¹å®ã®ã¢ã©ãŒãã«ã¯ãå®éã«ã¯ç°ãªãæéæ ã䜿çšããããšèããŠããŸããããã¯ãæ¥äžã¯ç¹å®ã®ãããå€ãè¶ ãããšäºæ³ãããŸãããå€éã¯ããã§ã¯ãããŸããã
+1
+1
+1
ãªã人ã ïŒ @ bascarsija ïŒ@ maizyïŒã¯ããã«å¯Ÿãã人ã ã®èŠæ±ã«å察祚ãæããã®ã§ããïŒ
人ã ã¯ãããã®ã+1ãã¡ãã»ãŒãžã«ãå察祚ãæãããã®ã§ããã®ã¹ã¬ããã«ç»é²ããŠãããã¹ãŠã®äººã«é»åã¡ãŒã«éç¥ãéä¿¡ãããŸãã ãããã®ã+1ãã¡ãã»ãŒãžãã¹ã¬ããã«è¿œå ããå€ãã®äººã ã®çŽ¯ç©çãªåœ±é¿ã¯ãä¿¡å·å¯Ÿéé³æ¯ãåçã«äœäžãããããšã«ãããã¹ã¬ãããµãã¹ã¯ãªãã·ã§ã³æ©èœã®äŸ¡å€ãå€§å¹ ã«äœäžãããŸãã
åå¿ãä»ããŠåã«ãè³æããŸãã¯ãå察ãããããšã§ããã®ãããªé»åã¡ãŒã«éç¥ãããªã¬ãŒããããšãªããä»ã®äººãè¡ã£ãç¹å®ã®ææ¡ãŸãã¯ã³ã¡ã³ãã«é¢å¿ãŸãã¯åæã瀺ãããšãã§ããŸãã åé¡ãžã®é£åž¯/ç·äœçãªé¢å¿ã®æãé¡èãªè¡šç€ºã¯ãéåžžãåé¡ã®æåã®/äž»èŠãªèª¬æã®åå¿ã«ãŠã³ãã§ã-ããã«ããªãã®åå¿ãè¿œå ããããšãæ€èšããŠãã ããã
ççŽã«èšã£ãŠãããã¯Githubã®ã·ã¹ãã äžã®åé¡ã§ããããã¹ãŠã®ãããžã§ã¯ãã®ãã¹ãŠã®åé¡ã¹ã¬ããã«çããé©çšãããŸãã Github UIã¯ãŠãŒã¶ãŒã«ãã®çµæãéç¥ããããæããã«ãããæããšã©ãŸããããããããšã¯ãªããåé¡ãèªèããŠããïŒããã³/ãŸãã¯ããã«ãã£ãŠæªåœ±é¿ãåããŠããïŒãŠãŒã¶ãŒã¯ãã¹ã¬ããã«ããã«å¥ã®ã¡ãã»ãŒãžãè¿œå ããããšã«ãã£ãŠãã®ãããªãã£ãŒãããã¯ãæäŸããããšãããããå¯èœæ§ããããŸãïŒããã«ãããä¿¡å·å¯Ÿéé³æ¯ãããã«äœäžããŸãïŒã
説æããŠãããŠããããšãã ãããã®+1
ãæçš¿ãã人ã
ã¯ããããåãªãè¿·æã ãšç¥ã£ãŠããã°ããããããªãã£ãã ãããšæããŸãã ããã«ã€ããŠã®çã説æãæçš¿ããããšã¯ãããã®ããã€ããæ¢ãããããããŸãã...ãããŠç§ã®è³ªåã ãµã ãºããŠã³ã¯å€ãã®ããšãæå³ããå¯èœæ§ããããŸãã
1æ¥ã1é±éã1ãæã1幎ã®ç¹å®ã®æé垯ã«ãã¹ã±ãžã¥ãŒã«ã¢ã©ãŒãã®æŽæ°ã¯ãããŸããïŒ
åé¿çãšããŠãããã¯ãšã³ããšããŠprometheusã䜿çšããŸãã
hour()
ãããã¯1æ¥ã®æéïŒ0-23ïŒãè¿ããŸãã ã°ã©ãã«é衚瀺ã«ããããšãã§ããŸããAND
æ¡ä»¶ãè¿œå ããŠã hour()
ã¯ãšãªãç®çã®ç¯å²ïŒäŸïŒå¶æ¥æéïŒã®éã«ããå Žåã«ã®ã¿ã¢ã©ãŒããåºãããã«ããŸããday_of_week()
ã§ãåãããšãã§ããŸãã
äžçã®ããŸããŸãªããŒã ã«åºã¥ããŠ24æéãµãŒãã¹ãæäŸã§ããããã«ããå Žåã«ãããã®æ©èœãå¿ èŠã§ã...ããã«ã€ããŠäœãèšç»ã¯ãããŸããïŒ
ãã®æ©èœã®æºåãæŽããŸã§ã®éãåé¿çã䜿çšããããšããŠããŸãã
äŸïŒ
`` `
ã¡ããªãã¯AïŒproduction.application_a.actual_metric = 123ïŒããã¯ç§ã®å®éã®ã¡ããªãã¯ã§ãïŒ
ã¡ããªãã¯BïŒhelper.time_helper.hour = 1ã24ïŒ1æ¥ã®æéããšã«ã°ã©ãã¡ã€ãã«éä¿¡ãããåœã®æéã¡ããªãã¯ïŒ
alert requirement :
ïŒã¡ããªãã¯Aã100æªæºã§ãæéã10ãš20ã®ç¯å²å
ã«ããïŒ
ãŸã
ïŒã¡ããªãã¯Aã¯50æªæºã§ãããæéã¯ç¯å²10ããã³20ã®ç¯å²å€ã§ãïŒ
`` `
èšãæãããšïŒ
metric A threshold is 100 between 10AM to 8PM and it is 50 for rest of the time
ç§ã®è³ªå ïŒ
äžèšã®ã·ããªãªã§ã¯ãåäžã®ã°ã©ãããã«ã§å®çŸã§ããŸããããããšãç¯å²å ãšç¯å²å€ã«ãããã1ã€ãã€ç°ãªã2ã€ã®ã°ã©ãããã«ã䜿çšã§ããŸããïŒ ãŸãã¯ããããéæããããã«grafanaã«ä»ã®æ¹æ³ã¯ãããŸããïŒ ïŒæ³šïŒç§ã¯ã°ã©ãã¡ã€ã0.9ã䜿çšããŠããŸããïŒ
ãŸãããã®æ©èœãããã€ãã®èª€ã£ãã¡ããªãã¯ãgrafanaã«éä¿¡ããããã®èå³æ·±ãã¢ãããŒããåŸ ã£ãŠããŸã...ã¡ããªãã¯ãçæããããã®åªããã·ã³ãã«ãªãªãã·ã§ã³ã¯äœã§ããããïŒ
+1åŒã䜿çšããŠã¢ã©ãŒãæ¡ä»¶ãå¶éã§ããä»»æã®ã¯ãšãªãäœæã§ããŸããïŒ
1ãš2ã®éã®æéAND
+1ã¯ãšãŠããããããã§ãïŒ
ç²éãªåé¿çã«ã€ããŠã®ã³ã¡ã³ã
collectd / Influxdbã䜿çšããŸã
æéã®å€ããã©ãããªextãã¡ã€ã«ã«æžã蟌ãcronããã»ã¹ããããŸã
collect Tableãã©ã°ã€ã³ã¯ããããTable_ValueãšããŠèªã¿åããŸã-ã€ã³ã¹ã¿ã³ã¹ãæéã
ç¯å²ã®ã¿ã䜿çšããå¿
èŠãããã¢ã©ãŒãã§ã¯ãã¡ããªãã¯æéïŒæ倧ïŒãé衚瀺ã®ã¡ããªãã¯ãšããŠããã·ã¥ããŒãã«è¿œå ããã¢ã©ãŒãã§ã¯ANDç¯å²å€ã䜿çšããŸã-æéãXãšYã®éã«ããå Žåã«ã®ã¿ããªã¬ãŒããŸã
åãããšãææ¥ã§ãæ©èœããŸã
ç²éã ãå¹æç
@torkeloããããã€å®è£ ããããã«ã€ããŠã®ã²ã¹ãã¯ããŸããïŒ
ããããç³ãèš³ãããŸããããã³ã¢ããŒã ã®ããŒããããã«ã¯å«ãŸããŠããŸãã
Cloudvmã€ã³ã¹ã¿ã³ã¹ããªãã«ã¹ã±ãžã¥ãŒã«ãããŠããããã«ãªãã«ã¹ã±ãžã¥ãŒã«ãããŠãããšãã«ã¢ã©ãŒããéä¿¡ãããªãããã«ããããã®åé¿çã ã»ãšãã©ã®ã·ã¹ãã ã¯äœå¹Žãã®éãããæã£ãŠããŸãã
ãããè¿œå ããŠãã ãã;ïŒã¢ã©ãŒãç²åŽèšå®ã
æéã®å€ããã©ãããªextãã¡ã€ã«ã«æžã蟌ãcronããã»ã¹ããããŸã
ç¯å²ã®ã¿ã䜿çšããå¿ èŠãããã¢ã©ãŒãã§ã¯ãã¡ããªãã¯æéïŒæ倧ïŒãé衚瀺ã®ã¡ããªãã¯ãšããŠããã·ã¥ããŒãã«è¿œå ããã¢ã©ãŒãã§ã¯ANDç¯å²å€ã䜿çšããŸã-æéãXãšYã®éã«ããå Žåã«ã®ã¿ããªã¬ãŒããŸã
ããã¯éåžžã«å¹æçãªåé¿çã§ãããX-Yéã®ã¢ã©ãŒããç¡èŠããããã埮åŠã§ãã䟿å©ãªå©ç¹ããããŸããYã®åã«ç¶æ³ãä¿®æ£ãããªãå ŽåãYã§æåã®ã¢ã©ãŒããåãåããŸããX-Yéã®ã¢ã©ãŒããç¡èŠããå Žåã Yã®åŸã§ãã¢ã©ãŒãã¯è¡šç€ºãããŸããïŒãã ããããªãã€ã³ããŒã®éä¿¡ãæ©èœã䜿çšããããšã¯ã§ããŸãïŒã
ããŒã¿ãœãŒã¹ãšããŠã°ã©ãã¡ã€ãã䜿çšããå Žåãcronãžã§ãã¯å¿ èŠãªãããšãå€æããŸããã
timeSlice(isNonNull(identity(1)), '02:30 -9h', '06:00 -9h')
ã®ã¡ããªãã¯C
$ãè¿œå ããã¢ã©ãŒãæ¡ä»¶AND max() OF query(C, 1m, now) HAS NO VALUE
ãè¿œå ããŠã2ïŒ30ã6ïŒ00ã®ã¢ã©ãŒããé€å€ããŸããã ïŒãã®-9h
ã¯ãç§ã®ã¿ã€ã ãŸãŒã³ãªãã»ããã+9ïŒ00ã§ãããtimeSliceïŒïŒãUTCã§ããããã«èŠããããã§ããïŒ
ç·šéïŒãããè©ŠããŠæ°æ¥åŸããã®timeSlice()
ããªãã¯ã¯æ©èœããŠããªãããã§ã...ããã·ã¥ããŒããä¿åããæéã«åºå·ããŠããããã§ãæ¯æ¥ç§»åããŸããã
ããã¯å€§ããªæ¬ èœããŠããæ©èœã§ãã ãªããããããŒããããã«ãªãã®ã§ããïŒ å®è£ ããã®ã¯ç°¡åãªããã§ã
Prometheusã®hourïŒïŒé¢æ°ã䜿çšããåé¿çãæäŸããŠããã@albertvakaã«æ¬åœã«æè¬ããŸãã
æ®å¿µãªãããhourïŒïŒé¢æ°ã䜿çšãããšãã«ã¿ã€ã ãŸãŒã³ãèªåçã«èæ ®ããæ¹æ³ããªãããã«èŠããŸãïŒDSTãããå Žåã¯åé¡ã«ãªããŸãïŒã æãšæ¥ã«åºã¥ããŠæåã§ã¿ã€ã ãŸãŒã³ãèšç®ããããšããã§ããŸããã§ããããããã¯è¯ã解決çã§ã¯ãããŸããã
prometheus / prometheusïŒ4160ã®è©³çŽ°
ç°ãªãæ¥æã«ç°ãªããããå€ã¬ãã«ãèšå®ã§ãããšäŸ¿å©ã§ã
ããšãã°ãå€éã«ãŠãŒã¶ãŒã®æŽ»åã€ãã³ããã»ãšãã©ãªãå Žåã¯åé¡ãããŸããããæ¥äžã¯åé¡ãããŸãã
ãã®ãªã¯ãšã¹ãã«é²å±ã¯ãããŸããïŒ
ããããŸããããGrafana6.1.3ã§ããã«é¢é£ããæ°ãããã®ã¯èŠã€ãããŸããã§ãã
ãã®æ©èœãå®è£ ãããã®ã楜ãã¿ã«ããŠããŸãã Grafanaã¯ãããžãã¹ã¯ãªãã£ã«ã«ãªã¢ã©ãŒãã«äœ¿çšããŸããããšãã°ã空ãæéã«å¿ èŠããªãå Žåã¯ã瀟å ã®äººã«éç¥ããªããšäŸ¿å©ã§ãã
+1ããããå®è£ ãããããšãæãã§ããŸãã
+1ç¥ã¯çŠããŸãç§ã¯é±æ«ã«å®¶ã«åž°ãåã«ç£èŠãäžæåæ¢ããã®ãå¿ããŸããæææ¥ã«äºæ³ãããè¡åã®ããã«äœåãã®é»åã¡ãŒã«ã«æ»ã£ãŠããŸã
+1ãããã§ããã ãæ©ãå®è£ ããŠãã ãã-ãããããã«å®è£ ãããªãå Žåã¯ããã¹ãŠãthingsboardã«ç§»æ€ããå¿ èŠããããŸãhttps://thingsboard.io/
@torkeloãã®åé¡ã«é¢ããæ å ±ãæããŠãã ããã äœãé²å±ã¯ãããŸããïŒ
ããã«ã¡ã¯ããããå®è£ ããŠãã«ãªã¯ãšã¹ããè¡ãã®ã«ååãªç¥èãæã£ãŠãã人ã¯ããŸããïŒ
ãã®æ©èœããååŸãããããã«ç§ãäœãããããã話ãã§ããŸãã ã³ãŒãã¯ãããã©ã€ãšã¿ãªã§ããããå ±æã§ããŸãããããããã©ã€ãšã¿ãªã®å¯Ÿè±¡ã§ã¯ãªãã¢ã€ãã¢ãå ±æããããšã¯ã§ããŸã** ã
cronã§ã¹ã±ãžã¥ãŒã«ããã[SomeCloudProviderOfYourChoice] Lambdaé¢æ°ãããã€ãå®è£ ããŸãããGrafanaRESTAPIã䜿çšããŠããšã¯ã¹ããŒããããJSONãã€ããŒãããããã·ã¥ããŒãå šäœãæŽæ°ããããã«å¿ããŠã·ã¹ãã ã®ã¢ã¯ãã£ã/ã¢ã€ãã«æéã«å¿ããŠã¢ã©ãŒããšãããå€ãæŽæ°ããŸããïŒã·ã¹ãã ã¯æ¯æ¥8ã10æéã¢ã¯ãã£ãã§ãïŒé±æ«ä»¥å€ïŒã ããã¯éåžžã«ããŸãæ©èœããŸãã
ãããã
Grafana Web GUIã§ããã·ã¥ããŒããæäœãããšãã¯åžžã«ãJSONããã·ã¥ããŒãããã³ãããŠã GrafanaScheduler ããªããžããªã«ã³ãããããããšã«å€æŽãå ãããšãã¯å¿ ãå¿ é ã§ããããšã«æ³šæããå¿ èŠããããŸãã ãã€ããŒãïŒãµãŠã¹ããŒã¯S11E09ïŒã®ãã³ããå¿ããå Žåãã¹ã±ãžã¥ãŒã©ãŒãèµ·åãããã³ã«å€æŽã倱ãããŸãïŒå埩å¯èœã§ãããèŠçã§ãïŒã ãŸããå€æŽãã¢ã¯ãã£ã/ã¢ã€ãã«JSONãã³ãã®äž¡æ¹ã«äŒæããå¿ èŠããããŸããããã¯ãåºæ¬çã«2åã®åŽåãæå³ããŸãïŒããã«ãéããé©åã«ææžåãããŠããªãå Žåã¯ããã«å€ãã®äœæ¥ãå¿ èŠã§ãïŒã äºå®äžããã®ããœãªã¥ãŒã·ã§ã³ããšã¯ãååã«ææžåãããç¶æãããå¯èŠåãããå³å¯ã«å®ããã_ããã»ã¹_ã«å¯ŸåŠããå¿ èŠãããããšãæå³ããŸãã ã¢ã©ãŒãã®ãããå€ãå€æŽããããšã¯ãã£ãã«ãªãããã_process_ãªãŒããŒããããåŠçããã®ã¯ããã»ã©é¢åã§ã¯ãªãããã§ãã
ãšããã...
ç§ã¯çŸåšãSQLiteïŒãããã€ããŒã«ãã£ãŠå®æœïŒäžã§å®è¡ãããŠããAiven Grafanaã䜿çšããŠãããããããŒã¿ããŒã¹ããã䞊è¡ããŠæ©èœãè±å¯ãªãã®ã«å€æŽãããå ŽåãããŒã¿ããŒã¹ããªã¬ãŒãšã€ãã³ãã䜿çšããŠãããã®å°ããªãã®ãåŠçããæ¹æ³ãç解ã§ããŸãGrafana Web GUIãä»ããŠè¡ãããéšåçãªæŽæ°ã«ãããããã»ã¹å šäœãããã·ãŒã ã¬ã¹ã«ãªããŸãã
é 匵ã£ãŠãã ããïŒ
ãããè¿œå ããŠå®äºããŠãã ãããããã¯ãä»ã®ãã©ãããã©ãŒã ããã®ç§»è¡ã«ã¯ééããªãå¿ èŠã§ãã
T-SQLã¯ãšãªã䜿çšããç°¡åãªæ¹æ³ã¯ãGRAFANAãããŸããããšã§ãïŒåé¿çïŒã
SELECT timestamp AS time,
CASE
WHEN DATEPART(HOUR, SYSDATETIME()) NOT IN (0,1,2,3,4,5,6)
THEN COUNT(document_number)
ELSE 0
END AS Receipts
FROM GRAFANA.dbo.ReceiptsErrorsHistory
WHERE timestamp >= DATEADD(DAY, -7, GETDATE())
AND document_type = 'receipt'
GROUP BY timestamp
ãã®å®è£ ã®ã¹ããŒã¿ã¹ã¯ã©ãã§ããïŒ çŸåšãã¢ã©ãŒãã«seyrenãšcabotã䜿çšããŠãããGrafanaã¢ã©ãŒãã«ç§»è¡ããããšèããŠããŸãã æéå¶éããªããã°ãåé²ããããšã¯ã§ããŸããã
Elastic searchã®å Žåããã®åé¡ã解決ããç°¡åãªæ¹æ³ãèŠã€ããŸããã
æ¥ä»ã®èšç®ã䜿çšããŸãïŒ httpsïŒ//www.elastic.co/guide/en/elasticsearch/client/net-api/7.x/date-math-expressions.htmã
ããšãã°ãç¯å²ïŒAM 00ïŒ 00ãPM ïŒ12ïŒ00ïŒã®ããŒã¿ãå¿ èŠãªå Žåã@ timestampïŒ[now / d TO now / d + 12h]ã¯å¿ èŠãªçµæãè¿ãå¯èœæ§ããããŸã
@sukjoonhongç§ã¯ãããåäœãããããšãã§ããŸããã ã¹ã¯ãªãŒã³ã·ã§ããã¯ãããŸããïŒ
cronã䜿çšããŠã¢ã©ãŒãã®ãªã³ãšãªããåãæ¿ãããã®åé¿çããããŸãã ããã¯ããã¹ãŠã®ã¢ã©ãŒããäžæ©ã§ãªãã«ãããå ŽåïŒãŸãã¯ãåã ã®ã¢ã©ãŒãã®ã¹ã¯ãªãããäœæããã®ãé¢åãªå ŽåïŒã«ã®ã¿æ©èœããŸãã
grafanaããã¯ã¹ã®crontabã«ã次ã®ããã«è¿œå ããŸããã
1 * * * * root /root/do-alert-thing.sh
ãããŠ/root/do-alert-thing.shïŒ
#!/bin/bash
#Enable at 6am local
TZ='Somewhere/Sometime' date +%H | grep '06' && (
curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":false}' -u [email protected]:letmein -H 'Content-Type: application/json'
)
#Disable at 9pm local
TZ='Somewhere/Sometime' date +%H | grep '21' && (
curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":true}' -u [email protected]:letmein -H 'Content-Type: application/json'
)
Somewhere / Sometimeãã¿ã€ã ãŸãŒã³ã«çœ®ãæãïŒãã³ãïŒãªã¹ãã«å¯ŸããŠtimedatectl list-timezones
ãå®è¡ïŒã [email protected]
ã®ä»£ããã«ã¯ã¬ãã³ã·ã£ã«ãè¿œå ããŸãã ãã®ç®¡çãšã³ããã€ã³ãã¯ãããã¥ã¡ã³ãã«åŸã£ãŠåºæ¬èªèšŒã¢ãŒãã§ã®ã¿æ©èœããŸãã
ããã誰ããå©ããŠãããããšãé¡ã£ãŠããŸãã
@ Atem18
ç§ã®å Žåããã®ã¯ãšãªã¯æ©èœããŸããã
@sukjoonhongããããšãããããŸããè©ŠããŠã¿ãŸãïŒ
cronã䜿çšããŠã¢ã©ãŒãã®ãªã³ãšãªããåãæ¿ãããã®åé¿çããããŸãã ããã¯ããã¹ãŠã®ã¢ã©ãŒããäžæ©ã§ãªãã«ãããå ŽåïŒãŸãã¯ãåã ã®ã¢ã©ãŒãã®ã¹ã¯ãªãããäœæããã®ãé¢åãªå ŽåïŒã«ã®ã¿æ©èœããŸãã
grafanaããã¯ã¹ã®crontabã«ã次ã®ããã«è¿œå ããŸããã
1 * * * * root /root/do-alert-thing.sh
ãããŠ/root/do-alert-thing.shïŒ
#!/bin/bash #Enable at 6am local TZ='Somewhere/Sometime' date +%H | grep '06' && ( curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":false}' -u [email protected]:letmein -H 'Content-Type: application/json' ) #Disable at 9pm local TZ='Somewhere/Sometime' date +%H | grep '21' && ( curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":true}' -u [email protected]:letmein -H 'Content-Type: application/json' )
Somewhere / Sometimeãã¿ã€ã ãŸãŒã³ã«çœ®ãæãïŒãã³ãïŒãªã¹ãã«å¯ŸããŠ
timedatectl list-timezones
ãå®è¡ïŒã[email protected]
ã®ä»£ããã«ã¯ã¬ãã³ã·ã£ã«ãè¿œå ããŸãã ãã®ç®¡çãšã³ããã€ã³ãã¯ãããã¥ã¡ã³ãã«åŸã£ãŠåºæ¬èªèšŒã¢ãŒãã§ã®ã¿æ©èœããŸããããã誰ããå©ããŠãããããšãé¡ã£ãŠããŸãã
ãããè©ŠããŠåäœããŸããããgrafana uiã§ã¯ã1æéã ãäžæåæ¢ãããšè¡šç€ºãããŸãã ã ããç§ã¯....ãŸã§1æéããšã«ç¹°ãè¿ãããcrontabãäœæããå¿ èŠããããŸãã
ã¹ã¯ãªããã®åºåã«åºã¥ããŠããã¡ããŠã¹ã®ãªã³/ãªãã¡ããªãã¯ãçæãããšããå¥ã®è§åºŠããããã«ã¢ãããŒãããŸãããããšãã°ãããã¯ã¢ããã¹ã¯ãªãããå®è¡ãããŠãããã©ããããã§ãã¯ããpsã³ãã³ãã§ãã 次ã«ãããã·ã¥ããŒãã«ããã¯ã¢ããã¹ããŒã¿ã¹ã衚瀺ãããããã¯ã¢ããã¢ã¯ãã£ãããããããã¹ãŠã®ã¯ãšãªãšã¢ã©ãŒããå«ããã©ã€ããªããã«ã«ãããã¯ã¢ããã¡ããªãã¯ã1ã®å Žåã«ã¢ã©ãŒããåºããªãæ¡ä»¶ãã§ãã¯ãè¿œå ããŸãããã®ã¢ãããŒãã§ã¯ããŸããå±¥æŽã¡ããªãã¯ããŒã¿ãèæ ®ãããšãã«ããã¯ã¢ãããå¿ èŠä»¥äžã«é·ãå®è¡ãããå Žåã«çºçããå¥ã®ã¢ã©ãŒããè¿œå ããããšãã§ããŸãã
cronã䜿çšããŠã¢ã©ãŒãã®ãªã³ãšãªããåãæ¿ãããã®åé¿çããããŸãã ããã¯ããã¹ãŠã®ã¢ã©ãŒããäžæ©ã§ãªãã«ãããå ŽåïŒãŸãã¯ãåã ã®ã¢ã©ãŒãã®ã¹ã¯ãªãããäœæããã®ãé¢åãªå ŽåïŒã«ã®ã¿æ©èœããŸãã
grafanaããã¯ã¹ã®crontabã«ã次ã®ããã«è¿œå ããŸããã
1 * * * * root /root/do-alert-thing.sh
ãããŠ/root/do-alert-thing.shïŒ#!/bin/bash #Enable at 6am local TZ='Somewhere/Sometime' date +%H | grep '06' && ( curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":false}' -u [email protected]:letmein -H 'Content-Type: application/json' ) #Disable at 9pm local TZ='Somewhere/Sometime' date +%H | grep '21' && ( curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":true}' -u [email protected]:letmein -H 'Content-Type: application/json' )
Somewhere / Sometimeãã¿ã€ã ãŸãŒã³ã«çœ®ãæãïŒãã³ãïŒãªã¹ãã«å¯ŸããŠ
timedatectl list-timezones
ãå®è¡ïŒã[email protected]
ã®ä»£ããã«ã¯ã¬ãã³ã·ã£ã«ãè¿œå ããŸãã ãã®ç®¡çãšã³ããã€ã³ãã¯ãããã¥ã¡ã³ãã«åŸã£ãŠåºæ¬èªèšŒã¢ãŒãã§ã®ã¿æ©èœããŸãã
ããã誰ããå©ããŠãããããšãé¡ã£ãŠããŸãããããè©ŠããŠåäœããŸããããgrafana uiã§ã¯ã1æéã ãäžæåæ¢ãããšè¡šç€ºãããŸãã ã ããç§ã¯....ãŸã§1æéããšã«ç¹°ãè¿ãããcrontabãäœæããå¿ èŠããããŸãã
ãªããã®ãããªæ¯ãèããèŠãããã®ãããããŸããã ç§ã«ãšã£ãŠã¯ãæã®cronè¡ã䜿çšããŠäžæåæ¢ã解é€ãããŸã§ãäžæåæ¢ãã9æéäžæåæ¢ãããŸãŸã«ãªããŸãã
cronã䜿çšããŠã¢ã©ãŒãã®ãªã³ãšãªããåãæ¿ãããã®åé¿çããããŸãã ããã¯ããã¹ãŠã®ã¢ã©ãŒããäžæ©ã§ãªãã«ãããå ŽåïŒãŸãã¯ãåã ã®ã¢ã©ãŒãã®ã¹ã¯ãªãããäœæããã®ãé¢åãªå ŽåïŒã«ã®ã¿æ©èœããŸãã
grafanaããã¯ã¹ã®crontabã«ã次ã®ããã«è¿œå ããŸããã
1 * * * * root /root/do-alert-thing.sh
ãããŠ/root/do-alert-thing.shïŒ#!/bin/bash #Enable at 6am local TZ='Somewhere/Sometime' date +%H | grep '06' && ( curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":false}' -u [email protected]:letmein -H 'Content-Type: application/json' ) #Disable at 9pm local TZ='Somewhere/Sometime' date +%H | grep '21' && ( curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":true}' -u [email protected]:letmein -H 'Content-Type: application/json' )
Somewhere / Sometimeãã¿ã€ã ãŸãŒã³ã«çœ®ãæãïŒãã³ãïŒãªã¹ãã«å¯ŸããŠ
timedatectl list-timezones
ãå®è¡ïŒã[email protected]
ã®ä»£ããã«ã¯ã¬ãã³ã·ã£ã«ãè¿œå ããŸãã ãã®ç®¡çãšã³ããã€ã³ãã¯ãããã¥ã¡ã³ãã«åŸã£ãŠåºæ¬èªèšŒã¢ãŒãã§ã®ã¿æ©èœããŸãã
ããã誰ããå©ããŠãããããšãé¡ã£ãŠããŸãããããè©ŠããŠåäœããŸããããgrafana uiã§ã¯ã1æéã ãäžæåæ¢ãããšè¡šç€ºãããŸãã ã ããç§ã¯....ãŸã§1æéããšã«ç¹°ãè¿ãããcrontabãäœæããå¿ èŠããããŸãã
ãªããã®ãããªæ¯ãèããèŠãããã®ãããããŸããã ç§ã«ãšã£ãŠã¯ãæã®cronè¡ã䜿çšããŠäžæåæ¢ã解é€ãããŸã§ãäžæåæ¢ãã9æéäžæåæ¢ãããŸãŸã«ãªããŸãã
ç§ããã®æ¯ãèããèŠãŠãããšèšã£ãŠããããã§ã¯ãããŸããããããã¯æåéãgrafanaUIã§ããã瀺ããŠããŸãã 1æéäžæåæ¢ããŸããã ãããã£ãŠãäžæåæ¢ã®ããªãã¯ã¯1æéããæ©èœããªããšæ³å®ããŸããã
ããããããã誀ãã§ããå Žåãç§ã¯èšæ£ããããŸãŸã§ãã
ç§ããã®æ¯ãèããèŠãŠãããšèšã£ãŠããããã§ã¯ãããŸããããããã¯æåéãgrafanaUIã§ããã瀺ããŠããŸãã 1æéäžæåæ¢ããŸããã ãããã£ãŠãäžæåæ¢ã®ããªãã¯ã¯1æéããæ©èœããªããšæ³å®ããŸããã
ããããããã誀ãã§ããå Žåãç§ã¯èšæ£ããããŸãŸã§ãã
ããã¯åãªãã¢ã©ãŒãã¹ããŒã¿ã¹ã§ããå¯èœæ§ããããŸãã ããšãã°ãã¢ã©ãŒãã«åé¡ããªãå Žåã¯ã次ã®ããã«è¡šç€ºãããŸãã
1æéäžæåæ¢ãããšããããã1æéäžæåæ¢ããšè¡šç€ºãããŸããïŒ
ç§ã¯æãã§ããç§ã¯ç§ã誀解ããã«éããªããšæããŸãð¡
説æããŠãããŠããããšãïŒ
4幎åŸã«6.6.x>ããŒãžã§ã³ã§ãã®æ©èœãå®è£ ããèšç»ã¯ãããŸããïŒ
ãããå®è£ ãããã®ã楜ãã¿ã«ããŠããŸãã ããã¯ãç¡æãäŒæäžããŸãã¯ãã®ä»ã®çç±ã§å©çšã§ããªããŠãŒã¶ãŒããå¿çããå¿ èŠããªããšãã«ã¢ã©ãŒãã§ã¹ãã ãããå Žåãéåžžã«å¹æã®ãªãã¢ã©ãŒãã·ã¹ãã ã§ãã
ã¢ã©ãŒããåºãããã«ããŸããŸãªæéïŒãã®å Žåã¯å¶æ¥æéïŒãèšå®ãããªãã·ã§ã³ãå«ããããšæããŸãã
ããã§ãåãã§ããããããããã°ãšãŠãããã§ãããã
äžéšã®ããã¯ãšã³ãã®åé¿çããããŸãïŒã¯ãšãªãä»ããŠç¹å®ã®æéç¯å²å€ã®ã€ãã³ãããã£ã«ã¿ãªã³ã°ããMySQLã®åé¿çã䜿çšããŸãïŒããããããé©åãªæ©èœããšããŠæã€ããšã¯ééããªããã©ã¹ã§ãã
ãŸããå°æ¥ã®ãªãªãŒã¹ã§ãã®æ©èœã確èªããããšæããŸãã ãå¶æ¥æéå€ãã®æé垯ã«ã¢ã©ãŒããé€å€/æå¶ã§ãããšäŸ¿å©ã§ãã ããšãã°ãã¢ã©ãŒããååŸ8æ以éãç¿æ¥ã®åå8æããåã«çºçããå Žåã«ãã¢ã©ãŒãããã£ã«ã¿ãŒã§é€å€ã§ãããšãããã
ãã®æ©èœãå©çšã§ããã°çŽ æŽããããšæããŸãã ä»ã®ãšãããå€ã«ãªãªã«ããæ³£ããŠããåäŸã®ããã§ãã é»è©±ãåŒãåºãã«å ¥ããã ãã§ãã ã¢ã©ãŒãã¯åœ¹ã«ç«ããªãã ããããšãã
Grafanaã®ç¢ºèªæ©èœãéåžžã«å¿ èŠã§ãã 確èªã¢ã©ãŒãæ©èœããªããšãéèŠãªæ¬çªãµãŒãã¹ç°å¢ã§Grafanaã¢ã©ãŒãæ©èœã䜿çšã§ããŸããã
Grafanaã§ãã®æ©èœãèŠãã®ã¯çŽ æŽãããããšã§ãã ç¹å®ã®æé垯ã®ã¢ã©ãŒãã®ã¿ãé¢é£ããŸããå€åæéã¯+ -2æéã§ããå€éã¯ãç£èŠå€ã®ïŒèšç»ãããïŒäžæããããçŸåšã¢ã©ãŒããçºçããŠããŸã:-(
æ©èœèŠæ±ã«å¿ããŠ+1
ç¹å®ã®æéé åã«ã¢ã©ãŒã ãè¿œå ã§ããå Žåãããã¯åªããæ©èœã«ãªããŸãã ã¢ã©ãŒã ã«ãŒã«ã¯ãç¹å®ã®æéé åã§ã®ã¿æ©èœããå¿ èŠããããŸãã
次ã®ãããªæéã«é¢ããããŸããŸãªéç¥ãã£ãã«ãæ§æããæ¹æ³ããããšäŸ¿å©ã§ãã
æéã¯ãŠãŒã¶ãŒå®çŸ©ã§ãéç¥ãã£ãã«ã«ãªã³ã¯ã§ããŸãã
ç§ã¯ã»ãšãã©ã®ã³ã¡ã³ãããã£ãšèªãã ã®ã§ã誰ãã次ã®ãŠãŒã¹ã±ãŒã¹ãæ確ã«ããå Žåã¯ãè©«ã³ããŸãããæ°ã¥ããŸããã§ããã
ã¢ã©ãŒãã®æå»å¶éããµããŒãããçç±ã¯ãããŒã¿ç³»åããŸã°ãã§ããããã§ãã æ¯æ¥åå8æã®ããªãŒãã£ã³ã°ã®ããŒã¿ãæºåããããã«ãããããžã§ãã1æ¥1åãåå0æããåå2æã®éã«å®è¡ãããã»ããã¢ãããæ€èšããŠãã ããã ãå®äºãããžã§ããã®åäžã®ããŒã¿ãã€ã³ãã¯ãå®äºæã«çºè¡ãããŸãã
æéå¶éãªãã«ãããèŠåããè¯ãæ¹æ³ã¯ãããŸããã
ãéå»Xæé以å ã«ããŒã¿ãã€ã³ãããªãå Žåã¯ã¢ã©ãŒããã¯ãXæéã®ã«ãŠã³ãã§ã¯æ©èœããŸããã ããšãã°ããéå»24æé以å ã«ããŒã¿ãã€ã³ãããªãããšèŠåããå Žåããã¹ãŠã®ãžã§ããæ¯æ¥æ£ããå®è¡ãããŠããéããããã¯æ©èœããŸãã ãã ãã倱æããå Žåã¯ãåå11æã«ãžã§ããåå®è¡ããŠè¿œãã€ããŸãã ãã®åŸãç¿æ¥ã®ã¢ã©ãŒããå£ããŸãïŒåå11æ以éãŸã§ããªã¬ãŒãããªãããïŒã ããã¯ãæéå¶éã®äž»ãªäœ¿çšäŸã§ãã å¯äžã®å®è¡å¯èœãªã¢ã©ãŒãã¯ãã¢ã©ãŒãè©äŸ¡ããžãã¯ãåå2æããåå8æãŸã§ãªã³ã«ãããéå»8æé以å ã«ããŒã¿ãã€ã³ãããªããå Žåã«ã¢ã©ãŒããåºãããšã§ãã
ãã®äœ¿çšäŸã¯ãå€åæéäžã®ã¢ã©ãŒããæå¶ããããç¹å®ã®æé垯ã®ãã€ãºãæžããããããããšã§ã¯ãããŸããã 24æé幎äžç¡äŒã®ãªã³ã³ãŒã«å¿çã§ããäžèšã®ã¢ã©ãŒãã¯æé垯ã®å¶éãªãã«æ£ç¢ºã«è¡šçŸããããšã¯ã§ããŸããã
ãã®æ©èœã«+1ããŸãã
ç§ãã¡ã®å Žåãéå»Næ¥éã®æ
å ±ãå«ãã¢ã©ãŒãã1æ¥/æé/é±ã«1åéä¿¡ããå¿
èŠããããŸãããã¥ãŒã¹ã¬ã¿ãŒã¯å³å¯ã«æ±ºãŸã£ãæéïŒ8ïŒ00ã13ïŒ00ãªã©ïŒã«é
ä¿¡ããå¿
èŠãããããããã¹ãŠãè€éã«ãªããŸãã
åé¿çãšããŠãHTTP Apiãä»ããŠã¢ã©ãŒãã管çããäºå®ã§ããããã®æ©èœãgrafanaã®ã¯ã©ã€ã¢ã³ãéšåã§ç¢ºèªããããšèããŠããŸãã
ãã®æ©èœãå¿ èŠã§ãã äŸïŒã¡ã³ããã³ã¹æéã®ããPRODãããã¯ãŒã¯-ãã®ã¡ã³ããã³ã¹ãŠã£ã³ããŠäžã«ããã€ãã®éç¥ãåæ¢ããããšããŸãã ããšãã°ãç¹å®ã®æéæ ã®éã®æ¯é±æ¥ææ¥ã®å€ã çŸæç¹ã§ã¯äžå¯èœã§ãã
å©çšå¯èœã«ãªã£ããšãã«ãã®æ©èœãæ¬åœã«å¥œãã«ãªããŸãã 24æé以å ã®ç¹å®ã®æéã®ã¢ã©ãŒããåæ¢ããããšæããŸãã
+100000
ð+ 1
Grafanaãçã®ã¢ã©ãŒããšã³ãžã³ãšããŠäœ¿çšããããšã¯äžå¯æ¬ ãªæ©èœã ãšæããŸãã
å®éã®ãµãŒãã¹ã¯æ£åžžãªç¶æ
ãç¶æããŸãããã¡ããªãã¯ã¯æå®ãããã¹ã±ãžã¥ãŒã«ã«åŸã£ãŠå€æŽãããå ŽåããããŸãã
ãã®ã¹ã±ãžã¥ãŒã«äžã«ã¢ã©ãŒããå¶åŸ¡ããäžè¬çãªæ¹æ³ãå¿
èŠã§ãã
+1
ããã¯ãã¯ã©ã€ã¢ã³ãåŽã«ãããšäŸ¿å©ãªæ©èœã§ãã çŸåšãLogstashã§hourOfDayãdayOfWeekãªã©ã®ãã£ãŒã«ãã掟çãããŠãã¡ããªãã¯ã»ããã«ã¡ããªãã¯ãè¿œå ããããã«ESã«ååšãããã¢ã©ãŒãã«ãŒã«ã«è¿œå ããå¿ èŠããããŸãã
CPU䜿çšçã§ããå¹³åã¡ããªãã¯Aã1åéã§90ïŒ
ãè¶
ããŠããå Žåã¯ãèŠåããŠãã ãã
ãš
åãããã¥ã¡ã³ãã®æ倧hourOfDayã§ããã¡ããªãã¯BãRANGEã®éã«ããå Žåã
åäœããŸãããåé¿çãšããŠããã®ããã«åäœããã®ã¯åä»ã ãšæããŸãã
ç¹ã«ãGrafanaã¯2016幎以éãä»ã®åéã§å€§ããé²åããŠããŸããããããã¯2016幎以éå¿ããããŠããŸãã
cronã䜿çšããŠã¢ã©ãŒãã®ãªã³ãšãªããåãæ¿ãããã®åé¿çããããŸãã ããã¯ããã¹ãŠã®ã¢ã©ãŒããäžæ©ã§ãªãã«ãããå ŽåïŒãŸãã¯ãåã ã®ã¢ã©ãŒãã®ã¹ã¯ãªãããäœæããã®ãé¢åãªå ŽåïŒã«ã®ã¿æ©èœããŸãã
grafanaããã¯ã¹ã®crontabã«ã次ã®ããã«è¿œå ããŸããã
1 * * * * root /root/do-alert-thing.sh
ãããŠ/root/do-alert-thing.shïŒ
#!/bin/bash #Enable at 6am local TZ='Somewhere/Sometime' date +%H | grep '06' && ( curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":false}' -u [email protected]:letmein -H 'Content-Type: application/json' ) #Disable at 9pm local TZ='Somewhere/Sometime' date +%H | grep '21' && ( curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":true}' -u [email protected]:letmein -H 'Content-Type: application/json' )
Somewhere / Sometimeãã¿ã€ã ãŸãŒã³ã«çœ®ãæãïŒãã³ãïŒãªã¹ãã«å¯ŸããŠ
timedatectl list-timezones
ãå®è¡ïŒã[email protected]
ã®ä»£ããã«ã¯ã¬ãã³ã·ã£ã«ãè¿œå ããŸãã ãã®ç®¡çãšã³ããã€ã³ãã¯ãããã¥ã¡ã³ãã«åŸã£ãŠåºæ¬èªèšŒã¢ãŒãã§ã®ã¿æ©èœããŸããããã誰ããå©ããŠãããããšãé¡ã£ãŠããŸãã
ããã«ã¡ã¯
åã
ã®ã¢ã©ãŒãã®URLãååŸããæ¹æ³ãæããŠãã ããã
ããã«ã¡ã¯
åã
ã®ã¢ã©ãŒãã®URLãååŸããæ¹æ³ãæããŠãã ããã
4幎çµã£ãŠãããã®æããã«èŠæ±ãããŠããæ©èœãå®è£ ãããŠããªãã®ã¯æ®å¿µã§ãã ç§ã®äœ¿çšäŸã¯ãã«ãŒã¿ãŒãæã åèµ·åããå¿ èŠãããåçŽãªããŒã ãªãŒãã¡ãŒã·ã§ã³ã§ãïŒããã¯ISPã®ãã®ã§ããã1é±é以äžã®çšŒåæéã«èããããšã¯ã§ããŸããïŒã ç§ã¯æ¯æ©ã«ãŒã¿ãŒããªã»ãããããã€ã€ã«ä»ãã®ã·ã³ãã«ãªãœã±ããã¢ããã¿ãŒãæã£ãŠããŸãã ãã®ãããæ¯æ©ãTelegramã§ã»ã³ãµãŒãããŠã³ããŠãããšããã¢ã©ãŒããããããåãåããŸãã ç¹å®ã®æéééã§ã¢ã©ãŒããç¡å¹ã«ãããšããåçŽãªæ©èœã䟿å©ã§ãã
ããã«é«åºŠãªã¹ã±ãžã¥ãŒãªã³ã°ãè¡ãå¿ èŠã¯ãããŸããã ãã®æ©èœã®æåã®ããŒãžã§ã³ã§ã¯ãããã¯ã¡ããã©1æ¥ã®æéã§ããå¯èœæ§ããããŸãã ããè€éãªã¹ã±ãžã¥ãŒã«ãåŸã®æ®µéã§è¿œå ãããŸã
ç¹å®ã®æéã«ã¢ã©ãŒããã¹ã±ãžã¥ãŒã«ããæ¹æ³ã¯ãããŸããïŒ
ãã®æ©èœã®+1ã
grafanaã¯ã¢ãžã¥ãæŒç®ããµããŒãããŠããŸããïŒ æ¬¡ã«ãæçé¢æ°ã䜿çšããŠãããã«ã®è¿œå ã¡ããªãã¯ãšããŠUNIXæéãååŸã§ããããã«ãªããŸãã ã¢ãžã¥ãé¢æ°ã䜿çšãããšãUNIXæéã®é€ç®ã®äœãã86400ïŒ1æ¥ã®ç§æ°ïŒã§å²ãããšãã§ããŸãã 次ã«ãã¢ã©ãŒãã®æéã¡ããªãã¯ã«ç¯å²æ¡ä»¶ãè¿œå ã§ããŸãã å³ïŒ
ãã®ç®çã§ã¢ãžã¥ãæŒç®ãè¿œå ããã®ã¯é£ããã§ããããïŒ
ã¯ã¬ã€ãžãŒã«èãããŸãããæ©èœããç§ã®ãŠãŒã¹ã±ãŒã¹ã§ã¯ããã§ååã§ããã ð
time() % 86400
ããã§ããæãããªããã¯ã§ã¯ãªãããã䟿å©ãªãœãªã¥ãŒã·ã§ã³ããªãã®ã¯èŠçã§ãã ð€Š
ã¯ã¬ã€ãžãŒã«èãããŸãããæ©èœããç§ã®ãŠãŒã¹ã±ãŒã¹ã§ã¯ããã§ååã§ããã ð
time() % 86400
ããã§ããæãããªããã¯ã§ã¯ãªãããã䟿å©ãªãœãªã¥ãŒã·ã§ã³ããªãã®ã¯èŠçã§ãã ð€Š
@ochrstn v6.6.1ã§ãããè©Šãããšãããã¯ãšãªã§ã¢ãžã¥ãæŒç®ãåºæ¬çã«ç¡èŠããããããã©ã®ããŒãžã§ã³ã®grafanaã䜿çšããŠããŸããïŒ
ã¯ã¬ã€ãžãŒã«èãããŸãããæ©èœããç§ã®ãŠãŒã¹ã±ãŒã¹ã§ã¯ããã§ååã§ããã ð
time() % 86400
ããã§ããæãããªããã¯ã§ã¯ãªãããã䟿å©ãªãœãªã¥ãŒã·ã§ã³ããªãã®ã¯èŠçã§ãã ð€Š
@ochrstn v6.6.1ã§ãããè©Šãããšãããã¯ãšãªã§ã¢ãžã¥ãæŒç®ãåºæ¬çã«ç¡èŠããããããã©ã®ããŒãžã§ã³ã®grafanaã䜿çšããŠããŸããïŒ
v6.6.2ð
grafanaã¯ã¢ãžã¥ãæŒç®ããµããŒãããŠããŸããïŒ æ¬¡ã«ãæçé¢æ°ã䜿çšããŠãããã«ã®è¿œå ã¡ããªãã¯ãšããŠUNIXæéãååŸã§ããããã«ãªããŸãã ã¢ãžã¥ãé¢æ°ã䜿çšãããšãUNIXæéã®é€ç®ã®äœãã86400ïŒ1æ¥ã®ç§æ°ïŒã§å²ãããšãã§ããŸãã 次ã«ãã¢ã©ãŒãã®æéã¡ããªãã¯ã«ç¯å²æ¡ä»¶ãè¿œå ã§ããŸãã å³ïŒ
ãã®ç®çã§ã¢ãžã¥ãæŒç®ãè¿œå ããã®ã¯é£ããã§ããããïŒã¯ã¬ã€ãžãŒã«èãããŸãããæ©èœããç§ã®ãŠãŒã¹ã±ãŒã¹ã§ã¯ããã§ååã§ããã
time() % 86400
ããã§ããæãããªããã¯ã§ã¯ãªãããã䟿å©ãªãœãªã¥ãŒã·ã§ã³ããªãã®ã¯èŠçã§ãã
ãã@ochrstn :)ãããã©ã®ããã«è¡ã£ããã«ã€ããŠè©³ããæããŠãã ããã
æãåèã«ãªãã³ã¡ã³ã
åé¿çãšããŠãããã¯ãšã³ããšããŠprometheusã䜿çšããŸãã
hour()
ãããã¯1æ¥ã®æéïŒ0-23ïŒãè¿ããŸãã ã°ã©ãã«é衚瀺ã«ããããšãã§ããŸããAND
æ¡ä»¶ãè¿œå ããŠãhour()
ã¯ãšãªãç®çã®ç¯å²ïŒäŸïŒå¶æ¥æéïŒã®éã«ããå Žåã«ã®ã¿ã¢ã©ãŒããåºãããã«ããŸããday_of_week()
ã§ãåãããšãã§ããŸãã