testquery.go 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485
  1. package main
  2. import (
  3. //"fmt"
  4. "time"
  5. //"time"
  6. //"math"
  7. //"sync"
  8. //"git.wecise.com/wecise/odbserver/lib/wgwaiter"
  9. . "git.wecise.com/wecise/odbserver/odb"
  10. "git.wecise.com/wecise/odbserver/odb/test"
  11. "gitee.com/wecisecode/util/logger"
  12. //"git.wecise.com/wecise/odbserver/odb/query"
  13. )
  14. // CGO_ENABLED=1 go run --ldflags '-linkmode external -extldflags "-static"' testquery.go
  15. // #cgo LDFLAGS: -L/opt/odbserver/sqlite -lsqlite -ldl
  16. // #include "/opt/odbserver/sqlite/sqlite.h"
  17. // #include <stdint.h>
  18. // #include <stdlib.h>
  19. // extern int64_t uhaha_seed;
  20. // extern int64_t uhaha_ts;
  21. // void uhaha_begin_reader();
  22. // void uhaha_end_reader();
  23. /*func Init() {
  24. conf := ODBConfig("0.0.0")
  25. ODB = NewOMDB(conf)
  26. MRingHandle = MRingStart()
  27. }*/
  28. func main() {
  29. //Init()
  30. //options := map[string]interface{} {"cache":odb.CacheAll}
  31. //g,err:= odb.New( options )
  32. logger.SetConsole(true)
  33. //option := &StoreOption{Cache:CacheAll}
  34. option := &Option{Cache: CacheAll, Keyspace: "oootest", DisableInitialHostLookup: true, DisableTask: true, DisableNotify: false}
  35. g, err := test.NewG(option)
  36. if err != nil {
  37. logger.Error(err.Error())
  38. } else {
  39. defer g.Close()
  40. }
  41. //logger.SetRollingDaily("C:/test/zkcron/src/test", "test.log")
  42. logger.SetLevel(logger.TRACE)
  43. // 测试MQL
  44. //rst,meta,err := g.Query(`SELECT id,vtime,usname FROM /core/user/ WHERE usname prefix 'admin' && email like 'admin*' `)
  45. //rst,err := g.Query(`SELECT id,vtime,usname FROM /core/user `)
  46. //rst,err := g.Query(`SELECT * FROM /matrix/jobs/runinfo`)
  47. //rst,err := g.Query(`SELECT id,vtime,class FROM / WHERE class IN ('test') LIMIT 10`)
  48. //rst,err := g.Query(`SELECT id,vtime,class FROM / WHERE id = 1234567890 LIMIT 10`)
  49. //rst,err := g.Query(`SELECT type,id FROM /matrix/log/cassandra WHERE type =~ '^[C' limit 10`)
  50. //rst,err := g.Query(`SELECT id,vtime,class FROM /core/ `)
  51. //rst,err := g.Query(`SELECT id,vtime,class FROM /matrix/performance WHERE id='13722093446131916505' limit 10`, false)
  52. //rst,err := g.Query(`SELECT id,vtime,class FROM /matrix/performance WHERE id='13722093446131916505' limit 10`, false)
  53. //rst,err := g.Query(`SELECT id,vtime,class,kpi_code FROM /matrix/performance WHERE mydate daterange ('20150324','20150325') limit 10`)
  54. //rst,meta,err := g.Query(`match ("biz:数字国网","biz:开发测试")-[*]->() return name,status,.*`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false})
  55. //rst,err := g.Query(`select * from /matrix/jobs/jobrun where vtime > '2016-03-07 15:51:43.581'`,false)
  56. //rst,err := g.Query(`select host, inst, param, value, vtime from /matrix/devops/performance/ where vtime >= 1461054031485 order by host, vtime asc limit 10 with version`,false)
  57. //rst,err := g.Query(`select host, inst, param, value, vtime from /matrix/devops/performance/ where host='mxsvr201' with version`)
  58. //rst,meta,err := g.Query(`select id,connect from /matrix/entity/switch where id like 'switch:10[1-9]switch41' `,map[string]interface{}{"meta":true})
  59. //rst,meta,err := g.Query(`select name from /matrix/system/depot where branch = 'test1' and domian = 'cmd' limit 1`)
  60. //rst,meta,err := g.Query(`select count(id) from /matrix/filesystem`)
  61. //rst,meta,err := g.Query(`select * from /matrix/entity/ where id='sanstorage:sanstorage1'`)
  62. //rst,meta,err := g.Query(`select count(*) from /matrix/devops/event`,&QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false})
  63. //rst, _,err := g.Query(`select node id from host:mxsvr201 with contain,depend`)
  64. //rst,meta,err := g.Query(`select entity from /matrix/devops/event e join ("linux:wecise")-[*]->(p:app) on e.entity=p.id`)
  65. //rst,meta,err := g.Query(`select id, host, entity from /matrix/devops/event e join (p:"app:cassandra1") on e.entity=p.id`)
  66. //rst,meta,err := g.Query(`select id, host, entity, p.name from /matrix/devops/event e join (p:/matrix/entity/app where id='app:app1') on e.entity=p.id`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  67. //rst,meta,err := g.Query(`select count(*) from /matrix/devops/event/ e join (p:/matrix/entity/switch where id = 'switch:switch1' or id='switch:switch2') on e.entity=p.id`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  68. //rst,meta,err := g.Query(`select value, ctime from /matrix/devops/performance where id = 'id1' and ctime >= 1555661943158 and ctime < 1555665543158 with version`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  69. // slow
  70. //rst,meta,err := g.Query(`select entity,msg,host,p.id,p.name from /matrix/devops/event/ e join (p:/matrix/entity/switch where id like 'switch:*') on e.entity=p.id limit 1 where entity like 'switch:*'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  71. //bug
  72. //rst,meta,err := g.Query(`select entity,msg,host,p.id,p.name from /matrix/devops/event/ e join (p:/matrix/entity/db2) on e.entity=p.id limit -1`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  73. //bug
  74. //rst,meta,err := g.Query(`select entity,p.param as param from /matrix/devops/event/ e join (p:/matrix/devops/performance/ where entity like 'switch:*' and value>30) on e.entity=p.entity limit 1`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  75. //bug
  76. //rst,meta,err := g.Query(`select count(*) from /matrix/devops/event/ e join (i:/matrix/entity/switch where id='switch:switch1' and name='switch:switch2') on e.entity=i.id and e.entity=i.name limit -1 where entity like 'switch:*' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  77. //bug !!!
  78. //rst,meta,err := g.Query(`SELECT max(value) FROM /matrix/devops/performance`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  79. //bug
  80. //rst,meta,err := g.Query(`SELECT max(severity) FROM /matrix/devops/event`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  81. //bug
  82. //rst,meta,err := g.Query(`select param from /matrix/devops/performance/ order by param asc`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  83. //bug
  84. //rst,meta,err := g.Query(`SELECT contain FROM /matrix/entity/biz where contain is not null`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  85. //bug
  86. /*rst,meta,err := g.Query(`create class if not exists /matrix/test/collect (
  87. v_varchar varchar,
  88. v_map map<varchar, varchar>,
  89. v_list list<varchar>,
  90. v_set set<varchar>,
  91. indexes(v_varchar, v_map, v_list, v_set),
  92. keys(v_varchar)
  93. )`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  94. /*rst,meta,err := g.Query(`select e.bk_inst_name as instName,
  95. i.name as serverName,
  96. i.park_id as parkId
  97. from /matrix/entity/physical_resource_obj/firewall e join (i:/matrix/entity/physical_resource_obj/server) on e.park_id=i.park_id
  98. where i.park_id = '133103'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  99. /*rst,meta,err := g.Query(`select bk_inst_name
  100. from /matrix/entity/physical_resource_obj/firewall e left join (i:/matrix/entity/physical_resource_obj/server) on e.park_id=i.park_id
  101. where i.park_id = '133103'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  102. //rst,meta,err := g.Query(`select id,e.name,p.id from /matrix/devops/event e join (p:pod) on e.entity = p.id`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  103. //rst,meta,err := g.Query(`select count(0) from /matrix/devops/event`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  104. //rst,meta,err := g.Query(`select e.id as id,e.name as name,e.severity,p.id,p.name as p_name from /matrix/devops/event e join (p:pod) on e.entity = p.id`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  105. //rst,meta,err := g.Query(` SELECT distinct e.biz,e.id,e.entity FROM /matrix/devops/event e `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  106. //rst,meta,err := g.Query(` SELECT bk2[0-2,3,4] as fff FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  107. //rst,meta,err := g.Query(` SELECT bk2[ 'iparam1', 'iparam2', 'fparam1', 'fparam2', 'sparam1'] FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  108. //rst,meta,err := g.Query(` SELECT bk2[-1,-2,-3,-4,-5] FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  109. //rst,meta,err := g.Query(` SELECT bk2 FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  110. //rst,meta,err := g.Query(` SELECT bk2[-1 - 1] FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  111. //rst,meta,err := g.Query(` SELECT bk2[1 - -1] FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  112. //rst,meta,err := g.Query(` SELECT bk2[ 4-3] FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  113. //rst,meta,err := g.Query(` SELECT bk2[ 'iparam1', 3-1, 4] FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  114. //rst,meta,err := g.Query(` SELECT bk2[ 'iparam1', 1-3, 4] FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  115. //rst,meta,err := g.Query(` SELECT bk2 FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  116. //rst,meta,err := g.Query(` SELECT bk2[ 'iparam1', 'iparam2', 2-3, 4 ].time('2020-04-22 08:10', '').(iparam1=1).count(iparam1) as iparam1 FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  117. //rst,meta,err := g.Query(` SELECT bk2[ 'iparam1', 'iparam2', 2-3, 4 ].time('2020-04-22 08:10', '').(iparam1=1).count(iparam1) as iparam1 FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  118. //rst,meta,err := g.Query(` SELECT bk2[ 'iparam1', 'iparam2', 2-3, 4 ].time().(iparam1=1) FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  119. //rst,meta,err := g.Query(` SELECT bk2[ 3-4, 5 ].time('2020-05-23 22:24:15', '').([1]=1).title() FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  120. /*rst,meta,err := g.Query(`SELECT
  121. id,logs.time('2020-05-30 04:36:24','2020-06-30 04:36:24')
  122. FROM
  123. /test/bucketlog`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  124. //rst,meta,err := g.Query(`SELECT id, disk[1].time(1580755071774, 1690755071774).limit(3) FROM /matrix/entity/it/it_linux`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  125. //rst,meta,err := g.Query(` SELECT bk2[ 'iparam1', 1-3, 4 ].time('2020-04-22', '').filter(fparam1 >= 0.992315).filter(iparam1 = 56).filter(fparam2 <> 0.418309) as iparam1 FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  126. //rst,meta,err := g.Query(` SELECT bk2.time('2020-04-22', '').filter(fparam1 >= 0.992315).filter(iparam1 = 56).filter(fparam2 <> 0.418309) as iparam1 FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  127. //rst,meta,err := g.Query(` SELECT bk2.time('2020-04-22', '').(fparam1 >= 0.992315).(iparam1 in [56,99]) FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  128. //rst,meta,err := g.Query(` SELECT bk2[-1 - 1].time('2020-04-22', '').find(fparam1 >= 0.992315).count(fparam1) as iparm1 FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  129. /*rst,meta,err := g.Query(` SELECT
  130. id, bk2
  131. FROM
  132. /matrix/testbucket7/`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  133. //rst,meta,err := g.Query(` SELECT bk2[-1 - 1].time('2020-04-22', '') FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  134. //rst,meta,err := g.Query(` SELECT bk2[-1 - 1].date('2020-05-23').find(fparam1=3.4) FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  135. //rst,meta,err := g.Query(` SELECT bk2 FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  136. //rst,meta,err := g.Query(` SELECT id,logs.time('2020-06-15','') FROM /matrix/ where id='linux:wecise' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  137. //rst,meta,err := g.Query(` SELECT id, class FROM /matrix/ where id='linux:wecise' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  138. //rst,meta,err := g.Query(` select values[0,2].time(1590231429,1590231439).find(pused='bbbbbbbbbbbbbbbbbbbb') from /test/donghuan/d `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  139. //rst,meta,err := g.Query(` select values.time(1590231429,1590231439).find(pused='bbbbbbbbbbbbbbbbbbbb') from /test/donghuan/d `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  140. //rst,meta,err := g.Query(` SELECT bklog FROM /matrix/testbucket5 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  141. //rst,meta,err := g.Query(` SELECT bklog.time('2020-04-22', '').file() FROM /matrix/testbucket5 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  142. //rst,meta,err := g.Query(` SELECT bk2.date("2020-05-15").file() FROM /matrix/testbucket5 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  143. //rst,meta,err := g.Query(` SELECT bklog["file*.log"{116669996670004, 116669996680008}] FROM /matrix/testbucket5 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  144. //rst,meta,err := g.Query(` SELECT id,logs["aaa.log"{142883909780000}]FROM /matrix/entity/it/it_aix where id='it_aix:192.168.190.175' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  145. //rst,meta,err := g.Query(` SELECT bk2["file1.log"{1,3,6,7}].time('2020-05-15 00:49:59,667', '').find( "twcs skipping" ) FROM /matrix/testbucket5 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  146. //rst,meta,err := g.Query(` SELECT bk2 FROM /matrix/testbucket5 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  147. //rst,meta,err := g.Query(` SELECT bklog["file1.log"].time("2020-06-25","") FROM /matrix/testbucket5 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  148. //rst,meta,err := g.Query(` select * from /matrix/portal/tools where id in('') and groups['group'] = null or groups['group'] = '' order by seat asc `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  149. //rst,meta,err := g.Query(` select * from /matrix/entity/hmc where host='wecise' and name='唯简'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  150. //rst,meta,err := g.Query(` select * from /matrix/system/hostinfo where host='wecise' and name='9132822350366988138'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  151. //rst,meta,err := g.Query(` select * from /matrix/entity/ where class='/matrix/entity/hmc' and host='wecise' and name='9132822350366988138'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  152. //rst,meta,err := g.Query(` select * from /matrix/entity/ where class='/matrix/entity/hmc' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  153. //rst,meta,err := g.Query(` select id,name,class,host,iplist,agentstatus,depot['文件系统检测'],config,zabbix['文件系统检测-1.0.0'] from /matrix/system/hostinfo where depot != null limit -1 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  154. //rst,meta,err := g.Query(`select id, domain, creater from /matrix/tagdir where domain = 'script' and creater = '' and name = 'ORACLE' limit 1 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  155. //rst,meta,err := g.Query(`select name, domain from /matrix/tagdir where domain = 'script' and creater = '' limit -1 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false, User:"U/newadmin/lyt1" , Group:[]string{ "/newadmin"}} )
  156. //rst,meta,err := g.Query(`select count(severity) as num, max(severity) as maxsss, min(severity) as minsss from /matrix/devops/alert where severity > 2 group by biz limit -1 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  157. /*rst,meta,err := g.Query(`SELECT
  158. id,status,host,vtime
  159. FROM
  160. /matrix/system/hostinfo where status = 1`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  161. /*rst,meta,err := g.Query(`SELECT
  162. count(*) , types
  163. FROM
  164. /matrix/entity/perbasisinfo group by types order by types limit 100000`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  165. /*rst,meta,err := g.Query(`SELECT
  166. name
  167. FROM
  168. /matrix/entity/aix where name=/aix:5ed617adaca22f8517f5e67[123]/` )*/
  169. //rst,meta,err := g.Query(`refresh /matrix/filesystem`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  170. //rst,meta,err := g.Query(`select name, _group from /matrix/tagdir where _group != "/testorg"`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  171. //rst,meta,err := g.Query(`select name, contain from /matrix/entity/cluster where contain != 'app:app2' and contain != 'app:Bapp2'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  172. //rst,meta,err := g.Query(`SELECT id FROM /matrix/entity/aix where id != 'aix:tes*'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  173. //rst,meta,err := g.Query(`refresh /matrix/filesystem`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  174. /*rst,meta,err := g.Query(`SELECT
  175. id,disk_perf.time('2021-04-01','2021-04-02').find("mount_point" = "/").title().min("free", "pfree").max("pfree").max("free").count().groupby("mount_point", 12h)
  176. FROM
  177. /matrix/entity/linux where id='linux:node3'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  178. /*rst,meta,err := g.Query(`SELECT
  179. id, vtime, severity
  180. FROM
  181. /matrix/devops/alert where severity > 0 and vtime > '2021-03-23 23:35:18.992' and vtime < '2021-04-23 23:35:18.992'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  182. /*rst,meta,err := g.Query(`SELECT
  183. assetid,biz,class,company,config,contact,ctel,day,dc,department,element,files,host,id,ip,location,model,mylist,mymap["key2"] as aaa,mymap["key1"] as bbb,myset,name,period,port,rack,region,room,sn,status,tags,tel,type,unit,vtime
  184. FROM
  185. /matrix/entity/mydevice`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  186. //rst,meta,err := g.Query(`SELECT v_varchar, v_text FROM /matrix/test/search where v_text like 'Cassandr*'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  187. //rst,meta,err := g.Query(`insert into /matrix/test/buckettsdb (id, bk2[ 'iparam1', 'iparam2', 'fparam1', 'fparam2', 'sparam1', 'vparam1']) values ('linux:wecise', [1, nil, 3.3, 6.5, '1234567890', 'abcdefghhhhh'] ) at '2020-07-24 10:24:16'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  188. //rst,meta,err := g.Query(`select bklog.time('2020-06-24','').limit(1000) FROM /matrix/test/bucketlog`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  189. //rst,meta,err := g.Query(`select id,logs.stats(3600) from /matrix/entity/linux where id = 'linux:node3' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  190. //rst,meta,err := g.Query(`select id,logs.time('2021-01-01','2021-05-15').find("ssl_req").stats(3600) from /matrix/entity/`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  191. //rst,meta,err := g.Query(`SELECT id,ip,host,disk_perf.time('2018-07-27','2020-07-28').title().max("pfree","free") FROM /matrix/entity/it/it_aix`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  192. //rst,meta,err := g.Query(`SELECT status[0] FROM /matrix/devops/alert`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  193. //rst,meta,err := g.Query(`select count(*) from /matrix/devops/alert_status`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  194. //rst,meta,err := g.Query(`select format(firstoccurrence, 'yyyy-MM-dd') from /matrix/devops/alert_status`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  195. //rst,meta,err := g.Query(`select firstoccurrence.format('yyyy-MM-dd') from /matrix/devops/alert_status`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  196. //rst,meta,err := g.Query(`select firstoccurrence.tounixtimestamp() from /matrix/devops/alert_status`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  197. //rst,meta,err := g.Query(` select count(id) from /matrix/devops/itil/event group by each(tags) `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  198. //rst,meta,err := g.Query(` select count(*) from /matrix/test/collect group by v_list `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  199. //rst,meta,err := g.Query(` select id,wheel["sise","color"] from /matrix/entity/car/camry where wheel.screw.sise > 39 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  200. //rst,meta,err := g.Query(` select l1.id,l1.name from linux l1 join (l2:"linux:*")-[*1]->("esx:esx1") on l1.id = l2.id`, &QueryMeta{Return: ReturnAll} )
  201. //rst,meta,err := g.Query(`select id from /matrix/test/oo/wheel where dim.bk2.time("2020-05-15", "").sum(iparam1).groupby(sparam1).assert($2 > 0)`, &QueryMeta{Return: ReturnAll} )
  202. //rst,meta,err := g.Query(`select id,wheel["sise","color"] from Camry c join ("Camry:13")-[:collide*1]-(h) on c.id = h.id where wheel.screw.sise > 39`, &QueryMeta{Return: ReturnAll} )
  203. //rst,meta,err := g.Query(` select id,wheel["sise","color"] from Camry c join ("Camry:13")-[:collide*1]-(h) on c.id = h.id where wheel.screw.sise > 39 `, &QueryMeta{Return: ReturnAll} )
  204. //rst,meta,err := g.Query(` select id,wheel["sise","color"] from Camry where wheel.screw.sise > 39 `, &QueryMeta{Return: ReturnAll} )
  205. //rst,meta,err := g.Query(`SELECT bk2 FROM /matrix/test/buckettsdb`, &QueryMeta{Return: ReturnAll} )
  206. //rst,meta,err := g.Query(` select * from /system/_/peers `, &QueryMeta{Return: ReturnAll})
  207. //rst,meta,err := g.Query(`select id from /test/oo/wheel where dim.bk2.time("2020-05-15", "").sum(iparam1).groupby(sparam1).assert($2 > 0) `, &QueryMeta{Return: ReturnAll})
  208. //rst,meta,err := g.Query(` SELECT prom.time('2022-08-01','').find(name='key1') FROM /test/bucketpromdb `, &QueryMeta{Return: ReturnAll})
  209. //rst,meta,err := g.Query(` SELECT class, id, prom.time('2021-01-01', '').xtop("max", 3) FROM /test/bucketpromdb/ `, &QueryMeta{Return: ReturnAll})
  210. //rst,meta,err := g.Query(` select id from / where _group = 'test' limit 1 `, &QueryMeta{Return: ReturnAll})
  211. //rst, meta, err := g.Query(`select distinct v_int from /test/alert_status`, &query.QueryMeta{Return: query.ReturnAll})
  212. //rst, meta, err := g.Query(`select * from /test/malert_status where node='222.129.134.178' with history`, &query.QueryMeta{Return: query.ReturnAll})
  213. /*var wg sync.WaitGroup
  214. for i := 0; i < 10; i++ {
  215. //time.Sleep(time.Duration(800) * time.Millisecond)
  216. wg.Add(1)
  217. go func(aa int) {
  218. _, _, err = g.Query(fmt.Sprintf(`update /test/alert_status set connect = connect + "Project:prj%d" `, aa))
  219. if err != nil {
  220. logger.Errorf("%v", err)
  221. }
  222. wg.Done()
  223. }(i)
  224. }
  225. wg.Wait()*/
  226. rst, meta, err := g.Query(` SELECT
  227. id, prom
  228. FROM
  229. /test/bucketpromdb `)
  230. //rst,meta,err := g.Query(`select firstoccurrence from /matrix/devops/alert_status where aaa='aaaaa' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  231. //rst,meta,err := g.Query(` SELECT bklog.time("2020-01-01", "").stats(3600) FROM /matrix/test/bucketlog `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  232. // rst,meta,err := g.Query(`select * from /matrix/test/collect where v_map = 'val3'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  233. /*rst,meta,err := g.Query(`SELECT
  234. id,disk_perf.time('2019-01-01','2021-04-06').title().limit(50)
  235. FROM
  236. /matrix/entity/linux where id='linux:node3'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  237. /*rst,meta,err := g.Query(`SELECT
  238. id,bkdata.time("2020-08-01","").find(vparam1 like '*jj*')
  239. FROM
  240. /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  241. /*rst,meta,err := g.Query(`SELECT
  242. bklog.time('2020-06-23 14:50','2020-06-23 15:00').find('twcs'),id
  243. FROM
  244. /matrix/testbucket5 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  245. /*rst,meta,err := g.Query(`SELECT
  246. id,disk_test.time('2020-07-27','')
  247. FROM
  248. /matrix/entity/it/it_aix `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  249. /*rst,meta,err := g.Query(`SELECT
  250. bkdata,class,day,host,id,name,real,status,tags,vtime
  251. FROM
  252. /matrix/testbucket4`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  253. /*rst,meta,err := g.Query(` SELECT
  254. id
  255. FROM
  256. /matrix/testbucket5/ where bklog.time("2020-05-01","").find("INFO") `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  257. //rst,meta,err := g.Query(`select name, pprefix, pmatch, _group from /matrix/perms/api where _group = '测试组' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  258. //rst,meta,err := g.Query(` select depot['df302'] from /matrix/system/hostinfo `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  259. /*rst,meta,err := g.Query(`SELECT
  260. depot
  261. FROM
  262. /matrix/system/hostinfo where depot = nil`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  263. //rst,meta,err := g.Query(` SELECT bk2.time('2020-04-22 08:09', '').filter( "iparam1" <= 2 ) as iparam1 FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  264. //rst,meta,err := g.Query(` SELECT * FROM /matrix/filesystem `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  265. //rst,meta,err := g.Query(`select ip,host,msg,entity,severity from /matrix/devops/event e join ("biz:数字国网")-[*]->("app:*")-[*]->(h:linux) on e.entity = h.id where e.severity > 3`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  266. //rst,meta,err := g.Query(`select id, config["aa","bb"], email[0,2] from /matrix/ldap where id='8999302930065828009'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  267. /*rst,meta,err := g.Query(` SELECT
  268. severity
  269. FROM
  270. /matrix/devops/alert `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  271. */
  272. //bug
  273. //rst,meta,err := g.Query(`select 1, "hello" as strcol, contain from "/matrix/devops/performance" where contain is null`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  274. //bug
  275. //rst,meta,err := g.Query(`select * from "/matrix/devops/performance" where host='123'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  276. //bug
  277. //rst,meta,err := g.Query(`select g1, avg(v1) as avgv1 from "/matrix/testgroup" group by g1`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  278. //rst,meta,err := g.Query(`select avg(v1) as avgv1 from "/matrix/testgroup" `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  279. //bug
  280. ///rst,meta,err := g.Query(`select avg(v1) as avgv1 from "/matrix/testgroup" group by g1,g3`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  281. //t1 := time.Now()
  282. //rst,meta,err := g.Query(`select wecise FROM asdf/matrix/devops/event where host = "wecise"`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  283. /*rst,meta,err := g.Query(`SELECT
  284. app,biz,card,class,ctime,day,entity,hdware,host,id,inst,ip,msg,name,org,param,script,severity,src,status,tags,vtime
  285. FROM
  286. /matrix/devops/event where host in ('wecise') `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  287. logger.Warn("duration ==>", time.Now().Sub(t1))
  288. */
  289. //bug
  290. //rst,meta,err := g.Query(`select host,ip,h.name from /matrix/devops/event/omnibus o join ("biz:查账系统")-[*]->("esx:*")-[:connect*]->(h:switch) on o.entity = h.id where o.severity=5`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  291. //rst,meta,err := g.Query(`select id, host, entity, p.name from /matrix/devops/event e join (p:'app:app1') on e.entity=p.id`)
  292. //rst,meta,err := g.Query(`select id, host, entity from /matrix/devops/event e join (p:"app:app1") on e.host=p.host`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  293. //rst,meta,err := g.Query(`select host,msg,id,class from /matrix/devops/event where host='mxsvr221' facet severity{"critical":[3,],"warning":[,3]} `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  294. //rst,meta,err := g.Query(`select host,msg,id,class from /matrix/devops/event where host='wecise' facet severity{"critical":[3,],"warning":[,3]} `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  295. //rst,meta,err := g.Query(`select host,id,class,value,vtime from /matrix/devops/performance/ where host='wecise' facet value{"big":[4,],"small":[,3]} `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  296. //rst,meta,err := g.Query(`select host,ip from /matrix/devops/event/omnibus o join ("biz:查账系统")-[*]->("esx:*")-[:connect*]->(h:switch) on o.entity = h.id where o.severity=5`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  297. //rst,meta,err := g.Query(`SELECT count(*) FROM /matrix/devops/event`)
  298. /*rst,meta,err := g.Query(`select * from /matrix/devops/event`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false})*/
  299. //rst,_,err := g.Query(`select * from /matrix/devops/中文测试`)
  300. //rst,meta,err := g.Query(`SELECT depot FROM /matrix/system/hostinfo where depot[key]='test''4'`)
  301. //rst,meta,err := g.Query(`SELECT * FROM /matrix/system/hostinfo where depot['111']='11'`)
  302. //rst,meta,err := g.Query(`Insert into /matrix/portal/tools name='对象管理' cnname='对象管理' enname='OMDB' icon='omdb.png' seat=10 selected=0 url='/janesware/omdb'`)
  303. //rst,meta,err := g.Query(`insert into /matrix/entity/linux (id, contain) values ('linux:wecise',["app:cassandra1"])`)
  304. //rst,meta,err := g.Query(`SELECT host as host2, class, app FROM /matrix/devops/event/ facet host2 as hello`, &QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false, NotAddFields:true} )
  305. //rst,meta,err := g.Query(`select * from /matrix/devops/event/ facet vtime{"old":[,'-1 day'],"new":['-1 day',]}`, &QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false} )
  306. //rst,meta,err := g.Query(`select * from /matrix/devops/performance facet value{"small":[,10],"big":[10,]}`, &QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false} )
  307. if err != nil {
  308. logger.Info("Query error:" + err.Error())
  309. logger.Warn(meta["type"])
  310. } else {
  311. logger.Info("rst ===>", rst)
  312. //logger.Error("meta ===>", meta)
  313. if meta["trace"] != nil && len(meta["trace"].([]string)) > 0 {
  314. for _, msg := range meta["trace"].([]string) {
  315. logger.Error(msg)
  316. }
  317. }
  318. logger.Warn(meta["columns"])
  319. logger.Warn(meta["params"])
  320. }
  321. time.Sleep(1 * time.Second)
  322. }