ããã«ã¡ã¯@torkelo ãããã·ã¥ããŒããã³ãã¬ãŒãããšã®å¯å€ãããå€ã¬ãã«ããããŸãã
補åããã·ã¥ããŒããã³ãã¬ãŒãïŒäŸãšããŠApache WebãµãŒããŒïŒãèšèšããŠããŠãå¿çæéããããå€ãè¶ ãããšãã«ç£èŠããå¿ èŠããããšããŸãã
ããã·ã¥ããŒãã¯åãã§ãããå€æ°ã䜿çšããŠä»ã®ã€ã³ã¹ã¿ã³ã¹ã«åãæ¿ããããšãã§ããŸãããå¿çæéïŒãããè¯ããã©ããïŒã¯ãå®éã®ããã»ã¹ïŒã¢ããªã±ãŒã·ã§ã³ãµãŒããŒãéçhtmlããŸãã¯ããããLAMPãµãŒããŒïŒããããã®å Žåããããå€ã¯å€§ããç°ãªããŸãã
ãŸããäŸãšããŠããã®ãããå€ïŒ2æ¡ïŒããã³ãã¬ãŒãå ã®å€æ°ã®1ã€ïŒã€ã³ã¹ã¿ã³ã¹åïŒã«ãããããããšããå§ãããŸãã
ïŒ+1ïŒ
ãããèŠããã§ãïŒ+1ïŒ
ããããŸã£ããæ©èœãããã©ããã¯ããããŸããããå€æ°èšå®ã«åºã¥ããŠãããå€ãæŽæ°ãããªã³ã¯ããã$ thresholdå€æ°ãäœæã§ãããããå€ã$ thresholdã䜿çšããã ãã®å Žåã¯å¯èœæ§ããããŸã
åçããã·ã¥ããŒãã®èŠ³ç¹ããå€ãã®æ°ããå¯èœæ§ãéã+1
ã¡ããªãã¯ããããå€ã«ãããããæ©èœã欲ããã§ãã Grafanaã䜿çšããŠãããã¯ãŒã¯ããŒããŠã§ã¢ã®ãªã³ã¯äœ¿çšç¶æ³ã°ã©ããæç»ããŠããŸãããã€ã³ã¿ãŒãã§ã€ã¹ã¿ã€ãã«ãããå€ããããã³ã°ããŠãããšäŸ¿å©ã§ãã çŸæç¹ã§ã¯ãIfSpeed SNMPãœãŒã¹ã䜿çšããŠã¢ã¯ãã£ããªã€ã³ã¿ãŒãã§ã€ã¹é床ãååŸãããããå¡ãã€ã¶ãããŠããªãã¡ããªãã¯ãšããŠæç»ããŠããŸããããã®æ¹æ³ã§ã¯Grafanaã®åçãªæ倧/æå°æ©èœãæ©èœããªããªããŸãã
+1ããã®æ©èœããããšéåžžã«ã¯ãŒã«ã§ãã influxdbã¿ã°ã§ãããå€ãèšå®ããå¿ èŠããããŸãã
ãã®ãããã¯ã«é¢ãããã¥ãŒã¹ã¯ãããŸããïŒ
ç§ããããã²ã©ãå¿ èŠã§ãã çæ³çã«ã¯ããã³ãã¬ãŒãå€æ°ã®å€ã¯ã¯ãšãªã®çµæã§ããå¯èœæ§ããããŸãïŒãã¹åã§ã¯ãªãããã®ã¯ãšãªã«ãã£ãŠè¿ãããå€ïŒ
+1
Elasticsearchã¯ãšãªã«åºã¥ããŠåçã«ãããå€ãèšå®ããããšããŠããŸãã
GrafanaãPNP4Nagiosã®ä»£æ¿ãšããŠäœ¿çšããå Žåããã£ãŒã«ãå€ã«åºã¥ããŠèŠå/ã¯ãªãã£ã«ã«ã®ãããå€ãšæå°/æ倧ã®y軞å€ãèšå®ã§ãããšéåžžã«åœ¹ç«ã¡ãŸãã
ãããå¿
èŠã§ãã
ããšãã°ãã¡ã¢ãªã°ã©ããšcant swtich $ serverå€æ°ããããŸãã ãµãŒããŒã®ã¡ã¢ãªéã¯ããŸããŸã§ãGiBã§ã©ãã ã䜿çšãããŠãããïŒïŒ
ã§ã¯ãªãïŒãç¥ãããã®ã§ããããµãŒããŒã®åèšã¡ã¢ãªéãèŠããŠããŸããã ãããã£ãŠã$ total_memå€æ°ã䜿çšãããããå€ïŒãŸãã¯ãããããY-MaxïŒãå¿
èŠã§ãã
ããã§+1ã¯$ variableãåãå ¥ããå¿ èŠããããŸã
+1
ãããå€ãç°ãªãè€æ°ã®ããã€ã¹ã«åäžã®ã°ã©ããã³ãã¬ãŒãã䜿çšã§ããããã«ããã®æ©èœã«ãç±å¿ã«åãçµãã§ããŸãã
ãã®æ©èœã欲ããã§ãã ããã®çŸç¶ã¯ã©ãã§ããïŒ
+1
+1
+1
+1
@kmoczydlowski @bogatuadrian @sofixa @golddiga @ cattt84
+1ã§ã¶ã€ããã®ãæ¢ããŠãã ãããããªãã¯ãã¹ãŠã®å å
¥è
ã«éç¥ïŒãããŠããããé»åã¡ãŒã«ïŒãåŒãèµ·ãããŠããŸã
åã³ã¡ã³ãã®å³åŽã«ããåå¿ã䜿çšããŠãæ祚ãè¡šæããŠãã ããã
ããããšãð
ãªããã³ãã¬ãŒãã䜿çšã§ããªãã®ã§ããïŒ
simpleJsonããŒã¿ãœãŒã¹ã«åçãããå€ãå®è£ ã§ããŸããïŒ
+1
+1
+1
ããã§2018幎ã«ãªããŸããããã®æ©èœã¯ã©ãã§ããïŒ
+1
ããã«+1ã
ããã¯4幎éã©ã®ããã«éãããŠããŸããïŒ ãŠãŒã¹ã±ãŒã¹ã®1ã€ã¯ããã¡ã€ã«ã¹ãã¬ãŒãžã¯ã©ãŒã¿ã®ç£èŠã§ãã ãããå€ã¯ãœããå¶éãšããŒãå¶éãšããŠå®çŸ©ãããã©ã¡ãããã¡ã€ã«å ±æããšã«å®çŸ©ãããŸãããããã£ãŠãã°ã©ãã¯åçã«äœæãããããããããæåã§èšå®ããããšã¯ã§ããŸããã ãããå€ãžã®å€ãšããŠæž¡ãã¡ããªãã¯å€ãéžæã§ããããã«ããã®ã¯ç°¡åãªããã§ãã ãããã®ãããå€ã¯ãã¢ã©ãŒãã«ã䜿çšã§ããå¿ èŠããããŸãã
ç§ããã®åŸïŒsinglestatããã«çšïŒã§ããµãŒãããŒãã£ã®singlestat-mathãã©ã°ã€ã³ã«ããŒãžãããããŒãžã§ã³ãå®è£
ããŸããïŒãã©ã°ã€ã³ãæåã«äœæããããšããããããšããžãç²ãå¯èœæ§ããããŸãïŒã
PRã¯ããã«ãããŸãïŒ https ïŒ
ä»ãã䜿çšãããå Žåã¯ãç§ã®ãã©ã³ããããã«ã§ããŸãã
ããŒã¿ãœãŒã¹ãè¿œå ããŠååãä»ãããã®ååããããå€ã§äœ¿çšããã ãã§ãã ãã®ãã©ã°ã€ã³ã¯n
ãããå€ããµããŒãããŠãããããã¯äžéšã®äººã«åœ¹ç«ã€å¯èœæ§ããããŸãã
é
ããŠããä»äºããããã©ããã確èªããããã«ãããå¿
èŠã§ãã ä»ã®ãšããåé¿çãšããŠããã³ãã¬ãŒãå€æ°ã¯ãšãªmax(my_prometheus_metric)
ã䜿çšãããããé衚瀺å€æ°ã«èšå®ããŸãã次ã«ã abs(my_prometheus_metric - $variable)
å®è¡ããããŒãã«ãã¥ãŒã®ã¯ãšãªãè¿œå ããããã«ãããå€ãè¿œå ããŸããæ¡ã æ®å¿µãªãããè¡ã®è²ãèšå®ããããã«äœ¿çšãããåãé衚瀺ã«ããããšã¯ã§ããªãã®ã§ãç§ããã®æ©èœã«æºè¶³ããŠããŸãã
ãã®æ©èœã«é¢ããæŽæ°ã¯ãããŸããïŒ
@ debmalyapan53ç³ãèš³ãããŸããããç§ã¯ããã«ããŒã«ãèœãšããŸãã-ããããç§ã¯ææ°ã®ãªãªãŒã¹ã«å¯ŸããŠå¥ã®PRãå
¥ããŸããã ããŸãããã°ãããã¯ããã»ã©é·ãã¯ãªããã¡ã«ããŒãžãããã§ãããã çŸåšã®PRã¯æ¬¡ã®å Žæã«ãããŸãïŒ //github.com/black-mirror-1/singlestat-math/pull/30
也æ¯ã
å®éã«ã¯ããŠãŒã¶ãŒããããå€ãèšå®ã§ããããã¹ãããã¯ã¹ãå®è£ ããŠãåãããšãã°ã©ãã«åæ ãããããã«ããããšæããŸãã
+1
ãã³ãã¬ãŒãã䜿çšããŠããããåé¿ã§ããŸãããããç§ã®èšå®ã§ãã
éå»æ°åéã«1å°ã®ãµãŒããŒãç¡å¹ã«ãããããå€ãå€æŽãããããšã«æ³šæããŠãã ãã
æ®å¿µãªãããããã§ãã¹ãŠã解決ããããã§ã¯ãããŸããããäžèšãåãããããšããããã«åºã¥ãã¢ã©ãŒããåãåãããšãã§ããŸããã ãã®ãããåé¿çã¯å€ãã®å Žåã«æ©èœããŸããããã¹ãŠã®åé¡ã解決ããããã§ã¯ãããŸããããgrafanaã¯å€æ°/ã¯ãšãªã䜿çšããŠãããå€/ã¢ã©ãŒããèšå®ã§ããå¿ èŠããããŸãã
5幎ãšãã®åæ¥ã«ã€ããŠã®ãã¥ãŒã¹ã¯ãããŸããã ãªã¯ãšã¹ãïŒ
Grafanaã䜿çšããElasticMLã®çµæã«ã€ããŠèŠåããããšæããŸãã èŠåãããããã·ã¥ããŒãã®äŸã ã¢ãã«ããããã§ããã°ã©ãã«äžé/äžéã®ãããå€ããããŸãã
+1
ããã¯éåžžã«éèŠãªæ©èœã§ãã 骚è£åã¯ãªããããé
ããŠããã®ã§ããã
ããã¯æ¬åœã«æãå¿ èŠãªæ©èœã§ãã ããã«ã€ããŠã®ææ°æ å ±ãããã ããŸããïŒ
ããã¯æ¬åœã«æãå¿ èŠãªæ©èœã§ãã ããã«ã€ããŠã®ææ°æ å ±ãããã ããŸããïŒ
ç§ã¯ããã2çªç®ã«ããŸãã ãé¡ãããŸãâŠã
ãããã£ãŠãåºæ¬çã«ããã¯ãå€ãã®äººã ãããã§ããããŠä»ã®å€ãã®ãªã¯ãšã¹ãããã°ã¬ããŒããããã³äžè¬çã«5幎éã«ããã£ãŠãŠã§ãäžã§ãããæ±ããŠãããšããäºå®ã«ããããããã決ããŠèµ·ãããŸããã ãŠãŒã¶ãŒã®æèŠãåãå ¥ããã¢ããªã±ãŒã·ã§ã³ãæ¹åããæ¹æ³ã
ç§ããããå¿ èŠã§ãã
https://github.com/grafana/grafana/pull/19102ã確èªããŠ
åé¿çãšããŠã次ã®ããšãè¡ããŸãã 2çªç®ã®Y軞ã䜿çšãããŠããªãïŒãŸãã¯æå°å€ãšæ倧å€ãåºå®ãããŠããïŒããšãåæãšããŠããŸãã
äŸïŒ
ãããäœæããæ¹æ³ããããŸãïŒ
1 - (day_of_week(vector(time())) > bool 0)
* (day_of_week(vector(time())) < bool 6)
* (((hour(vector(time())) >= bool 7 - 2)))
* (hour(vector(time())) < bool 19 - 2)
ã¯ãšãªã«é¢ãã泚æïŒ
ããŒã...æ¬åœã«ãããå¿ èŠã§ã2019幎ã§ã...ããã¯å€ãã¹ã¬ããã§ã
ããã§ãåãã§ãããããã決ããŠèµ·ãããªãã®ã§ããããã
å®è£ ããã®ã¯é£ããã§ããããããšã誰ããããããããªãã§ããïŒ ãããããªããç§ã¯è©ŠããŠã¿ããã§ã
@EggTronicç§ã¯ãããäœãå«ããã調ã¹ãŸãããç§ã¯ãããThresholdãªããžã§ã¯ãã«
https://github.com/grafana/grafana/blob/4a25ec0d36edcb551e6efd60e665df0fa93cb954/packages/grafana-data/src/types/threshold.ts#L1 -L4
ç¹ã«ããŒã²ãŒãžã«ãããå®è£
ããããšãæ€èšããŠããŸããã ãããå€ã¯ããã§äœ¿çšãããŸãïŒ
https://github.com/grafana/grafana/blob/4a25ec0d36edcb551e6efd60e665df0fa93cb954/public/app/plugins/panel/bargauge/BarGaugePanel.tsx#L37
åããã¡ã€ã«ã®ããã«äžã«ã replaceVariables
é¢æ°ã䜿çšãããŠããŸããããã¯ãgrafanaå€æ°ã®è©äŸ¡ã«äœ¿çšãããŠãããšæããŸãã
https://github.com/grafana/grafana/blob/4a25ec0d36edcb551e6efd60e665df0fa93cb954/public/app/plugins/panel/bargauge/BarGaugePanel.tsx#L53 -L61
ç§ããããè¡ãããŠããã®ãèŠãããšãã§ããæ¹æ³ã¯
Threshold
åãå€æŽããŠã value
ã代ããã«å€æ°åïŒæååïŒã«ã§ããããã«ããŸããThreshold.value
ã§replaceVariables
ãåŒã³åºããŸãããã¶ã€ã³ãã³ãŒãããŒã¹ã«é©ããŠãããã©ããã¯ããããŸããããã¡ãã£ãšããããã¯ã§ãã
æ©èœãªã¯ãšã¹ãã®+1
+1
ç§ã¯ãããã²ãŒãžããã«ã«æ¬åœã«äœ¿ãããšãã§ããŸããã ããŒã¿ããŒã¹ã«æžã蟌ãã§ããåã¿ã°ãã¬ãŒã®ã²ãŒãžã衚瀺ããããšæããŸãã åãã¬ãŒã¯ããã®åã蟌ã¿é床ãšçè«äžã®æé©ãªåã蟌ã¿é床ãå ±åããŸãã ãã ããåãã¬ãŒã«ã¯ãããããã®åã蟌ã¿çã«å¯ŸããŠç°ãªããããå€ãå¿ èŠã§ãã
+1
ãã®çš®ã®æ©èœïŒSingleStatããã«ã®å ŽåïŒã®åé¿çã¯ãããŸããïŒ ãŸãã¯ãMySQLã¯ãšãªã§ãããå€ãæŽæ°ã§ããŸããïŒ
ãããã®åé¡ã®ç¶æ³ã¯ã©ãã§ããïŒ ããã¯å®è£ ãããäºå®ã§ããïŒ ãããšãå®è£ ãé£ããã§ããïŒ
ç§ã¯ãã§ã«ãããå°ããŸããããå¿çããããŸããïŒïŒ25313
+1
ãã¶ã€ã³ãã³ãŒãããŒã¹ã«é©ããŠãããã©ããã¯ããããŸããããã¡ãã£ãšããããã¯ã§ãã
@liamdiprose IMHOã¯é©åã§ããããã«ãªã¯ãšã¹ããææ¡ããŠãããããã§ããïŒ
åçãªå¡äŸãåé¿ããçè«çãªçç±ã¯ãããã«ãã³ãã¬ãŒããåäžãªããŒã¿ã»ãããåç
§ããå¿
èŠãããããã§ãã åçãªå¡äŸãéããŠãããŸããŸãªããŒã¿ã¹ããªãŒã ã管çã§ããæ±çšãã³ãã¬ãŒããäœæããŸããããããã¯æ£ãããªãå¯èœæ§ããããŸãã ç§èŠç§ã¯ãè€æ°ã®ã€ã³ããã¯ã¹ãç°ãªãã¹ã±ãŒã«ãšã«ã©ãŒãããã³ã°ã§åæ§ã®ããã«ã¬ã€ã¢ãŠããå
±æããŠãããŠãŒã¹ã±ãŒã¹ã«çŽé¢ããŠããŸãã
åçãªãããå€ãèšå®ãããšãã€ã³ããã¯ã¹ãç°ãªãå Žåã«è€è£œããã®ã§ã¯ãªããåäžã®ããã·ã¥ããŒãã管çã§ããŸãã
@torkeloããgrafanaã©ããŸãã¯ã³ã¢ã³ã³ããªãã¥ãŒã¿ãŒã®ä»ã®ãã£ãŒãããã¯ã¯ãããŸããïŒ äžéšã®æ©èœã¯https://github.com/grafana/grafana/pull/24763ã§ç®¡çãããŠã
@luipirãŸã ããã®æ©èœã¯ããŸãæ©èœããŠããªãå¿ èŠããããŸããããŸã ããã¯ãã°ã«æ®ã£ãŠããŸãã ïŒå«ã³ïŒ
Grafana 7ã¯ããŒã¿äž»å°ã®æ¹åã«é²ãã§ããããã«èŠããã®ã§ããã®æ©èœã¯æçµçã«è¿œå ããããšæããŸãã GrafanaLabsã®@ryantxuã¯ããã®æ¹æ³ã§å€æ°ã䜿çšããããšã¯ãåæ§ã®åé¡ã¹ã¬ããã§äºå®ãããŠãããšè¿°ã¹ãŸããïŒ https ïŒ
ãã¹ãŠã®èšå®ããã¯ã¹ãå€æ°ãåãå
¥ããããšãæãã§ããŸãã ãã¶ãããŠãŒã¶ãŒãæå®ãããã¹ãŠã®å€ããè©äŸ¡ãããå¿
èŠããããŸããå€æ°åã¯ãã®å€ã«è©äŸ¡ãããå€ã¯ããèªäœã«è©äŸ¡ãããŸãã å€æ°ã®è©äŸ¡ãæ©èœããã«ã¯ãæ£ããreplaceVariables
é¢æ°ïŒå°éå
·ãšããŠããã«ã«æäŸãããŠããïŒãå¿
èŠã§ãã
replaceVariables
ãeval(varname) -> value
ã«çœ®ãæãããã replaceVariables
ãeval
ããã©ã¡ãŒã¿ãŒãšããŠåãåããŠãŒãã£ãªãã£é¢æ°ã«ãªããšäŸ¿å©ã§ãã
+1
+1
+1
+1
ããã¯ãæ ªäŸ¡ãã°ã©ãåãããšãã«éåžžã«äŸ¿å©ãªæ©èœã§ãã ããšãã°ãéæèšå·ãææšãšããŠã°ã©ãåããã«ãéæèšå·ã®å§å€ã«åºã¥ããŠãããå€ãèšå®ã§ããŸãã ç§ããããã¡ããªãã¯ãšããŠã°ã©ãåããããšã«ééããåé¡ã¯ããããã°ã©ããå¹³åŠå/æ£èŠåããããšã§ãã
å§å€ãã°ã©ãåããã«ïŒ
å§å€ããã£ãŒãåããåŸïŒ
å§å€ããããå€ãšããŠèšå®ããïŒéãç·ïŒïŒ
+1
+1ãããã¯é·ãéèŠæ±ãããŠããæ©èœã§ãããããªããæšæºãã®ããã§ãã ãã®æ©èœã«ããå°æ¥ã®ã¢ããããŒãã楜ãã¿ã«ããŠããŸãïŒ
+1
éå±ãª+1ã®ä»£ããã«ããã®æ©èœãå®çŸããããã®å ±å¥šéãšããŠïŒå·šå€§ãªïŒðºã眮ããŠããŸãã
ãŠãŒã¹ã±ãŒã¹ã®äŸïŒAPIã®ãã¹ãŠã®ãšã³ããã€ã³ãçšã®æ±çšSLOããã·ã¥ããŒããæ§ç¯ããããšããŠãããã·ã¥ããŒããããã·ã¥ããŒãã®URLãä»ããŠSLOæ¡ä»¶ãåä¿¡ããããã«ããŸãã
åæ§ã®åé¡ããããŸãããmysqlã¯ãšãªãšãæå°å€ãšæ倧å€ã®å€æ°ãå«ãããã·ã¥ããŒãããããŸãã ãããå€ã§æå°/æ倧å€æ°ã䜿çšã§ããªãããšã¯æ®å¿µã§ããã ããããç§ã¯ãªããšã䌌ããããªãã®ãããããããããšãã§ããŸãããããã«ãããå°ãªããšãå€ãå€ãèŠèŠåããããšãã§ããŸããã
select
time,
data,
${minimum} as data_min,
${maximum} as data_max
from table
/data_(min|max)/
ïŒã¡ããªãã¯åãããå Žåã¯ãããŒã¿å€ã« ''ïŒ data as ''
ïŒãšããååãä»ããŠãå¡äŸ/ããŒã«ããããè£
食ããªãããã«ããããšããå§ãããŸãã
ãã¡ãããããã¯åãªãèŠèŠçãªåé¿çã§ããããããå€ã®ä»ã®å©ç¹ã¯åŸãããªãããããã®æ©èœã®èŠæ±ã¯äŸç¶ãšããŠéåžžã«å¿ èŠã§ãã
æãåèã«ãªãã³ã¡ã³ã
@kmoczydlowski @bogatuadrian @sofixa @golddiga @ cattt84
+1ã§ã¶ã€ããã®ãæ¢ããŠãã ãããããªãã¯ãã¹ãŠã®å å ¥è ã«éç¥ïŒãããŠããããé»åã¡ãŒã«ïŒãåŒãèµ·ãããŠããŸã
åã³ã¡ã³ãã®å³åŽã«ããåå¿ã䜿çšããŠãæ祚ãè¡šæããŠãã ããã
ããããšãð