ãŠãŒã¹ã±ãŒã¹ïŒãIDãããããã£ã«åºã¥ããŠã¡ããªãã¯ãä¿åã§ããŸããããã³ãã¬ãŒãå€æ°éžæUIã§ãã人éã«ããããããã©ãã«ã䜿çšããå¿ èŠããããŸãã ããšãã°ãå éšãã¡ã€ã³IDã䜿çšããŠãã¡ã€ã³ããšã«ææšã远跡ããŠãããããã³ãã¬ãŒãå€æ°ã»ã¬ã¯ã¿ãŒUIã§ãã¡ã€ã³ã®URLã䜿çšãããå Žåã
@torkeloãããå®è£ ããã®ããããããšãã§ããŸãããå®è£ ã«ã€ããŠã©ãæããŸããïŒ ç§ã®ç¹å®ã®ãŠãŒã¹ã±ãŒã¹ã§ã¯ãã«ãã¯ã¢ããã®ããã«å€éšãµãŒãã¹ããããããå¿ èŠããããããå€->ããã¹ãå€æãå®è¡ããããã®ä»»æã®JSé¢æ°ãæäŸã§ããããã«ããããšæããŸãã æåã®å®è£ ã§ã¯ããããã³ã°é¢æ°ãå®çŸ©ããããã·ã¥ããŒãJSONã«æ§æå€ãè¿œå ã§ãããšèããŠããŸããã UIãµããŒããåŸã§è¿œå ããŠãäºåã«æ§ç¯ããããããã³ã°é¢æ°ïŒæ£èŠè¡šçŸã®çœ®æãªã©ïŒã䜿çšããŠãããç°¡åãªãããã³ã°ãåŠçããããšãã§ããŸãã
ãŸããããã«é¢é£ããŠãUIãä»ããŠããã·ã¥ããŒãJSONå šäœãç·šéããæ©èœããããŸããããããå°é£ã§ããããšãå€æããå Žåã¯ããšã¯ã¹ããŒã->ç·šé->ã€ã³ããŒããåé¿çãšããŠæ©èœããŸãã
ã¹ã¯ãªããåãããããã·ã¥ããŒãã䜿çšããŠãããè¡ãããšãã§ããŸãã ãã ããéåžžã®/ä¿åãããjsonããã·ã¥ããŒãã«å®è£ ããŠã¿ãããšãæè¿ããŸãã
+1
ç§ãå°ãªããšãããã®ããåçŽãªããŒãžã§ã³ã䜿çšããããšãã§ããŸãã A-> Bããæ§æããããããã³ã°ã®ãããªãã®
ç§ã®ã·ããªãªã§ã¯ãå€æ°ããããããŠã³ã§ãšã³ãã£ãã£åïŒCustomerName1ãCustomerName2ãªã©ïŒãéžæãããã®ã§ãããã¡ããªãã¯åã«é¢ããŠã¯å
éšã§æ°å€IDã䜿çšããŸãã
app.requestsã$ customer1_ID.count
+1
ïŒ3138ããã®ããŒãž
ããšãã°ãå€ã
fooBar
ãšbaz_quuxInternal
ã®ã«ã¹ã¿ã ãã³ãã¬ãŒãå€æ°ãäœæããå ŽåãUIã«ãã§ãã¯ããã¯ã¹ããFoobarããšãBazããšããŠè¡šç€ºãããããšãã§ããŸããããã¯ãéè€ãæžããããã«ç¹°ãè¿ãè¡ãšã«ã¹ã¿ã å€æ°ã䜿çšããå Žåã«ç¹ã«äžè¬çã§ãããæäžäœã®ã¡ããªãã¯ã¯ãŠãŒã¶ãŒãã¬ã³ããªãŒã§ã¯ãªãå ŽåããããŸãã
æ£èŠè¡šçŸã䜿çšããããšã§ãã¯ãšãªããããã³ãã¬ãŒãå€ïŒããšãã°ãã°ã©ãã¡ã€ãããããã£ïŒã«å¯ŸããŠãããããµããŒãã§ããå¯èœæ§ããããŸãïŒçœ®æãäžè¬çãªå ŽåïŒã æ£èŠè¡šçŸã®ãµããŒãã¯ãã§ã«ååšããŸããã䜿çšãããå€ãšã©ãã«ã®äž¡æ¹ã«é©çšãããŸãã 䟡å€ã®ããã ãã«ããã䜿çšããããšã¯äŸ¡å€ããããŸãã
ããšãã°ãgraphiteã¯ãšãªããã³ãã¬ãŒãã§äœ¿çšããããã«
kafka.messagesByTopic.myservice_*
ãå±éããå ŽåããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã§ãã¬ãã£ãã¯ã¹ãåé€ããå¿ èŠããããŸãã ãã ããå®éã®ããã«ã§äœ¿çšããå Žåã¯ããã¬ãã£ãã¯ã¹ãå«ããå¿ èŠããããŸãã ãã³ãã¬ãŒãå€æ°ãã¡ããªãã¯ããããã£ã«åã蟌ãããšãã§ããããã«ãªã£ãããããããåé¿ã§ããŸãïŒGrafana 2.x以éïŒããããã£ãŠããã¹ãŠã®ããã«ãšè¡ã®ãã¹ãŠã®ã¡ããªãã¯ã®ãã¬ãã£ãã¯ã¹ãããŒãã³ãŒãã£ã³ã°ã§ããŸãããåé¿ããããšããå§ãããŸãããããã®ãã©ãã«ãå€ãååšãããšãããã«å ã§ããããã«ã¢ã¯ã»ã¹ã§ããããã«ãªããšäŸ¿å©ã§ãã è¡ãããã«ã®ã¿ã€ãã«ã«å€æ°ãåã蟌ãå Žåãªã©ã ããã©ã«ãã§ã©ãã«ã䜿çšããããã«ãããïŒã¿ã€ãã«ãã£ãŒã«ãã«åã蟌ãŸããŠããå ŽåïŒããŸãã¯å¥ã®æ§æïŒ
$$Variable
ãªã©ïŒã䜿çšããããšãã§ããŸãã
http://play.grafana.org/dashboard/db/test?editview=templatingã¯ããªãã·ã§ã³ãšããŠãVariableLabelãã瀺ããŠããŸãã ãããéããããšã¯ã§ããŸããïŒ
ç·šéïŒç§ã¯ãã°ã誀解ããŸãããããããªããïŒ ïŒïŒ ç¶ããã
ããã¯ãå€æ°ã®å€ã§ã¯ãªããå€æ°ã«ããããããååãä»ããããã®åãªããªãã·ã§ã³ã§ãã
+1
+1
+1
+1
+1
+1
ããã®ç¶æ³ã¯ã©ãã§ããïŒ
ããããããšã¯å¯èœã§ããïŒ
3.0ãã¡ã€ãã«ã§ããã¯å¯èœã§ããïŒ
å€ãã®äººãåŸ
ã¡æãã§ããæ©èœã®ããã§ãã ç§ãå«ããŠ:-)
+1
ç§ã¯éåžžããŠãŒã¶ãŒã«ãšã£ãŠã²ã©ãèŠããæ£èŠè¡šçŸã®äžéšã䜿çšããŸãã
+1
+1
+1
ããããªããšããã³ãã¬ãŒãå€æ°ã§æ£èŠè¡šçŸã䜿çšã§ããªããªããŸãã
+1
+1
+1
+1
+1
+1
@ mbell697 @torkelo
Grafanaã䜿çšããå éšãµãŒãã¹ã«ãããå®è£ ããŸããã ãã¹ãã«uuidã䜿çšããããïŒãã¹ãåãå€æŽããŠãã¡ããªãã¯ã®å±¥æŽããã®ä»ã®å€ãã®ãã®ã倱ãããããšã¯ãããŸããïŒããããã®uuidããŠãŒã¶ãŒã«è¡šç€ºããããšã¯åãå ¥ããããŸããã§ããã ç§ã¯ãuuidå€ãæ€åºããã¢ããªã±ãŒã·ã§ã³ã®httpãšã³ããã€ã³ãã䜿çšããŠããããå€æãããŠãŒã¹ã±ãŒã¹çšã®ç¹å®ã®ããããå®è¡ããŸããã ããã¯ç§ãã¡ã«ãšã£ãŠã¯ããŸãæ©èœããŠããŸãããäžè¬çã§äžæµã§åãå ¥ããããäœããããããšæããŸãã
ãããã³ã°ãå®è¡ã§ããURLãæã 'variable_translation_url'ãªãã·ã§ã³ãè¿œå ããããšã¯èš±å®¹ãããŸããïŒ ïŒå¿ èŠã«å¿ããŠãªãã·ã§ã³ã®èªèšŒããŒã¯ã³ã䜿çšïŒãŸãã¯ãããŠã³ããŒãããŠç¿»èš³ãå¿ èŠãªãã€ã³ãã§templateValuesSrv.jsã«ããã¯ã§ããjavascript srcãæãvariable_translation_scriptïŒãã®ãªãã·ã§ã³ãèšå®ãããŠããå ŽåïŒïŒ
templateValuesSrv.jsã³ãŒããå ±æã§ããŸããïŒ ãã£ãŠã¿ããã§ãã
@ZhuWanShanããã¯åºæ¬çã«ããã§ãïŒ
https://github.com/sangoma/grafana/commit/fa109c23bc92c3121173579afbd87a04d7e2f523
ããã«2ã€ã®ã¢ãããŒãã衚瀺ãããããšã«æ³šæããŠãã ããã 1ã€ç®ã¯ãããäžè¬çãªãã®ã§ããããã³ã°ãå®è¡ããããã®HTTP URLãæããqueryãããããã£ãæã€æ°ãããã³ãã¬ãŒãå€æ°ã¿ã€ããhttpããå°å ¥ããŸããïŒ_getHttpVariableOptionsãåç §ïŒã åŸã§ããªãã·ã§ã³ããã¹ãïŒè¡šç€ºå€ïŒãUUIDæ£èŠè¡šçŸã«äžèŽãããã©ãããæ€åºãã/ api / v1 / nodes / grafana-hosts /ãžã®ããŒãã³ãŒããããHTTPåŒã³åºãã䜿çšããŠå€æ°ã®ãããã³ã°ã匷å¶ãã2çªç®ã®ã¡ãœãããå®è£ ããŸããããã¹ãŠã®ãªãã·ã§ã³ã®ãããã³ã°ã ããã¯ãããŸã§ã®ãšããããŸãæ©èœããŠãããããããžã§ããªãã¯ã¡ãœããã«å€æããæ¹æ³ã«ã€ããŠæ¹åæ§ãæã£ãŠããå¿ èŠããããŸãã
+1
+1
èå³ã®ãã人ã®ããã«ã Simple JSONDatasourceãã©ã°ã€ã³ã䜿çšããŠç¹å®ã®ãŠãŒã¹ã±ãŒã¹ã解決ããããšãã§ããŸããã
ãã©ã°ã€ã³ã¯çŸåšãã³ãã¬ãŒãå€æ°ã¯ãšãªããµããŒãããŠããŸããããåé¡ãä¿®æ£ãããã«ãªã¯ãšã¹ãã¯ãã¹ã¿ãŒã«ããŒãžãããŠããŸãã ãã©ã°ã€ã³ã®æŽæ°ãããGrafana.netãªãªãŒã¹ã¯ãããæç¹ã§ç¶ãã¯ãã§ãã
ããã䜿çšãããšãGrafanaã®ããŒã¿ãœãŒã¹ãšããŠã«ã¹ã¿ã HTTPãšã³ããã€ã³ãã䜿çšã§ããŸãã 4ã€ã®ã¡ãœãããå®è£
ããå¿
èŠããããŸãã ã¯ãšãªããŒã¹ã®ãã³ãã¬ãŒãå€æ°ãšãšãã«äœ¿çšãããšãHTTPãšã³ããã€ã³ãã¯/search
APIãªã¯ãšã¹ããåãåããæ¬æã¯{ "target": "{template query content here}" }
ã®åœ¢åŒã®JSONãªããžã§ã¯ãã«ãªããŸãã ã¯ãšãªã®å
容ã¯å¥œããªããã«è§£æã§ããŸãã
ãšã³ããã€ã³ãããå€ã®é
åãè¿ããšããã³ãã¬ãŒãå€æ°å€["custom value 1", "custom value 2"]
ã®åºã«ãªããªã¹ãã次ã®åœ¢åŒã§äœæãããŸãã [{ "text": "custom value 1", value: 0 }]
ããã§ã text
ããããã£ã¯é
åã¢ã€ãã ããšã®æ»ãå€ã§ãã value
ããããã£ã¯ãæ»ãå€é
åã®å€æ°ã®ã€ã³ããã¯ã¹ã§ãã
ãŸãã¯ãããã¹ã/å€ãªããžã§ã¯ãã®é
å[{ "text": "label", "value": 123 }]
ãè¿ãããšãã§ããGrafanaã¯text
ããããã£ããã³ãã¬ãŒãå€æ°ã®ã©ãã«ãšããŠäœ¿çšãã value
ããããã£ãã®çã®å€ãšããŠäœ¿çšããŸãããã³ãã¬ãŒãå€æ°ã
ä»ã®ãã³ãã¬ãŒãå€æ°ãæ£èŠè¡šçŸåœ¢åŒã§ã¯ãšãªã«åçã«æ¿å ¥ããåŠçã®ããã«ãšã³ããã€ã³ãã«åçã«éä¿¡ããããšãã§ããŸãã
ããã§ãã¹ãŠã®ãšã€ãªã¢ã·ã³ã°ã·ããªãªã解決ãããããã§ã¯ãããŸããããä»ã®ãã³ãã¬ãŒãå€æ°ããã³ãã¬ãŒãã¯ãšãªã«åçã«æ¿å ¥ãããªã©ããã³ãã¬ãŒãå€æ°ã«äœ¿çšã§ããä»»æã®HTTPããŒã¿ãœãŒã¹ãçšæããããšã¯äŸ¿å©ãªããŒã«ã§ãã
ç§ã¯äººéã§ãã
+1
+1
+1
+1
+1
+1
+1000
+1
+2
ãããæã£ãŠãããšéåžžã«äŸ¿å©ã§ãããã å®éã«ã¯ãååãšuuidã®äž¡æ¹ãæã€ãªããžã§ã¯ãããããããããŸãã ååã衚瀺ãããã®ã§ãããuuidãå€æ°ã«æ ŒçŽããŸãã
次ã®ãããªããšãã§ããã°çŽ æŽããããšæããŸãã
ã¯ãšãªïŒæ¢åïŒïŒSHOW TAG VALUES FROM "vcd_vm" WITH KEY = "uuid" where "OrgVdc" =ã/ ^ $ vDC $ /ïŒ
ã©ãã«ïŒæ°èŠïŒïŒ "vcd_vm" WITH KEY = "name"ããã¿ã°å€ã衚瀺ãã㧠"uuid" =ã/ ^ $ tag $ /ïŒ
+1
+1
+1
+1
+1
+1
+1
'Custom'ãã³ãã¬ãŒãå€æ°ã 'values'ã®ãªã¹ããš 'labels'ã®ãªã¹ãïŒåºæ¬çã«ã¯ã«ã¹ã¿ã ããã·ã¥/ãã£ã¯ãïŒã®äž¡æ¹ãå ¥åãšããŠåãåã£ãå Žåã¯çŽ æŽãããã§ããã
+1
+1
ããã¯ãå ¬åŒã®cloudwatchãšã¯ã¹ããŒã¿ãŒã«ãã£ãŠãšã¯ã¹ããŒããããAWSCloudFrontããŒã¿ã«åœ¹ç«ã¡ãŸãã CloudFrontã®ããŒã¿ã¯ã人éã䜿çšããªãIDã§è¡šç€ºãããŸãã ã°ã©ããèŠãŠãã人éã«ãšã£ãŠããEAUUWLGUQEPFWV; EVWWU9PGWIBãã®ä»£ããã«ãfoo.example.com; bar.example.comããèŠãã®ã¯ã¯ããã«ç°¡åã§ã...
+1
ãŸããçŽ æŽããã補åãéçºãããããäžçãšå ±æããŠããã ãããããšãããããŸãïŒ
ãããä»åŸæ°ãæã§å®æœãããå¯èœæ§ã«ã€ããŠäœã瀺åã¯ãããŸããïŒ @meverettãææ¡ããåé¿çãå®è£ ãããããããåŸ ã€ããšãã©ã®çšåºŠæå³ãããããæ€èšããŠãããšããã§ãã
HTTPãšã³ããã€ã³ããä»ããŠãããå®è£ ããããšã¯ããã®åé¡ã®é«åºŠã«äžè¬åãããããŒãžã§ã³ã«å¯Ÿããé©åãªè§£æ±ºçã§ãããããã§èª¬æããå€ãã®ãŠãŒã¹ã±ãŒã¹ïŒç§ã®ãã®ãå«ãïŒã§ã¯ãå¿ èŠãªã®ã¯é©åºŠãªæ°ã®ããã¬ã³ããªãŒãã§ã®åºæ¬çãªéçãããã³ã°ã ãã§ãããããããéãã®ããã§ãã衚瀺åã->ããã¬ã³ããªã§ãªãããŒã¿ããŒã¹åãã®ãã¢ã
@ svet-b fwiwã@ meverettã®ææ¡ã䜿çšããããã«ç§»åããŸããããçã¿ã¯ãªããã¯ãªãŒã³ã§ããã ããŒã¿ãœãŒã¹ãã©ã°ã€ã³ããã«ãããã®ã«ã»ãã®æ°æéã
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
@meverettã®åé¿çã¯ããªãããŸãæ©èœããŸãããã·ãªãŒãºã¯ïŒç§ã®å ŽåïŒinfluxdbããã®ã¿ã°ã§ã®ã¿ã©ãã«ä»ãã§ãããããè€æ°å€å€æ°ã§äœ¿çšãããšäžååã§ãã ããã§ã®åé¿çã«ã€ããŠäœãææ¡ã¯ãããŸããïŒ :)
+1
+1
+1
+1
+1
ããããã®åé¡ã¯ããªãå®æçã«çºçããã®ã§ãäžèšã®ãœãªã¥ãŒã·ã§ã³ã䜿çšããNode.jsWebã¢ããªã±ãŒã·ã§ã³ã®äŸããŸãšããããšã«ããŸããã
ããã¯ããªãåºæ¬çãªããšã§ãããå ã®ã³ã¡ã³ãã§è¿°ã¹ããã¿ãŒã³ãå®å šã«å®è£ ããŠããŸãã ãŸããã«ãã¯ã¢ããããŒã¿ãããŸãé »ç¹ã«æŽæ°ãããªãåäžã®JSONãã¡ã€ã«ã«å ¥ããããšã§ããŸãããå Žåã¯ãããã«äœ¿çšã§ããå¯èœæ§ããããŸãã
ãã以å€ã®å Žåã¯ããããéå§ç¹ãšããŠäœ¿çšããæ¡åŒµããŠãä»»æã®ãœãŒã¹ïŒãã¡ããããã°ã©ã ãããïŒãããšã€ãªã¢ã·ã³ã°ããŒã¿ã«ã¢ã¯ã»ã¹ããSimpleJsonããŒã¿ãœãŒã¹ãã©ã°ã€ã³ããããæ¶è²»ã§ããããã«ã¢ããªãä»ããŠæäŸã§ããŸãããŸãããã³ãã¬ãŒãå€æ°ã®ãšã€ãªã¢ã·ã³ã°/ãããã³ã°ãé§åããããã«äœ¿çšã§ããŸãã
ãµã³ãã«Webã¢ããªã®ãªããžããªã¯ããã«ãããŸãã
ããã圹ã«ç«ãŠã°å¹žãã ãœãªã¥ãŒã·ã§ã³ãèšå®ããããã®ãã«ã/説æãæ±ãããªã¯ãšã¹ããæã ãããŸããã
也æ¯
+1
+1
ãã®å Žãã®ãã®è§£æ±ºçãããããšãã @ meverett ã ãœãªã¥ãŒã·ã§ã³ãå®è¡ããããã®Dockerã³ã³ãããŒãäœæããããã«ãDockerfileã䜿çšããŠãªããžããªãŒãäœæããŸããã ãã«ãæã«Dockerfileãšäžç·ã«ã«ã¹ã¿ã data.json
ãååŸããããã«èšå®ãããŠããŸãã ããã人ã
ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãïŒ
https://github.com/shirakaba/GrafanaSimpleJsonValueMapper-docker
ïŒ1
+1
+1
ããã+1ãããå Žåã¯ãçŸåšãã®åé¡ã賌èªããŠãã74人ãæ©ãŸãã誰ããåã«é²ãã§ä¿®æ£ãå®è£
ããããšãæãã§ããããšãèŠããŠãããŠãã ããã
GitHubã¯çç±ã§åå¿ãè¿œå ããŸãã...
+1
+1
+1
ããã¯çŽ æŽãããããšã§ãïŒ é·ãæ°å€ã®ãªã¹ãããããŸãããå€èªäœããããããããã«äººéã«åªããã©ãã«ã衚瀺ããæ¹ãã¯ããã«åªããŠããã¯ãã§ãã
å€æ°ïŒmyListOfLongs {ååïŒããšã¿ã®å€ïŒ122321312332ãååïŒã«ããŒã®å€ïŒ66666666}
+1ïŒ
+1
+1
ïŒ11534ã«é¢ããæŽæ°ïŒç¹°ãè¿ãããã«/è¡ã䜿çšããå Žåã¯åçã¿ã€ãã«ãèš±å¯ïŒ
+1
+111111
+1
+1
+ 1ããã®æ©èœãéåžžã«å¿ èŠãšããŠããŸãã
+1
+1
+1
+1
+1
ããã¯MySqlãšPostgreSQLã§æ©èœããŸãã
ãã1ã€ã®ãªãã·ã§ã³ã¯ãããŒ/å€å€æ°ãäœæã§ããã¯ãšãªã§ãã ã¯ãšãªã¯ã__ textãš__valueãšããååã®2ã€ã®åãè¿ãå¿ èŠããããŸãã __textåã®å€ã¯äžæã§ããå¿ èŠããããŸãïŒäžæã§ãªãå Žåã¯ãæåã®å€ã䜿çšãããŸãïŒã ããããããŠã³ã®ãªãã·ã§ã³ã«ã¯ããã¹ããšå€ããããããããããååãããã¹ããšããŠãIDãå€ãšããŠäœ¿çšã§ããŸãã ããã¹ããšããŠãã¹ãåãå€ãšããŠIDã䜿çšããã¯ãšãªã®äŸïŒ
SELECT hostname AS __text, id AS __value FROM my_host
http://docs.grafana.org/features/datasources/mysql/#query -variable
ã«ã¹ã¿ã å€æ°ã¯æ¬¡ã®ããã«ããããšããå§ãããŸãã
[{
"__text": "Server 1",
"__value": 1
},
{
"__text": "Server 2",
"__value": 2
}
]
ãã¶ãJSONãšåŒã°ããæ°ããã¿ã€ãã§ããïŒ
ããããšã@johnymachineïŒ ããã¯PostgreSQLããŒã¿ãœãŒã¹ã§ããŸãæ©èœããŸããã
ããã®æ¡åŒµãšããŠãå€æ°ã®__text
ã»ã¯ã·ã§ã³ãååŸããæ¹æ³ã¯ãããŸããïŒ ããã¯ãã°ã©ããç¹°ãè¿ãå Žåã«éåžžã«åœ¹ç«ã¡ãŸãã
ãã@MGinshe ãããã¯ç§ã«ãšã£ãŠã¯ããŸããããŸãïŒããã¹ãã¯å€ã䜿çšããŠè¡šç€ºãããŸãïŒïŒ
ç·šéïŒãã®ãã°ã®æåã®ã³ã³ããã¹ãã誀解ããŸããã以äžã®ã³ã¡ã³ããç¡èŠããŠãã ãããããã¯ïŒ9292ã®ããã®ãã®ã§ãã
@torkelo @nmaniwa
https://github.com/grafana/grafana/pull/12609ã¯ãã»ãšãã©ã®äººãããã§æ±ããŠãããã®ãå®è£ ããŠããããã§ããããããéããããŠããŒãžãããªãçç±ã¯äœã§ããïŒ
ãããããã®åé¡ã¯ãŸã£ããç°ãªãåé¡ã«é¢ãããã®ã§ããããããšãééã£ãåé¡ã«ãªã³ã¯ããŸãããïŒ
ããã«ã€ããŠã®ãã¥ãŒã¹ã¯ãŸã ãããŸãããïŒ ããã2018幎ã§ã!! ããããšãïŒ
@ dmayan @ johnymachineãåçããŸããã ããã䜿çšã§ããŸãã
ããã¯MySqlãšPostgreSQLã§æ©èœããŸãã
ãã1ã€ã®ãªãã·ã§ã³ã¯ãããŒ/å€å€æ°ãäœæã§ããã¯ãšãªã§ãã ã¯ãšãªã¯ã__ textãš__valueãšããååã®2ã€ã®åãè¿ãå¿ èŠããããŸãã __textåã®å€ã¯äžæã§ããå¿ èŠããããŸãïŒäžæã§ãªãå Žåã¯ãæåã®å€ã䜿çšãããŸãïŒã ããããããŠã³ã®ãªãã·ã§ã³ã«ã¯ããã¹ããšå€ããããããããããååãããã¹ããšããŠãIDãå€ãšããŠäœ¿çšã§ããŸãã ããã¹ããšããŠãã¹ãåãå€ãšããŠIDã䜿çšããã¯ãšãªã®äŸïŒ
SELECT hostname AS __text, id AS __value FROM my_host
http://docs.grafana.org/features/datasources/mysql/#query -variable
ã«ã¹ã¿ã å€æ°ã¯æ¬¡ã®ããã«ããããšããå§ãããŸãã
[{ "__text": "Server 1", "__value": 1 }, { "__text": "Server 2", "__value": 2 } ]
ãã¶ãJSONãšåŒã°ããæ°ããã¿ã€ãã§ããïŒ
MySQLãPostgreSQLã䜿çšããŠããŸããã ããã¯Grafanaã®æ©èœã§ããå¿
èŠããããŸãã ããã
ããçš®ã®ããã¯ã
ããããšãïŒ
El jueãã27 desepã de 2018 05ïŒ52ãMuhammad [email protected]
escribióïŒ
@dmayanhttps ïŒ//github.com/dmayanåçãããŸããã ããã䜿çšã§ããŸãã
ããã¯MySqlãšPostgreSQLã§æ©èœããŸãã
ãã1ã€ã®ãªãã·ã§ã³ã¯ãããŒ/å€å€æ°ãäœæã§ããã¯ãšãªã§ãã ã¯ãšãª
__textããã³__valueãšããååã®2ã€ã®åãè¿ãå¿ èŠããããŸãã __text
åã®å€ã¯äžæã§ããå¿ èŠããããŸãïŒäžæã§ãªãå Žåãæåã®å€ã¯
䜿çšæžã¿ïŒã ããããããŠã³ã®ãªãã·ã§ã³ã«ã¯ã次ã®ããšãå¯èœã«ããããã¹ããšå€ãå«ãŸããŸã
ããã¹ããšããŠããããããååã䜿çšããå€ãšããŠIDã䜿çšããå¿ èŠããããŸãã äŸ
ããã¹ããšããŠãã¹ãåãå€ãšããŠIDã䜿çšããŠã¯ãšãªãå®è¡ããŸããSELECT hostname AS __textãid AS __value FROM my_host
http://docs.grafana.org/features/datasources/mysql/#query -variable
ã«ã¹ã¿ã å€æ°ã¯æ¬¡ã®ããã«ããããšããå§ãããŸãã
[{
"__text"ïŒ "ãµãŒããŒ1"ã
"__value"ïŒ1
}ã
{{
"__text"ïŒ "ãµãŒããŒ2"ã
"__value"ïŒ2
}
]ãã¶ãJSONãšåŒã°ããæ°ããã¿ã€ãã§ããïŒ
â
ããªããèšåãããã®ã§ãããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/grafana/grafana/issues/1032#issuecomment-425011676 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AWcYqEwxjXiXE07uM0ZG-A284TghEIR2ks5ufJG4gaJpZM4C4cjS
ã
éåžžã«äŸ¿å©ãªæ©èœã§ãããã®æ©èœãããã°ãããã§å€§ãã«åœ¹ç«ã€å¯èœæ§ããããŸãã ã°ã©ãã¡ã€ãã¯æŒ¢åãä¿åã§ããªãããã§ãã ãããã£ãŠãGraphiteã§ã¯è±èªã䜿çšããå¿ èŠããããŸãããå®éã«ã¯grafanaããã·ã¥ããŒãã«äžåœèªã衚瀺ãããã®ã§ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã¯ã¯ããã«åªããŠããŸãã
ãã®æ©èœããŸããªãå®çŸããããšãé¡ã£ãŠããŸãã
2ã€ã®å€æ°ã䜿çšããŠID->ååã®ãããã³ã°ãè¡ãããšãã§ããŸããã æåã®å€æ°ã¯ãã¹ãŠã®å¯èœãªIDïŒå€ïŒããªã¹ããã2çªç®ã®å€æ°ã¯IDã«äžèŽããååïŒè¡šç€ºããã¹ãïŒããªã¹ãããŸãã ããã¯çæ³çã§ããããã§ããããŸããããããã¯ããªãã¯ãè¡ããŸãã
ãã¹ããããå€æ°ãšåŒã°ããŠãããšæããŸãã ãããŠãå€æ°ã»ã¬ã¯ã¿ãŒã®1ã€ãé衚瀺ã«ããããšãã§ããŸãã
+1
+1
@FdeFabricio InfluxDBã䜿çšããŸãããïŒ äžæ¹ã®å€ãå€æŽãããšãããäžæ¹ã®å€ãèªåçã«æŽæ°ãããŸããïŒ ãããããªããã©ã®ããã«ãããããŸããïŒ
@ bassie1995
InfluxDBã䜿çšããŸãããïŒ
ã¯ã
äžæ¹ã®å€ãå€æŽãããšãããäžæ¹ã®å€ãèªåçã«æŽæ°ãããŸããïŒ
ã¯ã
ãããããªããã©ã®ããã«ãããããŸããïŒ
ãã§ã«éžæãããŠããå€ã«äžèŽããã¢ã€ãã ãéžæããã¯ãšãªåå€æ°ãäœæããŸãïŒäŸïŒ SELECT "name" FROM playlists WHERE ("id" =~ /^$playlist_id$/)
ãããã§ãIDãæã€å€æ°ãšååãæã€å€æ°ã®2ã€ã®å€æ°ãäœæãããŸãã
@ bassie1995 @ FdeFabricioãããéã«è¡ãããšãã§ããŸãã
SELECT "id" FROM playlists WHERE ("name" =~ /^$playlist_name$/)
ã®ãããªãã®ïŒãã®ããã«ããŠãŒã¶ãŒã«ã¯ååã§ãã¬ã€ãªã¹ããéžæãããªãã·ã§ã³ã衚瀺ãããŸããããã¬ã€ãªã¹ãIDã¯é衚瀺ã«ãªã£ãŠããŸãã ãã¬ã€ãªã¹ãã¢ã€ãã ãªã©ãæ€çŽ¢ããããã«ãããã°ã©ã ã§ãã¬ã€ãªã¹ãIDã«ã¢ã¯ã»ã¹ããããšãã§ããŸãã
ãã ããPostgreSQL / MySQLããŒã¿ãœãŒã¹ã®__name
ããã³__value
æ§æã¯ãid-> nameã®ãããŸãããé²ããå¿
èŠãªããŒã¿ããŒã¹ã¯ãšãªã®æ°ãæžãããããäŸç¶ãšããŠçæ³çã§ãã ããã¯åºæ¬æ©èœIMOã§ããå¿
èŠããããŸãã
äžèšã®@johnymachineã®ã³ã¡ã³ãã«åºã¥ããå¥ã®åé¿çãèŠã€ããŸããã äžéšã®ããŒã¿ãœãŒã¹ã§ã¯ããããµããŒããããŠããŸãã ããŒã¿ãœãŒã¹ã§ãµããŒããããŠããªãå Žåã¯ãMySQLããŒã¿ããŒã¹ãäœæããããã«ããŒã¿ãè¿œå ããŠã__ valueãš__textãè¿ãã¯ãšãªãäœæã§ããŸãã ããã¯ãããŒã¿ãéçã§ããå Žåãç§ã®å Žåã¯ç¶æ ïŒå°ççç¶æ ïŒã§æ©èœããŸãã ã«ã¹ã¿ã ãšããŠå®çŸ©ãããå€æ°ã«å¯ŸããŠãã®æ©èœãå¿ èŠãªå Žåã¯ããããé©åãªåé¿çã§ããããšã«ããããè¯ã解決çã«ãªããšæããŸãã ããã«ããããã¹ãŠã®å€æ°ãªã¹ãã1ã€ã®å Žæã«ä¿åããããç°¡åã«å€æŽã§ããŸãã å¯äžã®æ¬ ç¹ã¯ãMySQLãã€ã³ã¹ããŒã«ããå¿ èŠãããããšã§ãã
SELECT SingleChar AS __valueãShortName AS __text FROMTSDBã State
ãã®ãœãªã¥ãŒã·ã§ã³ã¯ãç¹°ãè¿ãããã°ã©ããç¹°ãè¿ãããè¡ãããã³å€æ°ã«è€æ°éžæãããå Žåã«æ©èœããããšãè¿œå ããå¿ èŠããããŸãã äžèšã®2ã€ã®å€æ°ã䜿çšããŠãGirlPowerãã衚瀺ããäŸã¯ããããã®ç¶æ³ã§ã¯æ©èœããŸããã
ç§ã¯ã¡ããã©ãã®åé¡ãããã£ãŠããŠããããããã³ã·ã¥ã®åé¿çãèŠã€ããŸãã...
ããã·ã¥ãå¿
èŠã§ãããPerlè¡šèšã§ã¯æ¬¡ã®ããã«èšè¿°ãããŠããŸãã
Perl
%units = (
'ÎŒSv/h' => 1.0,
'mrem/h' => 0.1 );
ããã·ã¥ããŒãå€æ°Type
ïŒ Custom
ã Values separated by comma
ïŒ mrem/h, ÎŒSv/h
ãäœæãã JSON Model
ã次ã®ããã«ç·šéããŸããã
JSON
{
"allValue": null,
"current": {
"tags": [],
"text": "mrem/h",
"value": "0.1"
},
"hide": 0,
"includeAll": false,
"label": null,
"multi": false,
"name": "units",
"options": [
{
"selected": true,
"text": "mrem/h",
"value": "0.1"
},
{
"selected": false,
"text": "ÎŒSv/h",
"value": "1.0"
}
],
"query": "mrem/h, ÎŒSv/h",
"skipUrlSync": false,
"type": "custom"
}
ããã¯ïŒãã°ããã®éïŒæ©èœããŸãããGUIãä»ããŠããã·ã¥ããŒããç·šéãããšãéæ©èœç¶æ ã«æ»ããŸãïŒ-|
ããŒã¿ãæäŸã§ããå¥ã®ã·ã¹ãã ãããå Žåã«ãããåé¿ããããã®å¥ã®ãªãã·ã§ã³ïŒ
JSONããŒã¿ãœãŒã¹ãã©ã°ã€ã³ã䜿çšããŸããç§ã¯æ¬¡ã䜿çšããŠããŸãïŒ https ïŒ//grafana.com/plugins/simpod-json-datasource
å¿
èŠãªããŒã¿ãããäžéšã®ã·ã¹ãã ã«ã¯ã /
ãã«ã¹ãã§ãã¯ãšã³ããã€ã³ããš/search
ãšã³ããã€ã³ãã®ã¿ãå®è£
ããŸãã /search
ãšã³ããã€ã³ãã¯ã [{ "text": "A Human Name", "value": "123456" }, ...]
ã®ãããªJSONãè¿ãå¿
èŠããããŸãã text
ããããã£ã¯ãå€æ°éžæããããããŠã³ã«è¡šç€ºããããã®ã«ãªãã value
ã¯ãã¡ããªãã¯ã¯ãšãªã§äœ¿çšããããã®ã«ãªããŸãã
次ã«ããã®æ°ããããŒã¿ãœãŒã¹ã«å¯ŸããŠã¯ãšãªãå®è¡ããããã«ããã·ã¥ããŒãå€æ°ãèšå®ããŸããããã¯ã¡ãã£ãšããã¯ã§ãããããŒã¿ãœãŒã¹ã®target
ãã£ãŒã«ãã䜿çšããŠãããã䜿çšããè€æ°ã®ããŒã¿ã»ãããããå Žåã«äœãè¿ãããããã¯ãšã³ãã«æ瀺ã§ããŸãã
ããã«+1ã ç§ã¯ãããè¡ãæ¹æ³ãæ¬åœã«æãã§ããŸãããããã¯ãšã³ãã«äŸåããªãæ¹æ³ã§ãïŒç§ãã¡ã¯ã°ã©ãã¡ã€ãã䜿çšããŠããŸãïŒã
+1æå¹ãªãœãªã¥ãŒã·ã§ã³ã¯ãããŸããïŒ
@ BlackRider97äžèšã®ã³ã¡ã³ããã芧ãã ãããPostgreSQLïŒããã³ããããMySQLãMSSQLãªã©ïŒã«ã¯ããã€ãã®å®çšçãªãœãªã¥ãŒã·ã§ã³ããããŸãã
解決ç1ïŒ https ïŒ//github.com/grafana/grafana/issues/1032#issuecomment -409124505
解決ç2ïŒ https ïŒ//github.com/grafana/grafana/issues/1032#issuecomment -453242766
@thinropeããã®åé¿çãé©åã«å®è£
ããããšã¯ãæ¬åœã«ãšã¬ã¬ã³ããªä¿®æ£ã§ãã
ã«ã¹ã¿ã å€æ°ã§JSONã䜿çšã§ããå ŽåããŸãã¯å€æ°ã¿ã€ãããJSONãã§ããå Žåããããã³ã°ãªãã§ããã解決ã§ããæ¬ ç¹ã¯ãããŸããã
+1ããã«é¢ããæŽæ°ã¯ãããŸããïŒ
+1
+1
ããã¯ééããªãå¿
é ã®æ©èœã§ãã
ãã¹ãåã«æ£èŠè¡šçŸã䜿çšããŠãå€æ°ã䜿çšããŠäžéšã®ãã¹ãããã£ã«ã¿ãªã³ã°ããŸãã ãµãŒããŒã«ã¯ãã¹ãåã®ãã¿ãŒã³ãå«ãŸããŠãããããç¹å®ã®ã°ã«ãŒãã®ãã¹ãŠã®ãµãŒããŒã®ãªã¹ããååŸããããã®æ£èŠè¡šçŸã䜿çšã§ããŸãã éãæ£èŠè¡šçŸã衚瀺ãã代ããã«ãããããããŠã³ã¡ãã¥ãŒã®ã©ãã«ãšããŠãã°ã«ãŒãAã®ãµãŒããŒãã®ãããªããããªååã衚瀺ããããšæããŸãã
ãããã«ã¹ã¿ã å€ã«å
¥åããæ¹æ³ã¯ã次ã®ããã«ç°¡åã§ãã
label1:value1, value2, label3:value3, label5:value5
ã©ãã«ã¯ãªãã·ã§ã³ã§ãã :
ãæååã«ååšããå Žåã$ :
ã®åã®ãã¹ãŠãã©ãã«ã§ãããåŸã®ãã¹ãŠãå€ã§ãã
,
æåã®å Žåãšåæ§ã«ãã©ãã«åãŸãã¯å€ã§å¿
èŠãªå Žåã¯ã :
ããšã¹ã±ãŒãããæ¹æ³ãå¿
èŠã§ãã
ããŒã¿ãæäŸã§ããå¥ã®ã·ã¹ãã ãããå Žåã«ãããåé¿ããããã®å¥ã®ãªãã·ã§ã³ïŒ
JSONããŒã¿ãœãŒã¹ãã©ã°ã€ã³ã䜿çšããŸããç§ã¯æ¬¡ã䜿çšããŠããŸãïŒ https ïŒ//grafana.com/plugins/simpod-json-datasource
å¿ èŠãªããŒã¿ãããäžéšã®ã·ã¹ãã ã«ã¯ã
/
ãã«ã¹ãã§ãã¯ãšã³ããã€ã³ããš/search
ãšã³ããã€ã³ãã®ã¿ãå®è£ ããŸãã/search
ãšã³ããã€ã³ãã¯ã[{ "text": "A Human Name", "value": "123456" }, ...]
ã®ãããªJSONãè¿ãå¿ èŠããããŸããtext
ããããã£ã¯ãå€æ°éžæããããããŠã³ã«è¡šç€ºããããã®ã«ãªããvalue
ã¯ãã¡ããªãã¯ã¯ãšãªã§äœ¿çšããããã®ã«ãªããŸãã次ã«ããã®æ°ããããŒã¿ãœãŒã¹ã«å¯ŸããŠã¯ãšãªãå®è¡ããããã«ããã·ã¥ããŒãå€æ°ãèšå®ããŸããããã¯ã¡ãã£ãšããã¯ã§ãããããŒã¿ãœãŒã¹ã®
target
ãã£ãŒã«ãã䜿çšããŠãããã䜿çšããè€æ°ã®ããŒã¿ã»ãããããå Žåã«äœãè¿ãããããã¯ãšã³ãã«æ瀺ã§ããŸãã
ç§ã¯ãã®å®è£
ãè¡ããããã¯ç§ã®ããã«æ©èœããŸããããã¬ã³ãïŒå¡äŸïŒã®ã©ãã«ä»ãã«åºå·ããŠããŸã... IDïŒæ°å€ïŒãŸãã¯å®çŸ©ãããŠããªããããã®ä»ã®æå³ããããŸããã
ã¢ããã€ã¹ã§ããŸããïŒ
M
+1
ãŸããäŒç€Ÿã®Grafanaã§@ mbell697ã«ãã£ãŠèšè¿°ãããJSONããã¯ã䜿çšããŠããŸãã ããããç§èŠã§ã¯å¥åŠãªæ£èŠè¡šçŸã®åé¡ãããããã§ãã
æ€çŽ¢ããŒã¿ã次ã®ããã«ãªã£ãŠããGraphiteã¯ãšãªã«å¿ èŠãªã°ã«ãŒããæäŸããå°ããªPythonãã©ã¹ã³ã¢ããªãã»ããã¢ããããŸãã
@app.route('/search', methods=['POST'])
def search():
data = [
{"text": "fs-servers", "value": "{FS-server-1,FS-server-2,FS-server-3}"},
{"text": "db-a-servers", "value": "{db-server-1,}"},
{"text": "db-b-servers", "value": "{db-server-2,db-server-3}"}
]
return jsonify(data)
ãã®ãããããã·ã¥ããŒãã§json-sourceã䜿çšããŠãgroupããšããã¯ãšãªå€æ°ãäœæãã /fs-.*/
ã䜿çšããŠregex-fieldã§ãfs-serversãã°ã«ãŒãããã£ã«ã¿ãªã³ã°ããããšããŸããããããã¯æ©èœããŸããäºæ³ã©ãããããããåããåŸãæ£èŠè¡šçŸããããã¹ãããã£ãŒã«ãã§ã¯ãªããå€ããã£ãŒã«ãã«äœããã®åœ¢ã§é©çšãããŠããããšã«æ°ä»ããŸããã 誰ããããããããã€ãã®åé¿çãã¢ã€ãã¢ããããŸããïŒ
+1
+1
ãã®ããã®èŠä»¶ã«ã€ããŠã®ç§ã®èŠè§£ïŒ
ç§ãã¡ã®å Žåãåããã®ã®2ã€ã®ããªãšãŒã·ã§ã³ãèããŸãã ç§ãã¡ã欲ããã®ã¯æ¬è³ªçã«ãšã€ãªã¢ã¹ã§ãã ã©ã¡ãã®å Žåããããã·ã¥ããŒãã®ææè ã¯ããšã³ããŠãŒã¶ãŒãç解ãããããã³ãã¬ãŒãå€æ°ãªã¹ãããŠãŒã¶ãŒã«æäŸããããšèããŠããŸãã ãã ããã¯ãšãªã§äœ¿çšãããå€ã¯åºã«ãªãå€ã§ãã
äŸ1-åçŽãª1察1ã®ååå€æã ãããã£ãŠããã®å Žåãåœã³ãŒãã®æ°å€ãã¡ããªãã¯å€ãšããŠå ¬éãããŠããŸãã ããããæ°å€ã³ãŒããèŠããŠãã人ãããããšãç¥ã£ãŠãã ããã ãããã£ãŠããUSããŸãã¯ãCanadaãã衚瀺ããŸã
{"US" == "01"}
{"ã«ãã" == "02"}
ãã«ããããéžæãããŠããå Žåãã¯ãšãªã«æž¡ããããã³ãã¬ãŒãå€æ°å€ã¯ã02ãã§ãã
äŸ2-ã¯1察å€ã®ãããã³ã°ã§ãã å
éšçã«ã¯ãå±éã®æ®µéããããŸããããšãã°ãs0ãs1ãs2ãs3ãs4ã§ãã ãã ãããšã³ããŠãŒã¶ãŒã¯ããããdevãbetaãprodããšããŠäœ¿çšã§ããŸã
ãããã£ãŠã圌ãã¯ãããã次ã®ããã«ãããã³ã°ããããšèããŠããŸãã
{"dev" == ["s1"]}
{"beta" == ["s2"ã "s3"]}
{"prod" == ["s4"ã "s5"ã "s6"]}ãŸãã¯ãã以äžã®å Žå "prod" == s [456]
ãããã£ãŠããprodããéžæãããŠããå Žåããs4ãs5ãs6ããã¯ãšãªã«æž¡ãããŸã
ã¯ãšãªã®èŠ³ç¹ããïŒäŸ2ã䜿çšïŒãå€æ°åã¯stageVarã§ãã
ã¡ããªãã¯ã¿ã°åã¯ã¹ããŒãžã§ãã
åŒã³åºãã®ãããªaliasByïŒïŒã®å¿
èŠæ§ã¯ããŸããããŸãããã次ã®ãããªãã®ããããŸãã
stage =ã$ {stageVarã valueïŒregex }
ãšã€ãªã¢ã¹ïŒ$ stageVar.labelïŒ
éžæãããã³ãã¬ãŒãå€æ°å€ã§çµæããã£ã«ã¿ãªã³ã°ããŸãã 誰ããaliasByïŒïŒé¢æ°ã®ãããªãã®ã§ããã䜿çšããããšããå¯èœæ§ã¯ç¢ºãã«ãããŸããããããæ§æãšã©ãŒã§ããå Žåã¯åé¡ãããŸããã åäžã®å€ãæåŸ ããé¢æ°ã«æž¡ãããé åã®å€æãéæ³ã®ããã«ä¿®æ£ããããšã¯æåŸ ããŠããŸããã
ãããã³ã°ã«é¢ããŠã¯ããŠãŒã¶ãŒã«éçã«å®çŸ©ããŠãããã ãã§ååã ãšæããŸãã
çæ³çã«ã¯ãMTã«ã¯ãšãªãå®è¡ããŠããããã³ã°ããå¿
èŠã®ããå€ã®ãªã¹ãïŒããšãã°ãã01ããã02ããã03ãïŒãååŸãããšããããã³ã°/ãšã€ãªã¢ã¹ãç°¡åã«è¿œå ã§ããŸãã ããããããŠããªãå€ã¯ãããã©ã«ãããã±ããã«å
¥ããŸãã
+1
+1
ãããå«ãŸããŠããªãããšã«éåžžã«é©ããŠããŸããç§ã¯ãã®ãæçœãªãããšãã©ã®ããã«è¡ãããç解ããããã«ããªãã®æéãè²»ãããæçµçã«ã¯ååšããªãããšãçºèŠããããã«ããã«èªåã®éãèŠã€ããŸããã
äžèšã®ããã€ãã§èª¬æãããŠããããã«åçã«æžãçŽãæ©èœã¯çŽ æŽãããã§ãããã ãã ããéžæè¢ãåäžãŸãã¯è€æ°ã®éžæè¢ã®çµæã«éçã«ãããã³ã°ãããã«ã¹ã¿ã ããã£ãŒã«ãã®æ¡åŒµããŒãžã§ã³ã§ããçæçãªããã¯ïŒãŸãã¯æ°žç¶çãªãç°¡åãªãã¢ãã«ïŒã«ãæºè¶³ããŠããŸãã
ãã®äŸã¯åœã³ãŒãã§ãã åœããšã§ã¯ãªããå°ççãªå°åã«åºã¥ããŠã·ã¹ãã ã®ã¯ã©ã¹ã¿ãŒã衚瀺ãããå ŽåããããããŸãã ãã ããPrometheusãµãŒããŒã«ã¯åœã³ãŒãã®ã¿ãããŒãšããŠä¿åããŠããŸãã ãããã£ãŠãçŸæç¹ã§ã¯ãåç±³ã®ãã¹ãŠã®ã·ã¹ãã ã衚瀺ããå Žåã¯ã100ãåœè¿ãããã¯ãšãªããŒã¹ã®ãªãã·ã§ã³ãªã¹ãããUSãCAãMXãæåã§éžæããå¿ èŠããããŸãã ç§ãåæãè¡ãããã«ãšãŒããããã¢ãžã¢ããŸãã¯ã¢ããªã«ã®ãã¹ãŠã®åœãéžæããã®ã«ã©ãã ãã®æéãè²»ããããããããªãã«èšãããšã¯ã§ããŸããã å°åããšã«ãŸã£ããç°ãªãããã·ã¥ããŒããèšå®ããããšã¯ã»ãŒäŸ¡å€ããããŸããããã¯ã°ãããŠããŸãããã°ã©ããããŒãã³ãŒãã£ã³ã°ãã以å€ã®åé¡ã解決ããå¯äžã®æ¹æ³ã§ãã ãããã³ã°ã䜿çšããŠãŸã£ããæ°ããããŒã¿ããŒã¹ãäœæããŠããé衚瀺ã®ã¯ãšãªãå®è¡ããããšããçæ³ããã¯ã»ã©é ãããã§ãã
ç§ã®ç±ã®å€¢ïŒ
ããã¯ãå¯èœãªæ°ããã¿ã€ãã®å€æ°ãšããŠã®ãã«ã¹ã¿ã ãªã¹ãããªãã·ã§ã³ã®ããã«æãããŸãã ã«ã¹ã¿ã ãªã¹ããéžæãããšç©ºã«ãªããŸãããçŸåšã®ãã«ã¹ã¿ã ãã¢ãã«ãšéåžžã«ãã䌌ãŠããŸãã ãè¿œå ããã¿ã³ã衚瀺ãããŸãã [è¿œå ]ãã¯ãªãã¯ãããšã[衚瀺å€ïŒ]ãš[æ€çŽ¢å€ïŒ]ã®2ã€ã®ãã£ãŒã«ãã®å
¥åé
åãäœæãããããããã«å
¥åã§ããŸãã[衚瀺å€]ã¯ããŠãŒã¶ãŒãéžæãªã¹ãã«è¡šç€ºããããã®ã«ãªããŸããã±ãŒã¹ããåç±³ãã 次ã«ããæ€çŽ¢å€ãã¯ã¯ãšãªã«è¡šç€ºããããã®ã«ãªããŸãããã®äŸã§ã¯ãåç±³ã®å Žåã¯ãusãcaãmxãã«ãªããŸãã ãã€ã§ãããåé€ãã¢ã€ã³ã³ïŒãŽãç®±ïŒïŒã¯åã
ã®è¡ããªã¢ãŒãããŸãã [è¿œå ]ãã¿ã³ãããäžåºŠã¯ãªãã¯ãããšããŠãŒã¶ãŒããªãã·ã§ã³ã®ãªã¹ããå®äºãããŸã§ãæ°ãããã¢ãªã³ã°ãäœæãããŸãã æ¢åã®ã«ã¹ã¿ã ã¢ãã«ãšåæ§ã«ã[è€æ°å€]ããã³[ãã¹ãŠéžæ]ãªãã·ã§ã³ã¯ãã®ãŸãŸæ®ããŸãã
ãããå«ãŸããŠããªãããšã«éåžžã«é©ããŠããŸããç§ã¯ãã®ãæçœãªãããšãã©ã®ããã«è¡ãããç解ããããã«ããªãã®æéãè²»ãããæçµçã«ã¯ååšããªãããšãçºèŠããããã«ããã«èªåã®éãèŠã€ããŸããã
MySQLããŒã¿ããŒã¹ãäœæããããšã§ããã解決ããŸãããããããããŠã³ã«å¿ èŠãªé ç®ïŒãšãŒããããåã¢ã¡ãªã«ãªã©ïŒãå«ãããŒãã«ãäœæããŸãã2çªç®ã®ãã£ãŒã«ãã«ã¯ãäžèŽãããããšã³ããªã«äžèŽããæ£èŠè¡šçŸããããŸãã 次ã«ãMySQLãããŒã¿ãœãŒã¹ãšããŠè¿œå ãããããã䜿çšããŠå€æ°ãäœæããŸãã ããã¯ããã¯ã§ãããå®éã«ã¯éåžžã«ããŸãæ©èœããŸãã ç§ã¯ããªããããããšããŠããããšãšã»ãšãã©åãããã«ããã䜿ããŸãã
ç§ã¯å·§åŠãªããã¯ã«æè¬ããŸãããç§ãã¡ã«ãšã£ãŠããã¯å®éã«ã¯è§£æ±ºçã§ã¯ãããŸããã ãŸã£ããæ°ããããŒã¿ããŒã¹ãã»ããã¢ããããŠïŒMySQLããŸã£ãã䜿çšããªããããæäœäžããã¯äžå¯èœã§ãïŒãéåžžã«éçãªåçŽãªããŒ/å€ã®çœ®æãå®è¡ããããšã¯ãå€ãã®äœæ¥ã®ããã«æããŸãã
ç§ã¯ããã«ã€ããŠããå°ãèããŠããŸããããããŠç§ãäžã§èª¬æãããã®ããããã®æ©èœãæäŸããããã«ãšã¬ã¬ã³ããªæ¹æ³ããããŸãã ç§ã¯ããããå¯å€ãã¯ãããšåŒãã§ããŸãã ãããã«ã¹ã¿ã ãªã¹ãã®ããã«èŠããŸããã管çè ããããã®ãã¯ãã®1ã€ïŒãŸãã¯è€æ°ïŒãéžæãããšãæå®ãããå€æ°ãèšå®ãããæå®ãããå€ãæ¢åã®å€ã®ã»ããã«è¿œå ãããããšãæå®ã§ããŸãã ããã¯å®å šã«UIé§ååã¢ãã«ã§ãããå®éã®å€æ°ã®æŠå¿µããŸã£ããå€æŽããŸãããæ¢åã®å€æ°ã®äžã«ãªãŒãã³ã³ããªãŒãã·ã¥ã¬ãŒã¬ã€ã€ãŒãäœæããã ãã§ãã ããã«ãããäœæãã¯ãšãªãžã®çµ±åã«è¿œå ã®å€æ°ãå¿ èŠãšããã«ãäžäœäºææ§ã確ä¿ãããŸãã
å€æ°ãèšå®ãããã¯ãã䜿çšãããšããŠãŒã¶ãŒã¯éžæãããŠããå€ã確èªã§ãã以åã®ã³ã¡ã³ãã®ããã«åå¥ã®å€æ°ãäœæãã代ããã«ããŠãŒã¶ãŒã¯åå€æ°ãéããŠéžæç¯å²ãŸãã¯ããŒã¿ã衚瀺/æäœã§ããŸããæå³ããã ããã¯ã¯ããã«çŽæçã§ãã
äŸïŒ
ãããã£ãŠããNorth America-Primary Clusterããšããå€æ°ãã¯ãã¯ããCountryãå€æ°ããusãcaãmxãã«èšå®ãããClusterïŒãå€æ°ããprimaryãã«èšå®ããŸãã ãããã®èšå®ã¯ãååä»ãã®åå€æ°ããã«ããŠã³ãããšè¡šç€ºãããã®ã§ïŒé衚瀺ã®å Žåã¯é衚瀺ã«ãªããŸãïŒã[ãã¯ãå€æ°]ãã«ããŠã³ã«å床觊ããªãéãã[åœïŒ]ãªã¹ãã«åœãè¿œå ãŸãã¯åé€ã§ããŸãã
ããããããèšå®åã«ååä»ãå€æ°ãã¯ãªã¢ããããšããããŒã«å€ãããããããã®ãã¯ãã®éžæãªã¹ãã«å€æŽãå ãããããšãæå®ãããå€æ°ã®ä»ã®èšå®ããã¹ãŠã¯ãªã¢ãããŸãã ããã¯ã以åã«èšå®ããããã®ãå«ããå¯èœæ§ãããããšãæããã§ãªããªã¹ãã«åœ¹ç«ã€å¯èœæ§ããããŸãã è€æ°ã®å€æ°ãã¯ããªãã·ã§ã³ãéžæãããå Žåãç¹å®ã®å€ã®ç«¶åããèšå®ãããå Žåã¯ããªã¹ãã®æåŸã®ãªãã·ã§ã³ããåªå ãããããšæããŸãã ãã®åé¡ãåé¿ããæ¹æ³ã¯ãããŸããã ïŒãã®ã¯ãªã¢ãªã³ã°ã¢ã¯ã·ã§ã³ã¯å€æ°ããšã«æå®ããå¿ èŠãããããšã¯è°è«ã®äœå°ããããŸãããããã¯å°ãéç¶ãšèãããããã§ã...ãããããã¯ããã§ããïŒïŒ
ãããç§ã®æ¶ç©ºã®äŸã§ããããã§ã¯ããåœããšãã¯ã©ã¹ã¿ãŒãã®æ¢åã®å€æ°ããããŸãã
å¯å€ãã¯ãåïŒãªãŒãžã§ã³
åå1ïŒåç±³-ãã©ã€ããªã¯ã©ã¹ã¿ãŒ
èšå®ããåã«ååä»ãå€æ°ãã¯ãªã¢ããŸãïŒY
å€æ°1ïŒåœ
å€1ïŒusãcaãmx
å€æ°2ïŒã¯ã©ã¹ã¿ãŒ
å€2ïŒãã©ã€ããª
Name2ïŒå欧-äºæ¬¡ã¯ã©ã¹ã¿ãŒ
èšå®ããåã«ååä»ãå€æ°ãã¯ãªã¢ããŸãïŒY
å€æ°1ïŒåœ
å€1ïŒseãfiãnoãdkãis
å€æ°2ïŒã¯ã©ã¹ã¿ãŒ
å€2ïŒã»ã«ã³ããª
ç§ã¯å·§åŠãªããã¯ã«æè¬ããŸãããç§ãã¡ã«ãšã£ãŠããã¯å®éã«ã¯è§£æ±ºçã§ã¯ãããŸããã ãŸã£ããæ°ããããŒã¿ããŒã¹ãã»ããã¢ããããŠïŒMySQLããŸã£ãã䜿çšããªããããæäœäžããã¯äžå¯èœã§ãïŒãéåžžã«éçãªåçŽãªããŒ/å€ã®çœ®æãå®è¡ããããšã¯ãå€ãã®äœæ¥ã®ããã«æããŸãã
ç§ã¯ããªãããã®ãããªããšãèšãã ãããšæã£ãŠããŸããã çŸå®ã«ã¯ãããã¯ãèŠæ±ããããã®ããã¯ã¯åé¡ã解決ããŸããã»ããã¢ããã¯é£ãããªããå°æ¥çã«å ã«æ»ãããšãé£ãããããŸããã æ°ããããŒã¿ã»ãããè¿œå ãç¶ããã®ã§ãMySQLãããã«ãããšéåžžã«äŸ¿å©ã ãšæããŸããããã¯ããããã远跡ããŠæŽæ°ããã®ã«äŸ¿å©ãªå Žæã§ãã èããŠã¿ãã°ããããã®ããŒã¿ã»ãããè€æ°ã®ããã·ã¥ããŒãã§äœ¿çšããããããäžå çã«ç¶æãããå Žåã¯ãã©ããã«ä¿åããå¿ èŠããããŸãã æç³»åããŒã¿ããŒã¹ã«ããããä¿åã§ããªãå Žåã¯ãããããä¿åããããã®èšå®ãå¿ èŠã§ãã ãããã£ãŠãMySQLã䜿çšããããšã¯å®éã«ã¯å®å šã«çã«ããªã£ãŠããŸãã è¿œå ãããããŒãã¹ã¯ãMySQLã®äœæãéåžžã«ç°¡åã«èªååã§ããããšã§ãã
PostgreSQLã䜿çšããŠããå Žåã¯ããããã³ã°çšã®å®éã®ããŒãã«ãäœæããå¿ èŠã¯ãããŸããã次ã®ãããªããšãã§ããŸãã
SELECT *
FROM
(
VALUES
('London server 1', 'london_srv_1'),
('London server 2', 'london_srv_2'),
('New York server 1', 'ny_srv_1'),
('New York server 2', 'ny_srv_2')
) AS t (__text, __value)
ãã ããæ°å€ã§ã¯æ©èœããŸããã
SELECT * FROMïŒVALUESïŒ 'OK'ã '0'ïŒãïŒ 'EââRROR'ã '1'ïŒïŒAS tïŒ__ textã__ valueïŒ
ããã·ã¥ããŒããããŒãããå ŽåïŒ
ãããŠå¥ã®ãã©ã¡ãŒã¿ãéžæãããšã
éžæããå ŽåïŒOK + ERROR
æ°å€ãå¿ èŠãªå Žåã¯äžéåŒçšç¬Šãåé€ããå¿ èŠããããŸããããã§ãªãå Žåã¯ãããã¹ããšããŠè§£éãããŸãã
SELECT * FROM ( VALUES ( 'OK', 0), ( 'ERROR', 1) ) AS t (__text, __value)
çããŠããã@GlennMatthysglennã«æè¬ããŸãããåé¡ãçºçããŠããå Žæã¯ãã§ã«èŠã€ãããŸããã
SELECT * FROMïŒVALUESïŒ 'OK'ã0ïŒãïŒ 'Warning'ã1ïŒãïŒ 'Critical'ã2ïŒïŒAS tïŒ__ textã__ valueïŒ
è€æ°å€ã®æ§æïŒ
ããã¯èµ·ãããŸã
3ã€ã®å·ãéžæãã
ãããŠãã«ãããªã¥ãŒãªãïŒ
GlennMatthys-ããªãã®ãœãªã¥ãŒã·ã§ã³ã¯å®ç§ã§ããããããšã
MySQLã®å ŽåïŒ
SELECT * FROM ( VALUES row('a', 1), row('b', 2) ) AS t (__text, __value)
Mariadbã¯ã©ãã§ããïŒ ç§ã«ã¯æ©èœããŸããïŒmariaDBããŒãžã§ã³ïŒ10.5.5ïŒ
SELECT * FROM ( VALUES row('a', 1), row('b', 2) ) AS t (__text, __value);
ERROR 1064 (42000)..............
ãŸãã¯åã®ãã®ïŒ
SELECT * FROM ( VALUES ( 'OK', 0), ( 'Warning', 1), ('Critical', 2) ) AS t (__text, __value);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your
MariaDB server version for the right syntax to use near '(__text, __value)' at line 1
Valuesã¹ããŒãã¡ã³ãã¯äœ¿çšã§ããªããªã£ãããã§ã...
ãããšãç§ãééã£ãŠããããšã¯ä»ã«ãããŸããïŒ
@radoekaå€ãMariaDB / MySQLã®å Žå
SELECT * FROM
(
SELECT 'London server 1' AS '__text', 'london_srv_1' AS '__value'
UNION ALL SELECT 'London server 2', 'london_srv_2'
UNION ALL SELECT 'New York server 1', 'ny_srv_1'
UNION ALL SELECT 'New York server 2', 'ny_srv_2'
) AS t;
@GlennMatthysããããããããããããããªããŠè¿
éãªåå¿ã§ãããïŒ ãããŠãããã¯æ©èœããŸãã
ããªãæ°ããããŒãžã§ã³ã®mariadbãå®è¡ããŠãããšæããŸããããããã§ã¯ãããŸããïŒ2ãæåã®Linuxãã£ã¹ããªãã¥ãŒã·ã§ã³ã䜿çšïŒã
ããããšãã
ããã¯Prometheusã§ã¯ãµããŒããããŠããªãããã§ãã
ïŒ27829ãšããŠãã®åé¡ãå床éããšãéçããŒã¿ã®å Žåã«ã®ã¿ããã解決ãããŸãã
æãåèã«ãªãã³ã¡ã³ã
@thinropeããã®åé¿çãé©åã«å®è£ ããããšã¯ãæ¬åœã«ãšã¬ã¬ã³ããªä¿®æ£ã§ãã
ã«ã¹ã¿ã å€æ°ã§JSONã䜿çšã§ããå ŽåããŸãã¯å€æ°ã¿ã€ãããJSONãã§ããå Žåããããã³ã°ãªãã§ããã解決ã§ããæ¬ ç¹ã¯ãããŸããã