Compare commits
915 Commits
v8.5.26
...
v9.0.0-bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f89df6e171 | ||
|
|
19a5bdc7e1 | ||
|
|
b0300d56ac | ||
|
|
71ffa5e5db | ||
|
|
50c2b4682a | ||
|
|
7bcc151ae6 | ||
|
|
3ad1263097 | ||
|
|
a0193c248f | ||
|
|
8ad91e3f9e | ||
|
|
3e4b4dba46 | ||
|
|
521b0202e2 | ||
|
|
7096bc65b1 | ||
|
|
a1b709626f | ||
|
|
8fecf25d54 | ||
|
|
cbf71fbd7f | ||
|
|
69e2ab3d0f | ||
|
|
1e7e149ed6 | ||
|
|
5eb20739c2 | ||
|
|
a92f85a87b | ||
|
|
2ba4f7ed7d | ||
|
|
b1ba0bc7b0 | ||
|
|
d7c65d3323 | ||
|
|
33b2897552 | ||
|
|
7411c81e7f | ||
|
|
7d0986fda5 | ||
|
|
279f068cd5 | ||
|
|
d463c3157c | ||
|
|
ac8951f689 | ||
|
|
7cd034f33a | ||
|
|
dfab100dc7 | ||
|
|
51bc1bad1b | ||
|
|
8af587e7ba | ||
|
|
653c82cec4 | ||
|
|
f9d1d8370f | ||
|
|
9a59ccd644 | ||
|
|
fe16680c6d | ||
|
|
ce86b4ebe7 | ||
|
|
8c753999df | ||
|
|
ccd160a75e | ||
|
|
5a3cd45f79 | ||
|
|
3250bf6b2b | ||
|
|
18727f0bf5 | ||
|
|
307e33614e | ||
|
|
5fc5899462 | ||
|
|
060af782df | ||
|
|
01ef899753 | ||
|
|
0215195e6d | ||
|
|
3dfafbadef | ||
|
|
c29e6fcb3a | ||
|
|
4ea0b39db1 | ||
|
|
762a84153d | ||
|
|
a9cc3225ba | ||
|
|
be0d043673 | ||
|
|
8f4c3e94b0 | ||
|
|
0a509b97ef | ||
|
|
84a8a1aaa6 | ||
|
|
9e5292d32d | ||
|
|
060f0e5633 | ||
|
|
349d9973de | ||
|
|
755ec3b469 | ||
|
|
16a948fc88 | ||
|
|
34d77fd584 | ||
|
|
5b8bc3e44c | ||
|
|
6891bbf03c | ||
|
|
2ba1a75d50 | ||
|
|
e43879e55d | ||
|
|
ae8c11bfa4 | ||
|
|
1402c85ce1 | ||
|
|
ebc6d3a63c | ||
|
|
1cc034d960 | ||
|
|
26a206cce2 | ||
|
|
11a908cc91 | ||
|
|
cc0448927a | ||
|
|
4fc1bf4bfb | ||
|
|
c78b1fb304 | ||
|
|
2d48e75e88 | ||
|
|
12c25759da | ||
|
|
5645d7a5e3 | ||
|
|
aac5c9fd22 | ||
|
|
1d724810de | ||
|
|
687e79538b | ||
|
|
f06d9164a6 | ||
|
|
4f46c2f75f | ||
|
|
a3402641d6 | ||
|
|
03fe1435a0 | ||
|
|
313d203a87 | ||
|
|
0caeaaafe3 | ||
|
|
93e299305c | ||
|
|
7f29c2696d | ||
|
|
0cbe4fe661 | ||
|
|
b3b650be1f | ||
|
|
dea6fb4c1b | ||
|
|
2949ebc264 | ||
|
|
426ca2999e | ||
|
|
6fe28854bc | ||
|
|
c3a5ff1eeb | ||
|
|
ee9ea64834 | ||
|
|
3d5d8c785b | ||
|
|
c980655f08 | ||
|
|
34fa7b493c | ||
|
|
061055fac9 | ||
|
|
15605b6c80 | ||
|
|
258b3ab18b | ||
|
|
2780651ea8 | ||
|
|
bd320ee0b3 | ||
|
|
be57e73b61 | ||
|
|
be7de1041a | ||
|
|
f1f5f01309 | ||
|
|
7623f6ac64 | ||
|
|
f5ec4bcbd2 | ||
|
|
b864442717 | ||
|
|
4a61f4111f | ||
|
|
e5864f76b0 | ||
|
|
646dcfccf9 | ||
|
|
689f51599a | ||
|
|
59c8c0d56b | ||
|
|
0f4c3f7805 | ||
|
|
6397b34f8b | ||
|
|
64aedb78ba | ||
|
|
e8b498fe8b | ||
|
|
0a95d493e3 | ||
|
|
26e98a6f1b | ||
|
|
639e548e32 | ||
|
|
fbc495ee68 | ||
|
|
3bd6b8a5ae | ||
|
|
f0f33733a5 | ||
|
|
6bb843bd0e | ||
|
|
36663c093c | ||
|
|
444c585c99 | ||
|
|
8919c8b014 | ||
|
|
8a87db2743 | ||
|
|
aad2983350 | ||
|
|
33359aee6c | ||
|
|
66220758b3 | ||
|
|
e273c9a958 | ||
|
|
2b8909a9c6 | ||
|
|
0bad187a60 | ||
|
|
f35be58252 | ||
|
|
d2b9c42004 | ||
|
|
43d924324a | ||
|
|
dacfdc0cde | ||
|
|
f7f2253072 | ||
|
|
31ca628262 | ||
|
|
74c98470ee | ||
|
|
e2ea064584 | ||
|
|
426324ad3e | ||
|
|
0355772e36 | ||
|
|
78e22aac59 | ||
|
|
3da1bf160e | ||
|
|
3855c6cf3d | ||
|
|
04dff7cc70 | ||
|
|
c6c79a9360 | ||
|
|
e14b93f17c | ||
|
|
86962dc9bd | ||
|
|
258e48678a | ||
|
|
2191bf2a50 | ||
|
|
c9272b7d28 | ||
|
|
d592d4dd73 | ||
|
|
5b6d20fbce | ||
|
|
a3c5834594 | ||
|
|
35ea67c210 | ||
|
|
3b017e0fb1 | ||
|
|
d0d4d8af7f | ||
|
|
2053d37d7a | ||
|
|
d87fdc1037 | ||
|
|
859cc92da7 | ||
|
|
5b52a1c391 | ||
|
|
25da759bf2 | ||
|
|
ce1b1bc36b | ||
|
|
5c32a6b6f6 | ||
|
|
7688b12f9a | ||
|
|
db0f36e766 | ||
|
|
a113fcaca3 | ||
|
|
887adc3d9b | ||
|
|
4a26b9c6c7 | ||
|
|
81e368dbb5 | ||
|
|
eecee16b66 | ||
|
|
2857258b53 | ||
|
|
4e3f53f106 | ||
|
|
71e1305364 | ||
|
|
57595f7326 | ||
|
|
3ace282c29 | ||
|
|
f0496955e3 | ||
|
|
7251115457 | ||
|
|
0ae8e3bd4e | ||
|
|
b54ac426c8 | ||
|
|
103887a6e8 | ||
|
|
2bc09da446 | ||
|
|
8169dcd9a2 | ||
|
|
7ac9a0a087 | ||
|
|
6b4353f890 | ||
|
|
523b9ec44f | ||
|
|
752217e93c | ||
|
|
1c5996eddf | ||
|
|
cdc6344a96 | ||
|
|
b9e45fafe5 | ||
|
|
43358c7248 | ||
|
|
aaea3bdd99 | ||
|
|
45d6d38183 | ||
|
|
1d18b5ccd3 | ||
|
|
d4d2a747d0 | ||
|
|
2bbb685c54 | ||
|
|
43ab0c1f95 | ||
|
|
0616388036 | ||
|
|
f01a72e179 | ||
|
|
2790f0f5e4 | ||
|
|
0a44fbdd42 | ||
|
|
ef9e08ffcf | ||
|
|
5c4ebb6f34 | ||
|
|
30e4e9399b | ||
|
|
9bbe951ec6 | ||
|
|
c7f8c2cc73 | ||
|
|
156e14e296 | ||
|
|
78287618ab | ||
|
|
1df340ff28 | ||
|
|
9af30f6570 | ||
|
|
7bdf76a694 | ||
|
|
719af24235 | ||
|
|
c652849303 | ||
|
|
acd31ae9f0 | ||
|
|
e574870104 | ||
|
|
4b4f996fa3 | ||
|
|
51dfcd7d37 | ||
|
|
6a5a0e5770 | ||
|
|
457ee6d2fb | ||
|
|
cba54a9a1d | ||
|
|
f0b6a39ad6 | ||
|
|
c8ca28bbea | ||
|
|
34be8f28b9 | ||
|
|
7cb7290a3e | ||
|
|
83e234d4f6 | ||
|
|
e3c1faad56 | ||
|
|
54f167dc2d | ||
|
|
b342c53acd | ||
|
|
bddbed4e21 | ||
|
|
e5925b2e91 | ||
|
|
44956aea66 | ||
|
|
925784f514 | ||
|
|
de3e981985 | ||
|
|
f252e89339 | ||
|
|
9a0f2ec449 | ||
|
|
ce6a5694ff | ||
|
|
e5ae3b9762 | ||
|
|
c5f5cbe438 | ||
|
|
9bc4a27238 | ||
|
|
92ff880cbc | ||
|
|
3b0cd8b6f1 | ||
|
|
d477394d6c | ||
|
|
1be8f9686d | ||
|
|
a3e68eef17 | ||
|
|
18cbea84b1 | ||
|
|
a59200fac4 | ||
|
|
7a0610f0f4 | ||
|
|
075dca1b34 | ||
|
|
fe91b9d706 | ||
|
|
cb1b101a9c | ||
|
|
a3233c6ac3 | ||
|
|
0ea04ac64d | ||
|
|
8fcca7f700 | ||
|
|
15034702c6 | ||
|
|
b33c1bf4fd | ||
|
|
43e34f3086 | ||
|
|
84d4ce51ad | ||
|
|
eecdbebf75 | ||
|
|
14c2f4f3da | ||
|
|
7a05941ea0 | ||
|
|
baa50c58d0 | ||
|
|
68757cfa73 | ||
|
|
2691872c7a | ||
|
|
952cb4fc0b | ||
|
|
85af8ce2ec | ||
|
|
3fbda0f35b | ||
|
|
5c321599c8 | ||
|
|
ff844f0599 | ||
|
|
ea1001f1f5 | ||
|
|
2dc45e3e72 | ||
|
|
e2e9616c87 | ||
|
|
a2ebdf2bc2 | ||
|
|
3d922a4e67 | ||
|
|
2d4065600c | ||
|
|
522a31c479 | ||
|
|
4bd97c8673 | ||
|
|
8b5f899912 | ||
|
|
683c1c0f40 | ||
|
|
f256f625d8 | ||
|
|
3106af9eec | ||
|
|
fa37c6c9d3 | ||
|
|
1a7ca3f0de | ||
|
|
483319f1cb | ||
|
|
d73bd617f0 | ||
|
|
f866165445 | ||
|
|
8b9419222a | ||
|
|
c1b56e79ef | ||
|
|
97759c75f4 | ||
|
|
6f1f7cdc88 | ||
|
|
08268d8713 | ||
|
|
87e8521591 | ||
|
|
e528f2e430 | ||
|
|
00ef1acb93 | ||
|
|
4cd1a113ef | ||
|
|
75760e90b4 | ||
|
|
90b7a76328 | ||
|
|
60bc3e4e5c | ||
|
|
555867135b | ||
|
|
a51c2774b8 | ||
|
|
ab91af202c | ||
|
|
1c679e814b | ||
|
|
6cbaa18cf6 | ||
|
|
186ba26b59 | ||
|
|
6c9cf4843f | ||
|
|
369fcc5e9a | ||
|
|
c8a0e52a59 | ||
|
|
58fa119270 | ||
|
|
e1a9ce4cc4 | ||
|
|
44e7602ad2 | ||
|
|
a1217ef8da | ||
|
|
906484b809 | ||
|
|
3a32a73459 | ||
|
|
d31d300ce1 | ||
|
|
233a96d818 | ||
|
|
99156b40bd | ||
|
|
dc33e09b24 | ||
|
|
d5a881598f | ||
|
|
270e38cfcf | ||
|
|
6c4eae710f | ||
|
|
7e5ea3f5a0 | ||
|
|
2bd9e9aca5 | ||
|
|
61772a66b6 | ||
|
|
31ff23f542 | ||
|
|
897db011eb | ||
|
|
7b9929fffe | ||
|
|
b1bde7667f | ||
|
|
6923b4c6c6 | ||
|
|
53a4f3913c | ||
|
|
d6d358ef26 | ||
|
|
5c2dee19d5 | ||
|
|
99eaa0fc20 | ||
|
|
809aa38103 | ||
|
|
bb66c03f9a | ||
|
|
30d9cc81ec | ||
|
|
e16dc72c94 | ||
|
|
51ff2b8c58 | ||
|
|
3ffe447c80 | ||
|
|
66a0916d00 | ||
|
|
42098a7a27 | ||
|
|
2d6ab03e4f | ||
|
|
4fbd974471 | ||
|
|
529fddf502 | ||
|
|
25b4aa8d86 | ||
|
|
5be23b40b6 | ||
|
|
101ae4b828 | ||
|
|
4b5d295c8c | ||
|
|
f135a5c8a4 | ||
|
|
c4edab884e | ||
|
|
b6c5f29373 | ||
|
|
3c78196d0b | ||
|
|
817cf52744 | ||
|
|
9826a694a8 | ||
|
|
0e1dffc655 | ||
|
|
bcb0bfce3a | ||
|
|
ee8e125134 | ||
|
|
454e804657 | ||
|
|
c1b5ea3e54 | ||
|
|
34fefa1d47 | ||
|
|
0f56462fbe | ||
|
|
6de77283c6 | ||
|
|
1a633812a7 | ||
|
|
10db618204 | ||
|
|
ea96c42545 | ||
|
|
a5672758d8 | ||
|
|
fca52a1c83 | ||
|
|
ec666f8785 | ||
|
|
250b72cc1b | ||
|
|
b04fb8522d | ||
|
|
a98fae32fc | ||
|
|
32a26d87a4 | ||
|
|
af57804513 | ||
|
|
08bee1e682 | ||
|
|
b35ca8c08d | ||
|
|
610247d52a | ||
|
|
65d7d466d7 | ||
|
|
696405ba7b | ||
|
|
da74dba7c8 | ||
|
|
8ed3fb1f2d | ||
|
|
02aa1cd1c5 | ||
|
|
9b8cdab123 | ||
|
|
3cade2f669 | ||
|
|
7e332d6f97 | ||
|
|
143810bb95 | ||
|
|
1cd9175075 | ||
|
|
abb1618291 | ||
|
|
3372cb7897 | ||
|
|
0d14c27eb9 | ||
|
|
60cabaea0a | ||
|
|
46b40b6e82 | ||
|
|
83a5ca95c7 | ||
|
|
9529c35efa | ||
|
|
2d574f352c | ||
|
|
35300a816a | ||
|
|
5df91bdcf1 | ||
|
|
6e6f6e3cce | ||
|
|
570ff074f6 | ||
|
|
dac8abfc2c | ||
|
|
6e530d45bc | ||
|
|
2f1d404949 | ||
|
|
efe09d6a8b | ||
|
|
7313310080 | ||
|
|
3da6878f58 | ||
|
|
5bc91187f1 | ||
|
|
06d3c27bc1 | ||
|
|
2738d1c557 | ||
|
|
00dbea91ea | ||
|
|
b2644de6c8 | ||
|
|
f85e758972 | ||
|
|
7b4bc3eda6 | ||
|
|
2e5f797666 | ||
|
|
8fcae1ef3c | ||
|
|
51c3d9d664 | ||
|
|
082cfbdb06 | ||
|
|
f00ffb190c | ||
|
|
b0f41b9772 | ||
|
|
b71aa912c6 | ||
|
|
f45dc224d9 | ||
|
|
e04d8fca7b | ||
|
|
bb7e556efc | ||
|
|
b420179be4 | ||
|
|
713e624790 | ||
|
|
c41397a6e7 | ||
|
|
18f089d1bd | ||
|
|
ff38f24044 | ||
|
|
0d60b1ce0a | ||
|
|
66d7105b34 | ||
|
|
38fc0c68e4 | ||
|
|
b88644cb83 | ||
|
|
0b5ffcfcf0 | ||
|
|
09634b518c | ||
|
|
46e53cf42c | ||
|
|
4ecd57f49c | ||
|
|
88eeb878a4 | ||
|
|
b231cbcf86 | ||
|
|
5dabb55b39 | ||
|
|
e1a15bab21 | ||
|
|
48964efdf6 | ||
|
|
070d18c1c3 | ||
|
|
769be876a5 | ||
|
|
4661c9ca47 | ||
|
|
cd462c5b21 | ||
|
|
27821e0bc1 | ||
|
|
3ee99821bc | ||
|
|
806ea058ed | ||
|
|
7f4b1b767e | ||
|
|
6a303bb6b8 | ||
|
|
20f62e1841 | ||
|
|
929d3134d1 | ||
|
|
bc58e2edab | ||
|
|
a927608cf5 | ||
|
|
21034e31de | ||
|
|
2d9d12380c | ||
|
|
d774deab99 | ||
|
|
7acf5bd7e8 | ||
|
|
7d369a1dea | ||
|
|
a8354a0319 | ||
|
|
2e9c38c951 | ||
|
|
815fc42da3 | ||
|
|
66cbf2c422 | ||
|
|
de75dd6aad | ||
|
|
9db95826a4 | ||
|
|
4867a6b15f | ||
|
|
a8f3b17262 | ||
|
|
da1d34e83d | ||
|
|
656cd4c8dd | ||
|
|
2533f21015 | ||
|
|
c57924e332 | ||
|
|
a98a872929 | ||
|
|
f90622e0d0 | ||
|
|
9047058c43 | ||
|
|
69ee917c89 | ||
|
|
bde368be55 | ||
|
|
b8460051a6 | ||
|
|
0a87ef06af | ||
|
|
a5c570a5f6 | ||
|
|
39ee365b82 | ||
|
|
de50f39c12 | ||
|
|
9622e7457e | ||
|
|
74c2c2ccf0 | ||
|
|
a96510d03c | ||
|
|
54acec69a3 | ||
|
|
d7c16e06d2 | ||
|
|
87ae3e0644 | ||
|
|
da035e823f | ||
|
|
2cc276567d | ||
|
|
b414ac5d8c | ||
|
|
18f7da97ac | ||
|
|
54e5152d37 | ||
|
|
d828dc0904 | ||
|
|
6c6137f45a | ||
|
|
e9a2a06651 | ||
|
|
5283a8b13d | ||
|
|
1667a7c0da | ||
|
|
4988350160 | ||
|
|
9e3a01a1be | ||
|
|
c8a71a2f91 | ||
|
|
7bb4f5cd9b | ||
|
|
c207ea30eb | ||
|
|
412dbc21e3 | ||
|
|
9e84e20ade | ||
|
|
bd9cec8827 | ||
|
|
b92fe0e0f5 | ||
|
|
17eca4505c | ||
|
|
3e752a0db1 | ||
|
|
49491bc73e | ||
|
|
62cd722726 | ||
|
|
7b224adf9f | ||
|
|
ce8becdfe2 | ||
|
|
fa5744c887 | ||
|
|
9e21e4d1c1 | ||
|
|
7048bf9f0d | ||
|
|
d9de621d20 | ||
|
|
735822e48a | ||
|
|
d4616cfe26 | ||
|
|
5a9aad3e86 | ||
|
|
4551f05994 | ||
|
|
eeaa160ae8 | ||
|
|
c3ba6f962b | ||
|
|
484bd0b557 | ||
|
|
af8fbc16d6 | ||
|
|
fee291c3c8 | ||
|
|
f0f3134cb1 | ||
|
|
9b0b391949 | ||
|
|
f1082afd1b | ||
|
|
9fcbfe2c1c | ||
|
|
ae926c2144 | ||
|
|
9688d7d7aa | ||
|
|
0c998a1fbd | ||
|
|
a7a5476ac2 | ||
|
|
da49e94069 | ||
|
|
4fef50272f | ||
|
|
d451d02628 | ||
|
|
67752ad88c | ||
|
|
6f4131ad15 | ||
|
|
b9787db68e | ||
|
|
cc114e24ca | ||
|
|
ab144bf05e | ||
|
|
736be74128 | ||
|
|
ff23f78b51 | ||
|
|
e9a93ebfc9 | ||
|
|
6edefe5147 | ||
|
|
07bd261cff | ||
|
|
86971b1b30 | ||
|
|
b990d3c9e3 | ||
|
|
3ae90efda2 | ||
|
|
3343519154 | ||
|
|
fb25cf11e7 | ||
|
|
6945f1c483 | ||
|
|
60ec10566f | ||
|
|
900d9bf9a1 | ||
|
|
4b417c8f3e | ||
|
|
a3256bafa7 | ||
|
|
e8f4b58a8b | ||
|
|
ebfb70dc12 | ||
|
|
9237729c19 | ||
|
|
6be21d66e6 | ||
|
|
a20b3e2d59 | ||
|
|
647f749652 | ||
|
|
9d129bde76 | ||
|
|
bb7bd6a920 | ||
|
|
a60c32275e | ||
|
|
361cc18b45 | ||
|
|
a320e942a6 | ||
|
|
199cacc7b6 | ||
|
|
f58a2d879e | ||
|
|
25e153e4e7 | ||
|
|
8764040fe3 | ||
|
|
103087a1a5 | ||
|
|
7798b08b1e | ||
|
|
5294a2af48 | ||
|
|
0da50294fe | ||
|
|
078a578803 | ||
|
|
9b95d77be9 | ||
|
|
1be45d1ed9 | ||
|
|
0301d956da | ||
|
|
5f594addbf | ||
|
|
3b4d237ade | ||
|
|
4e6c3be7ab | ||
|
|
8126331f66 | ||
|
|
706d3d1161 | ||
|
|
090afc9ae0 | ||
|
|
9df26c7b7c | ||
|
|
430b9ae5cb | ||
|
|
53fcb7e171 | ||
|
|
e420252d45 | ||
|
|
c73b9d1818 | ||
|
|
fc0346fe5b | ||
|
|
c0ee94a04d | ||
|
|
98161be9ad | ||
|
|
fe7b594bbd | ||
|
|
eef22c05e1 | ||
|
|
e0aeb83786 | ||
|
|
7311c9757a | ||
|
|
53e9bf47db | ||
|
|
6c0a5b121e | ||
|
|
098563179b | ||
|
|
a367ad730c | ||
|
|
0ca32f0c61 | ||
|
|
ebe34ddcba | ||
|
|
25c07ff85e | ||
|
|
801a2a240a | ||
|
|
ea25f7e1ca | ||
|
|
b30d9f2732 | ||
|
|
9829195829 | ||
|
|
c1c94f478a | ||
|
|
d8a754c4a0 | ||
|
|
c5547123bc | ||
|
|
7cfab77650 | ||
|
|
cb2c6fe6bc | ||
|
|
68ca5b2e05 | ||
|
|
2e599643f6 | ||
|
|
70a7b73839 | ||
|
|
ea52663dd9 | ||
|
|
1c977281c8 | ||
|
|
2b2f275a08 | ||
|
|
75ba4e98c6 | ||
|
|
8310789ef1 | ||
|
|
f915767fdc | ||
|
|
a7f02094b1 | ||
|
|
7dc28d4083 | ||
|
|
277a83215c | ||
|
|
e9ad2207be | ||
|
|
94fd03f44f | ||
|
|
1566fa2ede | ||
|
|
3c6e0e8ef8 | ||
|
|
147a1600e7 | ||
|
|
00a08afaac | ||
|
|
2713de2bd1 | ||
|
|
5f83fc3c61 | ||
|
|
a34da3e248 | ||
|
|
3606527359 | ||
|
|
11bc5e1a06 | ||
|
|
28665a869b | ||
|
|
6899f23a22 | ||
|
|
f2814046d1 | ||
|
|
87dc1bfc88 | ||
|
|
3e7db088ac | ||
|
|
75d528d7bd | ||
|
|
9f0b6a5754 | ||
|
|
53a6c0210d | ||
|
|
4fbc481d1f | ||
|
|
6910da6221 | ||
|
|
8e606dd751 | ||
|
|
d66fc6ed1a | ||
|
|
9595b56f0d | ||
|
|
94d2155f44 | ||
|
|
f50cd90301 | ||
|
|
9a4bd1f2d4 | ||
|
|
f3743bb652 | ||
|
|
836f5c1f4a | ||
|
|
412be1f1cf | ||
|
|
d99d095ac6 | ||
|
|
3b256afb9e | ||
|
|
600ad35978 | ||
|
|
d93bcd547e | ||
|
|
79d328fcbc | ||
|
|
15ea6d559a | ||
|
|
dbcaedac6c | ||
|
|
03cf38e659 | ||
|
|
a0553de8dd | ||
|
|
ce6aed21a7 | ||
|
|
eb05f6ead8 | ||
|
|
d832bde270 | ||
|
|
9ed7e48454 | ||
|
|
b727c324b8 | ||
|
|
52768d87c4 | ||
|
|
8677552dda | ||
|
|
ae8038c5c6 | ||
|
|
34d4b571e6 | ||
|
|
ff5aef194c | ||
|
|
5c3be630f2 | ||
|
|
8972418113 | ||
|
|
b034bd18b5 | ||
|
|
68478e908a | ||
|
|
72b5af8d9b | ||
|
|
ce89d7e874 | ||
|
|
6c1994cb86 | ||
|
|
d442608eb9 | ||
|
|
c1f766a374 | ||
|
|
c1ec122f75 | ||
|
|
e19e934178 | ||
|
|
d0b41f882e | ||
|
|
459c64fd44 | ||
|
|
0afc542998 | ||
|
|
7341124b1e | ||
|
|
d76e5d7c6a | ||
|
|
3d91047e6e | ||
|
|
54962c2f0c | ||
|
|
6eb41f9cb3 | ||
|
|
db8d85e2f2 | ||
|
|
9c0aa09a85 | ||
|
|
68aac0bd90 | ||
|
|
01c22ee366 | ||
|
|
79c06fdddc | ||
|
|
e8fc6637ec | ||
|
|
5c4459a723 | ||
|
|
8b4b57a6c6 | ||
|
|
8ae5dd74e6 | ||
|
|
c48d8d1d48 | ||
|
|
be3f52abb1 | ||
|
|
c1490a464a | ||
|
|
ff60f39e96 | ||
|
|
1696a9abee | ||
|
|
f9f4a4cbf6 | ||
|
|
cbd2d09d70 | ||
|
|
1588cd393a | ||
|
|
39d3c8afd7 | ||
|
|
e58a015baf | ||
|
|
70802447a5 | ||
|
|
24038d9985 | ||
|
|
aa98123e72 | ||
|
|
89fa35a53f | ||
|
|
f4e285b8b4 | ||
|
|
785145c045 | ||
|
|
0c31399e34 | ||
|
|
a4081aebb7 | ||
|
|
677327ea07 | ||
|
|
992c0604f9 | ||
|
|
2d8d9bc137 | ||
|
|
69eb6efd6e | ||
|
|
a068712ac2 | ||
|
|
2aa6f4d17b | ||
|
|
4570615afc | ||
|
|
bb5f77703c | ||
|
|
378ce4f685 | ||
|
|
7d5cb170c6 | ||
|
|
c98d835f81 | ||
|
|
4f26129aa4 | ||
|
|
858a1bd24e | ||
|
|
516c8b60ee | ||
|
|
5e11af0121 | ||
|
|
031a8e140a | ||
|
|
4510519941 | ||
|
|
67ff5f5815 | ||
|
|
d4f7ea9f01 | ||
|
|
7ddae870e7 | ||
|
|
f263cad8ab | ||
|
|
720c6aac62 | ||
|
|
7905957ee8 | ||
|
|
5579dcaa6f | ||
|
|
adbe374754 | ||
|
|
508cc58a63 | ||
|
|
24468fdd67 | ||
|
|
b43e9b50b4 | ||
|
|
2a178bd73c | ||
|
|
758364e78b | ||
|
|
a126c07e54 | ||
|
|
6a8f9b7ebc | ||
|
|
41012af997 | ||
|
|
ab4c7f14aa | ||
|
|
388b3bf908 | ||
|
|
057ff5bcf5 | ||
|
|
782ec05d8c | ||
|
|
f79e0c68cc | ||
|
|
ecd6cd4a92 | ||
|
|
060ccacbf9 | ||
|
|
c63086822d | ||
|
|
90892050d0 | ||
|
|
e50bd5cac8 | ||
|
|
6f31a69bfd | ||
|
|
c8189e4808 | ||
|
|
7916f3b638 | ||
|
|
86ca14f7e6 | ||
|
|
5df05e31bb | ||
|
|
4c99e681b1 | ||
|
|
e3590e1a9b | ||
|
|
aceedb3a32 | ||
|
|
17e44c306c | ||
|
|
c266a4ac81 | ||
|
|
694a7e73dc | ||
|
|
388ecb4037 | ||
|
|
5fb80498b1 | ||
|
|
e00db6a826 | ||
|
|
884c885289 | ||
|
|
17bd741fc0 | ||
|
|
a245531f0c | ||
|
|
f62c261900 | ||
|
|
dfdfe3f428 | ||
|
|
3456793e0f | ||
|
|
a30ab51550 | ||
|
|
939a778111 | ||
|
|
6db470c11e | ||
|
|
a57716f868 | ||
|
|
38809d73c2 | ||
|
|
e86b6662a1 | ||
|
|
337d5bf423 | ||
|
|
59a0c715f4 | ||
|
|
c3db3121b0 | ||
|
|
673a2ab49e | ||
|
|
ab5e2e10ce | ||
|
|
d7516f11b3 | ||
|
|
32511f3d06 | ||
|
|
463f00b93f | ||
|
|
46dc1e98fa | ||
|
|
1957863b67 | ||
|
|
fe3a27a2ab | ||
|
|
06d2d44031 | ||
|
|
232d880fe0 | ||
|
|
b8e3c77adb | ||
|
|
6042beab43 | ||
|
|
a4381ebc91 | ||
|
|
5cb5141c72 | ||
|
|
d0abe1bb3d | ||
|
|
a15c2021fe | ||
|
|
712b239d5a | ||
|
|
7f5e8bb00f | ||
|
|
884e06ec45 | ||
|
|
35f52aee55 | ||
|
|
3e030d137f | ||
|
|
f80a0d2a9b | ||
|
|
4b889eb336 | ||
|
|
6592ac537a | ||
|
|
95009995e4 | ||
|
|
85de0d88c7 | ||
|
|
f10047b708 | ||
|
|
c449aadc1b | ||
|
|
e979690011 | ||
|
|
98cbecc4a5 | ||
|
|
3b2ca399e2 | ||
|
|
7181efd1cf | ||
|
|
d95468a4bb | ||
|
|
8db35b9b0b | ||
|
|
a5530d36a7 | ||
|
|
9024340487 | ||
|
|
eca61e6dd7 | ||
|
|
9a0f626948 | ||
|
|
68511e7712 | ||
|
|
201557c6fc | ||
|
|
cfaf058b20 | ||
|
|
8bd825e16c | ||
|
|
0bf889e058 | ||
|
|
42431e6ad4 | ||
|
|
51c98b182d | ||
|
|
7a8437020d | ||
|
|
af9353caec | ||
|
|
614fd04653 | ||
|
|
8f6877e12a | ||
|
|
03ba91e8a4 | ||
|
|
fb0f30e30b | ||
|
|
1ed83eb9b2 | ||
|
|
48519f9ebb | ||
|
|
7be8fe027f | ||
|
|
bda3dd24e4 | ||
|
|
ef4c2672b3 | ||
|
|
4bc582570e | ||
|
|
c0104db72d | ||
|
|
2478785aaf | ||
|
|
398f2b3d18 | ||
|
|
4318ffdd46 | ||
|
|
99bb6ebd2b | ||
|
|
ebe5f3646f | ||
|
|
e3b123c3fc | ||
|
|
883ce5ad30 | ||
|
|
7e844064a4 | ||
|
|
18e93c7077 | ||
|
|
1a88612e82 | ||
|
|
c530100d45 | ||
|
|
b31c7d3654 | ||
|
|
ad432108e6 | ||
|
|
3df625e9f4 | ||
|
|
87383b1c8b | ||
|
|
f1a1070d41 | ||
|
|
416da59c43 | ||
|
|
beed3fd5de | ||
|
|
9574f447bb | ||
|
|
2cf88cfec8 | ||
|
|
c8514756be | ||
|
|
ce2a9252c2 | ||
|
|
e1438990ae | ||
|
|
7ab910af48 | ||
|
|
631dd718a2 | ||
|
|
4a4d87dbdc | ||
|
|
c3ad36ba72 | ||
|
|
222325c7f1 | ||
|
|
883f9f718f | ||
|
|
74a5650156 | ||
|
|
94f72acbb3 | ||
|
|
59388bf546 | ||
|
|
21d82132bb | ||
|
|
b857f8339e | ||
|
|
29b8d5d295 | ||
|
|
fba31c2708 | ||
|
|
1c13bfdd1b | ||
|
|
4b8a202232 | ||
|
|
d95782845d | ||
|
|
af71e77e6c | ||
|
|
41642fd5f4 | ||
|
|
c3fe027d58 | ||
|
|
0cff2d5980 | ||
|
|
ca286a238d | ||
|
|
25235b3167 | ||
|
|
6e0826a986 | ||
|
|
0639ccbdff | ||
|
|
0845ba1abb | ||
|
|
015a31644c | ||
|
|
916749897c | ||
|
|
ee91561bf6 | ||
|
|
c621cdb986 | ||
|
|
8665745a14 | ||
|
|
0b897b6318 | ||
|
|
b2f24e9d5b | ||
|
|
38c842cf4a | ||
|
|
49505b9a3b | ||
|
|
460b8e85d7 | ||
|
|
04c037b2cb | ||
|
|
b9e6ed3a8a | ||
|
|
d153d896c5 | ||
|
|
8853fe5b91 | ||
|
|
bc28e36089 |
@@ -5,341 +5,251 @@
|
||||
//
|
||||
exports[`no enzyme tests`] = {
|
||||
value: `{
|
||||
"packages/grafana-ui/src/components/BarGauge/BarGauge.test.tsx:2315765050": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
"packages/grafana-ui/src/components/BarGauge/BarGauge.test.tsx:4199795290": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/ColorPicker/NamedColorsPalette.test.tsx:1355456933": [
|
||||
[1, 31, 13, "RegExp match", "2409514259"]
|
||||
"packages/grafana-ui/src/components/Forms/Legacy/Input/Input.test.tsx:3129955645": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/FileUpload/FileUpload.test.tsx:3475964456": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
"packages/grafana-ui/src/components/Graph/Graph.test.tsx:1664091255": [
|
||||
[0, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/FormField/FormField.test.tsx:2387359174": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
"packages/grafana-ui/src/components/Graph/GraphTooltip/MultiModeGraphTooltip.test.tsx:1865444105": [
|
||||
[0, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/Forms/Legacy/Input/Input.test.tsx:4019574269": [
|
||||
[2, 19, 13, "RegExp match", "2409514259"]
|
||||
"packages/grafana-ui/src/components/Logs/LogRowContextProvider.test.tsx:2719724375": [
|
||||
[0, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/Gauge/Gauge.test.tsx:1435004725": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
"packages/grafana-ui/src/components/QueryField/QueryField.test.tsx:375894800": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/Graph/Graph.test.tsx:2882401917": [
|
||||
[1, 17, 13, "RegExp match", "2409514259"]
|
||||
"packages/grafana-ui/src/components/Typeahead/PartialHighlighter.test.tsx:1751923376": [
|
||||
[0, 31, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/Graph/GraphTooltip/MultiModeGraphTooltip.test.tsx:3734531523": [
|
||||
[1, 17, 13, "RegExp match", "2409514259"]
|
||||
"packages/grafana-ui/src/components/Typeahead/Typeahead.test.tsx:972524250": [
|
||||
[0, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/List/AbstractList.test.tsx:2210654375": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
"packages/grafana-ui/src/slate-plugins/braces.test.tsx:1440546721": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/Logs/LogLabels.test.tsx:1113070745": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
"packages/grafana-ui/src/slate-plugins/clear.test.tsx:1085648664": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/Logs/LogMessageAnsi.test.tsx:1478948568": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
"packages/grafana-ui/src/slate-plugins/runner.test.tsx:446043290": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/Logs/LogRowContextProvider.test.tsx:636540759": [
|
||||
[3, 17, 13, "RegExp match", "2409514259"]
|
||||
"packages/grafana-ui/src/slate-plugins/suggestions.test.tsx:3654981205": [
|
||||
[0, 18, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/Logs/LogRows.test.tsx:2288254498": [
|
||||
[3, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/QueryField/QueryField.test.tsx:1297745712": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/Slider/Slider.test.tsx:2110443485": [
|
||||
[3, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/Typeahead/PartialHighlighter.test.tsx:3831493850": [
|
||||
[1, 31, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/Typeahead/Typeahead.test.tsx:1026793168": [
|
||||
[1, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/components/Typeahead/TypeaheadInfo.test.tsx:3968135869": [
|
||||
[1, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/slate-plugins/braces.test.tsx:2551821825": [
|
||||
[3, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/slate-plugins/clear.test.tsx:4145618392": [
|
||||
[3, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/slate-plugins/runner.test.tsx:2165687770": [
|
||||
[3, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/grafana-ui/src/slate-plugins/suggestions.test.tsx:4138775391": [
|
||||
[1, 18, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/CanvasSpanGraph.test.js:3515574241": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/GraphTicks.test.js:1837731860": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/Scrubber.test.js:1200884350": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/TickLabels.test.js:3094256278": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/ViewingLayer.test.js:2643658696": [
|
||||
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/CanvasSpanGraph.test.js:1974748555": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/index.test.js:4118842298": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TracePageHeader/TracePageHeader.test.js:3669774385": [
|
||||
[15, 26, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TracePageHeader/TracePageSearchBar.test.js:2095199604": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/ListView/index.test.js:793239444": [
|
||||
[15, 26, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/ReferencesButton.test.js:2288177454": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanBar.test.js:2127169675": [
|
||||
[15, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanBarRow.test.js:814916029": [
|
||||
[15, 26, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianKeyValues.test.js:2200354834": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianLogs.test.js:3242453659": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianReferences.test.js:1301875390": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianText.test.js:2881451220": [
|
||||
[15, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/KeyValuesTable.test.js:2159985979": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/TextList.test.js:3713828679": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/index.test.js:3788127934": [
|
||||
[17, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetailRow.test.js:1119974018": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanTreeOffset.test.js:232429058": [
|
||||
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/GraphTicks.test.js:940336852": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/Ticks.test.js:2626977087": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/Scrubber.test.js:4256741694": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineCollapser.test.js:954294244": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/TickLabels.test.js:2931161174": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineColumnResizer.test.js:208811948": [
|
||||
[15, 17, 13, "RegExp match", "2409514259"]
|
||||
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/ViewingLayer.test.js:1676554632": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineHeaderRow.test.js:1197952226": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/index.test.js:186764954": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineViewingLayer.test.js:3714128222": [
|
||||
[15, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/VirtualizedTraceView.test.js:2249890922": [
|
||||
"packages/jaeger-ui-components/src/TracePageHeader/TracePageHeader.test.js:3242042907": [
|
||||
[14, 26, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/index.test.js:4107025050": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
"packages/jaeger-ui-components/src/TracePageHeader/TracePageSearchBar.test.js:1062402339": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/common/CopyIcon.test.js:3119664776": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/ListView/index.test.js:1734982398": [
|
||||
[14, 26, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/common/NewWindowIcon.test.js:3878561197": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianKeyValues.test.js:2408389970": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/common/UiFindInput.test.js:2258975438": [
|
||||
[15, 19, 13, "RegExp match", "2409514259"]
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianLogs.test.js:3960703835": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/url/ReferenceLink.test.js:830986413": [
|
||||
[15, 26, 13, "RegExp match", "2409514259"]
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianReferences.test.js:2429764318": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/core/components/PageActionBar/PageActionBar.test.tsx:2111991019": [
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/KeyValuesTable.test.js:3813002651": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/index.test.js:2816619357": [
|
||||
[16, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetailRow.test.js:2623922632": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanTreeOffset.test.js:174536706": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/Ticks.test.js:743308415": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineCollapser.test.js:4018342820": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineColumnResizer.test.js:2286101708": [
|
||||
[15, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineHeaderRow.test.js:2106409544": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineViewingLayer.test.js:1423129438": [
|
||||
[15, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/VirtualizedTraceView.test.js:551014442": [
|
||||
[13, 26, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/TraceTimelineViewer/index.test.js:381298544": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/common/NewWindowIcon.test.js:1750458349": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/common/UiFindInput.test.js:2207118020": [
|
||||
[14, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"packages/jaeger-ui-components/src/url/ReferenceLink.test.js:3249503373": [
|
||||
[14, 26, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/core/components/PageActionBar/PageActionBar.test.tsx:1251504193": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/core/components/QueryOperationRow/QueryOperationAction.test.tsx:3032694716": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/core/components/QueryOperationRow/QueryOperationRow.test.tsx:2026575657": [
|
||||
[0, 26, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/core/components/Select/FolderPicker.test.tsx:993468764": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/core/components/Select/MetricSelect.test.tsx:3351544014": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/alerting/AlertRuleList.test.tsx:2998938420": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/alerting/TestRuleResult.test.tsx:2358420489": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/api-keys/ApiKeysAddedModal.test.tsx:3246264379": [
|
||||
[0, 20, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/dashboard/components/DashboardRow/DashboardRow.test.tsx:1463123173": [
|
||||
[0, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/dashboard/components/ShareModal/ShareLink.test.tsx:2357087833": [
|
||||
[0, 35, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/dashboard/dashgrid/DashboardGrid.test.tsx:2723773538": [
|
||||
[0, 35, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/dashboard/dashgrid/PanelHeader/PanelHeaderCorner.test.tsx:2851646279": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/datasources/DashboardsTable.test.tsx:1950355032": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/datasources/DataSourceDashboards.test.tsx:1369048021": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/datasources/DataSourcesListPage.test.tsx:2960099202": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/datasources/settings/BasicSettings.test.tsx:625016324": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/datasources/settings/ButtonRow.test.tsx:1422996720": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.test.tsx:4164297658": [
|
||||
[0, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/explore/RichHistory/RichHistoryStarredTab.test.tsx:523695501": [
|
||||
[0, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/folders/FolderSettingsPage.test.tsx:1109052730": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/invites/InviteesTable.test.tsx:3612992381": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/org/OrgDetailsPage.test.tsx:3835042085": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/org/OrgProfile.test.tsx:623809345": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/teams/TeamList.test.tsx:854193970": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/teams/TeamMemberRow.test.tsx:1649328210": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/teams/TeamMembers.test.tsx:4089428239": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/teams/TeamPages.test.tsx:3990420214": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/teams/TeamSettings.test.tsx:2043271249": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/users/UsersListPage.test.tsx:3908145117": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/users/UsersTable.test.tsx:263958312": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/cloud-monitoring/components/Aggregation.test.tsx:3822406835": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/core/components/QueryOperationRow/QueryOperationAction.test.tsx:1284778262": [
|
||||
[2, 19, 13, "RegExp match", "2409514259"]
|
||||
"public/app/plugins/datasource/cloudwatch/components/ConfigEditor.test.tsx:1224072551": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/core/components/QueryOperationRow/QueryOperationRow.test.tsx:4115956163": [
|
||||
[2, 26, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/core/components/Select/FolderPicker.test.tsx:3389713532": [
|
||||
"public/app/plugins/datasource/cloudwatch/components/LogsQueryField.test.tsx:2097436158": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/core/components/Select/MetricSelect.test.tsx:3409251428": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
"public/app/plugins/datasource/elasticsearch/configuration/ConfigEditor.test.tsx:3481855642": [
|
||||
[0, 26, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/alerting/AlertRuleList.test.tsx:1800339390": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
"public/app/plugins/datasource/elasticsearch/configuration/DataLinks.test.tsx:248699332": [
|
||||
[0, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/alerting/TestRuleResult.test.tsx:4118445705": [
|
||||
[3, 19, 13, "RegExp match", "2409514259"]
|
||||
"public/app/plugins/datasource/influxdb/components/ConfigEditor.test.tsx:3456478975": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/api-keys/ApiKeysAddedModal.test.tsx:3516294961": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
"public/app/plugins/datasource/loki/components/LokiExploreQueryEditor.test.tsx:1488067923": [
|
||||
[0, 26, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/dashboard/components/DashboardRow/DashboardRow.test.tsx:2934056165": [
|
||||
[1, 17, 13, "RegExp match", "2409514259"]
|
||||
"public/app/plugins/datasource/loki/components/LokiQueryEditor.test.tsx:146069464": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardAsForm.test.tsx:2536713486": [
|
||||
[1, 17, 13, "RegExp match", "2409514259"]
|
||||
"public/app/plugins/datasource/loki/configuration/ConfigEditor.test.tsx:3658171175": [
|
||||
[0, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.test.tsx:1262111696": [
|
||||
[1, 17, 13, "RegExp match", "2409514259"]
|
||||
"public/app/plugins/datasource/loki/configuration/DebugSection.test.tsx:1551927716": [
|
||||
[0, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/dashboard/components/ShareModal/ShareLink.test.tsx:809006195": [
|
||||
[1, 35, 13, "RegExp match", "2409514259"]
|
||||
"public/app/plugins/datasource/loki/configuration/DerivedField.test.tsx:3570129984": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/dashboard/dashgrid/DashboardGrid.test.tsx:1798654441": [
|
||||
[1, 35, 13, "RegExp match", "2409514259"]
|
||||
"public/app/plugins/datasource/loki/configuration/DerivedFields.test.tsx:2402631398": [
|
||||
[0, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/dashboard/dashgrid/PanelHeader/PanelHeaderCorner.test.tsx:3293585799": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
"public/app/plugins/datasource/prometheus/configuration/AzureCredentialsForm.test.tsx:3424320489": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/datasources/DashboardsTable.test.tsx:1799076152": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/datasources/DataSourceDashboards.test.tsx:3705773301": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/datasources/DataSourcesListPage.test.tsx:1470540840": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/datasources/settings/BasicSettings.test.tsx:3867031406": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/datasources/settings/ButtonRow.test.tsx:1546608090": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.test.tsx:2556927610": [
|
||||
[1, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/explore/LiveLogs.test.tsx:1667605379": [
|
||||
[2, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/explore/RichHistory/RichHistory.test.tsx:409631018": [
|
||||
[1, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/explore/RichHistory/RichHistoryCard.test.tsx:689438177": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/explore/RichHistory/RichHistoryQueriesTab.test.tsx:3436519226": [
|
||||
[1, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/explore/RichHistory/RichHistorySettings.test.tsx:538589654": [
|
||||
[1, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/explore/RichHistory/RichHistoryStarredTab.test.tsx:3948011811": [
|
||||
[1, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/explore/RunButton.test.tsx:138299098": [
|
||||
[3, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/explore/SecondaryActions.test.tsx:2096700362": [
|
||||
[2, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/explore/TimeSyncButton.test.tsx:4230066214": [
|
||||
[2, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/folders/FolderSettingsPage.test.tsx:3884290298": [
|
||||
[2, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/invites/InviteesTable.test.tsx:3077684439": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/org/OrgDetailsPage.test.tsx:2540662821": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/org/OrgProfile.test.tsx:4200739179": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/teams/CreateTeam.test.tsx:262744099": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/teams/TeamGroupSync.test.tsx:1549471437": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/teams/TeamList.test.tsx:3009556824": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/teams/TeamMemberRow.test.tsx:7032440": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/teams/TeamMembers.test.tsx:3993436101": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/teams/TeamPages.test.tsx:1265047708": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/teams/TeamSettings.test.tsx:2628968507": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/users/UsersActionBar.test.tsx:4031641375": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/users/UsersListPage.test.tsx:2626906707": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/users/UsersTable.test.tsx:3051231816": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/cloud-monitoring/components/Aggregation.test.tsx:2813729913": [
|
||||
[2, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/cloudwatch/components/ConfigEditor.test.tsx:2974837543": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/cloudwatch/components/LogsQueryField.test.tsx:132770839": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/elasticsearch/configuration/ConfigEditor.test.tsx:1089831034": [
|
||||
[1, 26, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/elasticsearch/configuration/DataLinks.test.tsx:2916632804": [
|
||||
[1, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/grafana-azure-monitor-datasource/components/deprecated/components/InsightsConfig.test.tsx:1635510338": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/influxdb/components/ConfigEditor.test.tsx:767000341": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/loki/components/LokiExploreQueryEditor.test.tsx:2608233977": [
|
||||
[1, 26, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/loki/components/LokiQueryEditor.test.tsx:2337402520": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/loki/configuration/ConfigEditor.test.tsx:1661240493": [
|
||||
[1, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/loki/configuration/DebugSection.test.tsx:2909181412": [
|
||||
[1, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/loki/configuration/DerivedField.test.tsx:1527527456": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/loki/configuration/DerivedFields.test.tsx:2923116422": [
|
||||
[1, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/prometheus/configuration/AzureCredentialsForm.test.tsx:1231427": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/panel/bargauge/BarGaugePanel.test.tsx:1527575498": [
|
||||
[1, 31, 13, "RegExp match", "2409514259"]
|
||||
"public/app/plugins/panel/bargauge/BarGaugePanel.test.tsx:1597135392": [
|
||||
[0, 31, 13, "RegExp match", "2409514259"]
|
||||
]
|
||||
}`
|
||||
};
|
||||
|
||||
1283
.drone.yml
1283
.drone.yml
File diff suppressed because it is too large
Load Diff
@@ -20,3 +20,6 @@ vendor
|
||||
# Auto-generated localisation files
|
||||
public/locales/_build/
|
||||
public/locales/**/*.js
|
||||
|
||||
# Auto-generated icon file
|
||||
packages/grafana-ui/src/components/Icon/iconBundle.ts
|
||||
|
||||
16
.eslintrc
16
.eslintrc
@@ -1,12 +1,24 @@
|
||||
{
|
||||
"extends": ["@grafana/eslint-config"],
|
||||
"root": true,
|
||||
"plugins": ["@emotion", "lodash", "jest"],
|
||||
"plugins": ["@emotion", "lodash", "jest", "import"],
|
||||
"settings": {
|
||||
"import/internal-regex": "^(app/)|(@grafana)",
|
||||
"import/external-module-folders": ["node_modules", ".yarn"]
|
||||
},
|
||||
"rules": {
|
||||
"react/prop-types": "off",
|
||||
"@emotion/jsx-import": "error",
|
||||
"lodash/import-scope": [2, "member"],
|
||||
"jest/no-focused-tests": "error"
|
||||
"jest/no-focused-tests": "error",
|
||||
"import/order": [
|
||||
"error",
|
||||
{
|
||||
"groups": [["builtin", "external"], "internal", "parent", "sibling", "index"],
|
||||
"newlines-between": "always",
|
||||
"alphabetize": { "order": "asc" }
|
||||
}
|
||||
]
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
|
||||
17
.github/CODEOWNERS
vendored
17
.github/CODEOWNERS
vendored
@@ -28,6 +28,7 @@ go.sum @grafana/backend-platform
|
||||
.drone.yml @grafana/grafana-release-eng
|
||||
.drone.star @grafana/grafana-release-eng
|
||||
/scripts/drone/ @grafana/grafana-release-eng
|
||||
/pkg/build/ @grafana/grafana-release-eng
|
||||
|
||||
# Cloud Datasources backend code
|
||||
/pkg/tsdb/cloudwatch @grafana/cloud-datasources
|
||||
@@ -57,7 +58,9 @@ go.sum @grafana/backend-platform
|
||||
/pkg/services/live/ @grafana/grafana-edge-squad
|
||||
/pkg/services/searchV2/ @grafana/grafana-edge-squad
|
||||
/pkg/services/store/ @grafana/grafana-edge-squad
|
||||
/pkg/services/export/ @grafana/grafana-edge-squad
|
||||
/pkg/infra/filestore/ @grafana/grafana-edge-squad
|
||||
pkg/tsdb/testdatasource/sims/ @grafana/grafana-edge-squad
|
||||
|
||||
# Alerting
|
||||
/pkg/services/ngalert @grafana/alerting-squad-backend
|
||||
@@ -164,3 +167,17 @@ lerna.json @grafana/frontend-ops
|
||||
|
||||
# Cloud middleware
|
||||
/grafana-mixin/ @grafana/hosted-grafana-team
|
||||
|
||||
# Grafana authentication and authorization
|
||||
/pkg/services/accesscontrol @grafana/grafana-authnz-team
|
||||
/pkg/services/auth @grafana/grafana-authnz-team
|
||||
/pkg/services/dashboards/accesscontrol.go @grafana/grafana-authnz-team
|
||||
/pkg/services/datasources/permissions @grafana/grafana-authnz-team
|
||||
/pkg/services/datasources/permissions/accesscontrol.go @grafana/grafana-authnz-team
|
||||
/pkg/services/guardian @grafana/grafana-authnz-team
|
||||
/pkg/services/ldap @grafana/grafana-authnz-team
|
||||
/pkg/services/login @grafana/grafana-authnz-team
|
||||
/pkg/services/multildap @grafana/grafana-authnz-team
|
||||
/pkg/services/oauthtoken @grafana/grafana-authnz-team
|
||||
/pkg/services/teamguardian @grafana/grafana-authnz-team
|
||||
/pkg/services/serviceaccounts @grafana/grafana-authnz-team
|
||||
|
||||
43
.github/ISSUE_TEMPLATE/4-UX-design.yaml
vendored
Normal file
43
.github/ISSUE_TEMPLATE/4-UX-design.yaml
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
name: UX design issue
|
||||
description: Create an issue for delivering wireframes, mockups or other design solutions.
|
||||
title: "UX: "
|
||||
labels: ["type/ux"]
|
||||
body:
|
||||
- type: textarea
|
||||
id: background
|
||||
attributes:
|
||||
label: "Background / Why we're doing this"
|
||||
description: Describe the problem and background of the issue. This could include research insights that inform the design changes, unmet user needs, or other usability issues.
|
||||
placeholder: Add UI improvements to make Grafana Alerting alert creation easier based on usability test results.
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Is there existing research for this?
|
||||
description: Please link research results or insights in the Background section if you have any. If no research was conducted, you might want to consider usability testing your design later.
|
||||
options: [
|
||||
"Yes, I have linked it",
|
||||
"No research yet"
|
||||
]
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: problems-or-tasks
|
||||
attributes:
|
||||
label: Problems or tasks
|
||||
description: Describe problems the new design should solve or tasks the user needs to complete.
|
||||
placeholder:
|
||||
value: |
|
||||
- A problem we're trying to solve
|
||||
- A task the user needs to accomplish
|
||||
- …
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Deliverables
|
||||
description: Add a checklist of deliverables here. You can later add links to each deliverable.
|
||||
value: |
|
||||
- Figma mockup
|
||||
- Miro board
|
||||
- …
|
||||
43
.github/pr-checks.json
vendored
43
.github/pr-checks.json
vendored
@@ -7,12 +7,43 @@
|
||||
"failure": "Milestone not set"
|
||||
},
|
||||
{
|
||||
"type": "check-backport",
|
||||
"type": "check-label",
|
||||
"title": "Backport Check",
|
||||
"backportEnabled": "Backport enabled",
|
||||
"backportSkipped": "Backport skipped",
|
||||
"failure": "Backport decision needed",
|
||||
"targetUrl": "https://github.com/grafana/grafana/blob/main/contribute/merge-pull-request.md#should-the-pull-request-be-backported",
|
||||
"skipLabels": [ "backport", "no-backport"]
|
||||
"labels": {
|
||||
"exists": "Backport enabled",
|
||||
"notExists": "Backport decision needed",
|
||||
"matches": [
|
||||
"backport v*"
|
||||
]
|
||||
},
|
||||
"skip": {
|
||||
"message": "Backport skipped",
|
||||
"matches": [
|
||||
"backport",
|
||||
"no-backport"
|
||||
]
|
||||
},
|
||||
"targetUrl": "https://github.com/grafana/grafana/blob/main/contribute/merge-pull-request.md#should-the-pull-request-be-backported"
|
||||
},
|
||||
{
|
||||
"type": "check-changelog",
|
||||
"title": "Changelog Check",
|
||||
"labels": {
|
||||
"exists": "Changelog enabled",
|
||||
"notExists": "Changelog decision needed",
|
||||
"matches": [
|
||||
"add to changelog"
|
||||
]
|
||||
},
|
||||
"breakingChangeLabels": [
|
||||
"breaking change"
|
||||
],
|
||||
"skip": {
|
||||
"message": "Changelog skipped",
|
||||
"matches": [
|
||||
"no-changelog"
|
||||
]
|
||||
},
|
||||
"targetUrl": "https://github.com/grafana/grafana/blob/main/contribute/merge-pull-request.md#include-in-changelog-and-release-notes"
|
||||
}
|
||||
]
|
||||
2
.github/renovate.json5
vendored
2
.github/renovate.json5
vendored
@@ -20,6 +20,7 @@
|
||||
"history", // we should bump this together with react-router-dom
|
||||
"@mdx-js/react", // storybook peer-depends on it's 1.x version, we should upgrade this when we upgrade storybook
|
||||
"monaco-editor", // due to us exposing this via @grafana/ui/CodeEditor's props bumping can break plugins
|
||||
"node-fetch", // we should bump this once we move to esm modules
|
||||
"react-hook-form", // due to us exposing these hooks via @grafana/ui form components bumping can break plugins
|
||||
"react-icons", // jaeger-ui-components is being refactored to use @grafana/ui icons instead
|
||||
"react-router-dom", // we should bump this together with history
|
||||
@@ -28,7 +29,6 @@
|
||||
"systemjs",
|
||||
"copy-webpack-plugin", // try to upgrade with newer yarn release. Not working with 3.1.1
|
||||
"ts-loader", // we should remove ts-loader and use babel-loader instead
|
||||
"typescript", // >4.5.x doesn't seem to work on windows with pnp currently. probably similar to https://github.com/yarnpkg/berry/issues/3722
|
||||
"ora" // we should bump this once we move to esm modules
|
||||
],
|
||||
"ignorePaths": ["packages/grafana-toolkit/package.json", "emails/**", "plugins-bundled/**", "**/mocks/**"],
|
||||
|
||||
2
.github/workflows/backport.yml
vendored
2
.github/workflows/backport.yml
vendored
@@ -10,7 +10,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
|
||||
6
.github/workflows/bump-version.yml
vendored
6
.github/workflows/bump-version.yml
vendored
@@ -50,7 +50,7 @@ jobs:
|
||||
example: 7.4.3 or 7.4.3-beta1"
|
||||
exit 1
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Set intermedia variables
|
||||
id: intermedia
|
||||
@@ -69,12 +69,12 @@ jobs:
|
||||
exit 1
|
||||
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
ref: main
|
||||
- uses: actions/setup-node@v2.5.1
|
||||
- uses: actions/setup-node@v3.2.0
|
||||
with:
|
||||
node-version: '16'
|
||||
- name: Install Actions
|
||||
|
||||
2
.github/workflows/close-milestone.yml
vendored
2
.github/workflows/close-milestone.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
|
||||
@@ -10,7 +10,7 @@ on:
|
||||
- 'public/app/plugins/datasource/cloud-monitoring/**'
|
||||
branches-ignore:
|
||||
- dependabot/**
|
||||
- backport-**
|
||||
- backport-*
|
||||
|
||||
jobs:
|
||||
workflow-call:
|
||||
|
||||
2
.github/workflows/codeql-analysis.yml
vendored
2
.github/workflows/codeql-analysis.yml
vendored
@@ -33,7 +33,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
|
||||
2
.github/workflows/commands.yml
vendored
2
.github/workflows/commands.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
|
||||
@@ -11,7 +11,7 @@ jobs:
|
||||
working-directory: './pr'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
path: './pr'
|
||||
|
||||
@@ -51,7 +51,7 @@ jobs:
|
||||
working-directory: './base'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
path: './base'
|
||||
ref: ${{ github.event.pull_request.base.ref }}
|
||||
@@ -92,15 +92,15 @@ jobs:
|
||||
GITHUB_STEP_NUMBER: 7
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Get built packages from pr
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: buildPr
|
||||
|
||||
- name: Get built packages from base
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: buildBase
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ jobs:
|
||||
ARTIFACT_NAME: 'levitate'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: 'Download artifact'
|
||||
uses: actions/github-script@v6
|
||||
@@ -61,7 +61,7 @@ jobs:
|
||||
const script = require('./.github/workflows/scripts/json-file-to-job-output.js');
|
||||
await script({ core, filePath });
|
||||
|
||||
- name: Check if "breaking change" label exists
|
||||
- name: Check if "levitate breaking change" label exists
|
||||
id: does-label-exist
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
@@ -74,7 +74,7 @@ jobs:
|
||||
repo: context.repo.repo,
|
||||
});
|
||||
const labels = data.map(({ name }) => name);
|
||||
const doesExist = labels.includes('breaking change');
|
||||
const doesExist = labels.includes('levitate breaking change');
|
||||
|
||||
return doesExist ? 1 : 0;
|
||||
|
||||
@@ -117,7 +117,7 @@ jobs:
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_LEVITATE_WEBHOOK_URL }}
|
||||
|
||||
- name: Add "breaking change" label
|
||||
- name: Add "levitate breaking change" label
|
||||
if: ${{ steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0 }}
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
@@ -129,10 +129,10 @@ jobs:
|
||||
issue_number: process.env.PR_NUMBER,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
labels: ['breaking change']
|
||||
labels: ['levitate breaking change']
|
||||
})
|
||||
|
||||
- name: Remove "breaking change" label
|
||||
- name: Remove "levitate breaking change" label
|
||||
if: ${{ steps.levitate-run.outputs.exit_code == 0 && steps.does-label-exist.outputs.result == 1 }}
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
@@ -144,7 +144,7 @@ jobs:
|
||||
issue_number: process.env.PR_NUMBER,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
name: 'breaking change'
|
||||
name: 'levitate breaking change'
|
||||
})
|
||||
|
||||
# This is very weird, the actual request goes through (comes back with a 201), but does not assign the team.
|
||||
|
||||
26
.github/workflows/enterprise-pr-check.yml
vendored
Normal file
26
.github/workflows/enterprise-pr-check.yml
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
name: Enterprise PR check
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- 'v[0-9]+.[0-9]+.x'
|
||||
jobs:
|
||||
dispatch:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
ref: main
|
||||
- name: Install Actions
|
||||
run: npm install --production --prefix ./actions
|
||||
- name: Repository Dispatch
|
||||
uses: ./actions/repository-dispatch
|
||||
with:
|
||||
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
|
||||
repository: grafana/grafana-enterprise
|
||||
event_type: oss-pull-request
|
||||
client_payload:
|
||||
'{"source_branch": "${{ github.head_ref }}", "target_branch": "${{ github.base_ref }}", "pr_number": "${{ github.event.number }}"}'
|
||||
2
.github/workflows/github-release.yml
vendored
2
.github/workflows/github-release.yml
vendored
@@ -10,7 +10,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
|
||||
2
.github/workflows/metrics-collector.yml
vendored
2
.github/workflows/metrics-collector.yml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
|
||||
5
.github/workflows/pr-checks.yml
vendored
5
.github/workflows/pr-checks.yml
vendored
@@ -5,9 +5,10 @@ on:
|
||||
- opened
|
||||
- reopened
|
||||
- synchronize
|
||||
- ready_for_review
|
||||
- ready_for_review
|
||||
- labeled
|
||||
- unlabeled
|
||||
- edited
|
||||
issues:
|
||||
types:
|
||||
- milestoned
|
||||
@@ -20,7 +21,7 @@ jobs:
|
||||
if: github.event.pull_request.draft == false
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
|
||||
2
.github/workflows/pr-codeql-analysis-go.yml
vendored
2
.github/workflows/pr-codeql-analysis-go.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
|
||||
@@ -15,7 +15,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
|
||||
@@ -13,7 +13,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
|
||||
2
.github/workflows/pr-commands.yml
vendored
2
.github/workflows/pr-commands.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
|
||||
4
.github/workflows/publish.yml
vendored
4
.github/workflows/publish.yml
vendored
@@ -14,10 +14,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v3
|
||||
- run: git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.GH_BOT_ACCESS_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync
|
||||
- name: generate-packages-docs
|
||||
uses: actions/setup-node@v2.5.1
|
||||
uses: actions/setup-node@v3.2.0
|
||||
id: generate-docs
|
||||
with:
|
||||
node-version: '16'
|
||||
|
||||
2
.github/workflows/remove-milestone.yml
vendored
2
.github/workflows/remove-milestone.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
|
||||
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@@ -7,7 +7,7 @@ jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v4
|
||||
- uses: actions/stale@v5
|
||||
with:
|
||||
repo-token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
|
||||
# Number of days of inactivity before a stale Issue or Pull Request is closed.
|
||||
|
||||
2
.github/workflows/update-changelog.yml
vendored
2
.github/workflows/update-changelog.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Ignore husky hooks if no frontend code has been changed
|
||||
git diff --cached --name-only | grep -v --quiet "^pkg/" || exit 0
|
||||
|
||||
. "$(dirname "$0")/_/husky.sh"
|
||||
|
||||
yarn run precommit
|
||||
|
||||
@@ -21,3 +21,7 @@ vendor
|
||||
# Auto-generated localisation files
|
||||
public/locales/_build/
|
||||
public/locales/**/*.js
|
||||
|
||||
# Auto-generated theme files
|
||||
theme.light.generated.json
|
||||
theme.dark.generated.json
|
||||
|
||||
785
.yarn/releases/yarn-3.2.0.cjs
vendored
785
.yarn/releases/yarn-3.2.0.cjs
vendored
File diff suppressed because one or more lines are too long
786
.yarn/releases/yarn-3.2.1.cjs
vendored
Executable file
786
.yarn/releases/yarn-3.2.1.cjs
vendored
Executable file
File diff suppressed because one or more lines are too long
2
.yarn/sdks/prettier/package.json
vendored
2
.yarn/sdks/prettier/package.json
vendored
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "prettier",
|
||||
"version": "2.5.1-sdk",
|
||||
"version": "2.6.0-sdk",
|
||||
"main": "./index.js",
|
||||
"type": "commonjs"
|
||||
}
|
||||
|
||||
20
.yarn/sdks/typescript/lib/tsserver.js
vendored
20
.yarn/sdks/typescript/lib/tsserver.js
vendored
@@ -61,18 +61,26 @@ const moduleWrapper = tsserver => {
|
||||
//
|
||||
// Ref: https://github.com/microsoft/vscode/issues/105014#issuecomment-686760910
|
||||
//
|
||||
// Update Oct 8 2021: VSCode changed their format in 1.61.
|
||||
// Update 2021-10-08: VSCode changed their format in 1.61.
|
||||
// Before | ^zip:/c:/foo/bar.zip/package.json
|
||||
// After | ^/zip//c:/foo/bar.zip/package.json
|
||||
//
|
||||
// Update 2022-04-06: VSCode changed the format in 1.66.
|
||||
// Before | ^/zip//c:/foo/bar.zip/package.json
|
||||
// After | ^/zip/c:/foo/bar.zip/package.json
|
||||
//
|
||||
case `vscode <1.61`: {
|
||||
str = `^zip:${str}`;
|
||||
} break;
|
||||
|
||||
case `vscode`: {
|
||||
case `vscode <1.66`: {
|
||||
str = `^/zip/${str}`;
|
||||
} break;
|
||||
|
||||
case `vscode`: {
|
||||
str = `^/zip${str}`;
|
||||
} break;
|
||||
|
||||
// To make "go to definition" work,
|
||||
// We have to resolve the actual file system path from virtual path
|
||||
// and convert scheme to supported by [vim-rzip](https://github.com/lbrayner/vim-rzip)
|
||||
@@ -160,8 +168,12 @@ const moduleWrapper = tsserver => {
|
||||
typeof parsedMessage.arguments.hostInfo === `string`
|
||||
) {
|
||||
hostInfo = parsedMessage.arguments.hostInfo;
|
||||
if (hostInfo === `vscode` && process.env.VSCODE_IPC_HOOK && process.env.VSCODE_IPC_HOOK.match(/Code\/1\.([1-5][0-9]|60)\./)) {
|
||||
hostInfo += ` <1.61`;
|
||||
if (hostInfo === `vscode` && process.env.VSCODE_IPC_HOOK) {
|
||||
if (/(\/|-)1\.([1-5][0-9]|60)\./.test(process.env.VSCODE_IPC_HOOK)) {
|
||||
hostInfo += ` <1.61`;
|
||||
} else if (/(\/|-)1\.(6[1-5])\./.test(process.env.VSCODE_IPC_HOOK)) {
|
||||
hostInfo += ` <1.66`;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
20
.yarn/sdks/typescript/lib/tsserverlibrary.js
vendored
20
.yarn/sdks/typescript/lib/tsserverlibrary.js
vendored
@@ -61,18 +61,26 @@ const moduleWrapper = tsserver => {
|
||||
//
|
||||
// Ref: https://github.com/microsoft/vscode/issues/105014#issuecomment-686760910
|
||||
//
|
||||
// Update Oct 8 2021: VSCode changed their format in 1.61.
|
||||
// Update 2021-10-08: VSCode changed their format in 1.61.
|
||||
// Before | ^zip:/c:/foo/bar.zip/package.json
|
||||
// After | ^/zip//c:/foo/bar.zip/package.json
|
||||
//
|
||||
// Update 2022-04-06: VSCode changed the format in 1.66.
|
||||
// Before | ^/zip//c:/foo/bar.zip/package.json
|
||||
// After | ^/zip/c:/foo/bar.zip/package.json
|
||||
//
|
||||
case `vscode <1.61`: {
|
||||
str = `^zip:${str}`;
|
||||
} break;
|
||||
|
||||
case `vscode`: {
|
||||
case `vscode <1.66`: {
|
||||
str = `^/zip/${str}`;
|
||||
} break;
|
||||
|
||||
case `vscode`: {
|
||||
str = `^/zip${str}`;
|
||||
} break;
|
||||
|
||||
// To make "go to definition" work,
|
||||
// We have to resolve the actual file system path from virtual path
|
||||
// and convert scheme to supported by [vim-rzip](https://github.com/lbrayner/vim-rzip)
|
||||
@@ -160,8 +168,12 @@ const moduleWrapper = tsserver => {
|
||||
typeof parsedMessage.arguments.hostInfo === `string`
|
||||
) {
|
||||
hostInfo = parsedMessage.arguments.hostInfo;
|
||||
if (hostInfo === `vscode` && process.env.VSCODE_IPC_HOOK && process.env.VSCODE_IPC_HOOK.match(/Code\/1\.([1-5][0-9]|60)\./)) {
|
||||
hostInfo += ` <1.61`;
|
||||
if (hostInfo === `vscode` && process.env.VSCODE_IPC_HOOK) {
|
||||
if (/(\/|-)1\.([1-5][0-9]|60)\./.test(process.env.VSCODE_IPC_HOOK)) {
|
||||
hostInfo += ` <1.61`;
|
||||
} else if (/(\/|-)1\.(6[1-5])\./.test(process.env.VSCODE_IPC_HOOK)) {
|
||||
hostInfo += ` <1.66`;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
2
.yarn/sdks/typescript/package.json
vendored
2
.yarn/sdks/typescript/package.json
vendored
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "typescript",
|
||||
"version": "4.4.4-sdk",
|
||||
"version": "4.6.4-sdk",
|
||||
"main": "./lib/typescript.js",
|
||||
"type": "commonjs"
|
||||
}
|
||||
|
||||
32
.yarnrc.yml
32
.yarnrc.yml
@@ -9,32 +9,32 @@ packageExtensions:
|
||||
"@mdx-js/loader@1.6.22":
|
||||
peerDependencies:
|
||||
react: 17.0.1
|
||||
"@storybook/addon-docs@6.4.15":
|
||||
"@storybook/addon-docs@6.4.21":
|
||||
peerDependencies:
|
||||
"@storybook/manager-webpack5": 6.4.15
|
||||
"@storybook/addon-essentials@6.4.15":
|
||||
"@storybook/manager-webpack5": 6.4.21
|
||||
"@storybook/addon-essentials@6.4.21":
|
||||
peerDependencies:
|
||||
"@storybook/components": 6.4.15
|
||||
"@storybook/core-events": 6.4.15
|
||||
"@storybook/manager-webpack5": 6.4.15
|
||||
"@storybook/theming": 6.4.15
|
||||
"@storybook/core-server@6.4.15":
|
||||
"@storybook/components": 6.4.21
|
||||
"@storybook/core-events": 6.4.21
|
||||
"@storybook/manager-webpack5": 6.4.21
|
||||
"@storybook/theming": 6.4.21
|
||||
"@storybook/core-server@6.4.21":
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0
|
||||
"@storybook/core@6.4.15":
|
||||
"@storybook/core@6.4.21":
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0
|
||||
"@storybook/manager-webpack5": 6.4.15
|
||||
"@storybook/csf-tools@6.4.15":
|
||||
"@storybook/manager-webpack5": 6.4.21
|
||||
"@storybook/csf-tools@6.4.21":
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0
|
||||
"@storybook/react@6.4.15":
|
||||
"@storybook/react@6.4.21":
|
||||
peerDependencies:
|
||||
"@storybook/manager-webpack5": 6.4.15
|
||||
"@storybook/manager-webpack5": 6.4.21
|
||||
doctrine@3.0.0:
|
||||
dependencies:
|
||||
assert: 2.0.0
|
||||
moveable@0.28.0:
|
||||
moveable@0.29.8:
|
||||
dependencies:
|
||||
"@daybrush/utils": 1.6.0
|
||||
framework-utils: ^1.1.0
|
||||
@@ -49,7 +49,7 @@ packageExtensions:
|
||||
react-compat-css-styled@1.0.8:
|
||||
dependencies:
|
||||
react-simple-compat: 1.2.1
|
||||
react-compat-moveable@0.16.0:
|
||||
react-compat-moveable@0.17.8:
|
||||
dependencies:
|
||||
"@egjs/agent": ^2.2.1
|
||||
"@egjs/children-differ": ^1.0.1
|
||||
@@ -78,4 +78,4 @@ plugins:
|
||||
- path: .yarn/plugins/@yarnpkg/plugin-outdated.cjs
|
||||
spec: "https://mskelton.dev/yarn-outdated/v2"
|
||||
|
||||
yarnPath: .yarn/releases/yarn-3.2.0.cjs
|
||||
yarnPath: .yarn/releases/yarn-3.2.1.cjs
|
||||
|
||||
175
CHANGELOG.md
175
CHANGELOG.md
@@ -1,3 +1,176 @@
|
||||
<!-- 8.5.3 START -->
|
||||
|
||||
# 8.5.3
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- **Security:** fixes CVE-2022-29170. [#49240](https://github.com/grafana/grafana/pull/49240), [@xlson](https://github.com/xlson)
|
||||
|
||||
<!-- 8.5.3 END -->
|
||||
<!-- 8.5.2 START -->
|
||||
|
||||
# 8.5.2 (2022-05-03)
|
||||
|
||||
### Features and enhancements
|
||||
|
||||
- **Alerting:** Add safeguard for migrations that might cause dataloss. [#48526](https://github.com/grafana/grafana/pull/48526), [@JohnnyQQQQ](https://github.com/JohnnyQQQQ)
|
||||
- **AzureMonitor:** Add support for not equals and startsWith operators when creating Azure Metrics dimension filters. [#48077](https://github.com/grafana/grafana/pull/48077), [@aangelisc](https://github.com/aangelisc)
|
||||
- **Elasticsearch:** Add deprecation notice for < 7.10 versions. [#48506](https://github.com/grafana/grafana/pull/48506), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
- **Traces:** Filter by service/span name and operation in Tempo and Jaeger. [#48209](https://github.com/grafana/grafana/pull/48209), [@joey-grafana](https://github.com/joey-grafana)
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- **AzureAd Oauth:** Fix strictMode to reject users without an assigned role. [#48474](https://github.com/grafana/grafana/pull/48474), [@kyschouv](https://github.com/kyschouv)
|
||||
- **CloudWatch:** Fix variable query tag migration. [#48587](https://github.com/grafana/grafana/pull/48587), [@iwysiu](https://github.com/iwysiu)
|
||||
- **Plugins:** Ensure catching all appropriate 4xx api/ds/query scenarios. [#47565](https://github.com/grafana/grafana/pull/47565), [@wbrowne](https://github.com/wbrowne)
|
||||
|
||||
<!-- 8.5.2 END -->
|
||||
<!-- 8.5.1 START -->
|
||||
|
||||
# 8.5.1 (2022-04-27)
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- **Azure Monitor:** Fix space character encoding for metrics query link to Azure Portal. [#48139](https://github.com/grafana/grafana/pull/48139), [@kevinwcyu](https://github.com/kevinwcyu)
|
||||
- **CloudWatch:** Prevent log groups from being removed on query change. [#47994](https://github.com/grafana/grafana/pull/47994), [@asimpson](https://github.com/asimpson)
|
||||
- **Cloudwatch:** Fix template variables in variable queries. [#48140](https://github.com/grafana/grafana/pull/48140), [@iwysiu](https://github.com/iwysiu)
|
||||
- **Explore:** Prevent direct access to explore if disabled via feature toggle. [#47714](https://github.com/grafana/grafana/pull/47714), [@Elfo404](https://github.com/Elfo404)
|
||||
- **InfluxDB:** Fixes invalid no data alerts. [#48295](https://github.com/grafana/grafana/pull/48295), [@yesoreyeram](https://github.com/yesoreyeram)
|
||||
- **Navigation:** Prevent navbar briefly showing on login. [#47968](https://github.com/grafana/grafana/pull/47968), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **Plugins Catalog:** Fix styling of hyperlinks. [#48196](https://github.com/grafana/grafana/pull/48196), [@marefr](https://github.com/marefr)
|
||||
- **Table:** Fix filter crashes table. [#48258](https://github.com/grafana/grafana/pull/48258), [@zoltanbedi](https://github.com/zoltanbedi)
|
||||
- **TimeSeries:** Properly stack series with missing datapoints. [#48321](https://github.com/grafana/grafana/pull/48321), [@leeoniya](https://github.com/leeoniya)
|
||||
|
||||
<!-- 8.5.1 END -->
|
||||
<!-- 8.5.0 START -->
|
||||
|
||||
# 8.5.0 (2022-04-21)
|
||||
|
||||
### Features and enhancements
|
||||
|
||||
- **Alerting:** Add contact points provisioning API. [#47197](https://github.com/grafana/grafana/pull/47197), [@JohnnyQQQQ](https://github.com/JohnnyQQQQ)
|
||||
- **Alerting:** Add resolved count to notification title when both firing and resolved present. [#46697](https://github.com/grafana/grafana/pull/46697), [@JacobsonMT](https://github.com/JacobsonMT)
|
||||
- **Alerting:** Alert rule should wait For duration when execution error state is Alerting. [#47052](https://github.com/grafana/grafana/pull/47052), [@grobinson-grafana](https://github.com/grobinson-grafana)
|
||||
- **Alerting:** Classic conditions can now display multiple values. [#46971](https://github.com/grafana/grafana/pull/46971), [@gotjosh](https://github.com/gotjosh)
|
||||
- **Alerting:** Display query from grafana-managed alert rules on `/api/v1/rules`. [#45969](https://github.com/grafana/grafana/pull/45969), [@gotjosh](https://github.com/gotjosh)
|
||||
- **Alerting:** Enhance support for arbitrary group names in managed alerts. [#47785](https://github.com/grafana/grafana/pull/47785), [@gillesdemey](https://github.com/gillesdemey)
|
||||
- **Alerting:** add field for custom slack endpoint. [#45751](https://github.com/grafana/grafana/pull/45751), [@nathanrodman](https://github.com/nathanrodman)
|
||||
- **Azure Monitor :** Adding json formatting of error messages in Panel Header Corner and Inspect Error Tab. [#44877](https://github.com/grafana/grafana/pull/44877), [@yaelleC](https://github.com/yaelleC)
|
||||
- **Azure Monitor:** Add 2 more Curated Dashboards for VM Insights. [#45187](https://github.com/grafana/grafana/pull/45187), [@jcolladokuri](https://github.com/jcolladokuri)
|
||||
- **CloudWatch:** Handle new error codes for MetricInsights. [#47033](https://github.com/grafana/grafana/pull/47033), [@Gabrielopesantos](https://github.com/Gabrielopesantos)
|
||||
- **Dashboards:** show changes in save dialog. [#46557](https://github.com/grafana/grafana/pull/46557), [@ryantxu](https://github.com/ryantxu)
|
||||
- **DataSource:** Default data source is no longer a persisted state but just the default data source for new panels. [#45132](https://github.com/grafana/grafana/pull/45132), [@torkelo](https://github.com/torkelo)
|
||||
- **DataSourcePlugin API:** Allow queries import when changing data source type. [#47435](https://github.com/grafana/grafana/pull/47435), [@dprokop](https://github.com/dprokop)
|
||||
- **Explore:** Remove return to panel button. [#45018](https://github.com/grafana/grafana/pull/45018), [@gelicia](https://github.com/gelicia)
|
||||
- **Explore:** allow users to save Explore state to a new panel in a new dashboard. [#45148](https://github.com/grafana/grafana/pull/45148), [@Elfo404](https://github.com/Elfo404)
|
||||
- **Instrumentation:** Proxy status code correction and various improvements. [#47473](https://github.com/grafana/grafana/pull/47473), [@marefr](https://github.com/marefr)
|
||||
- **Logging:** Introduce feature toggle to activate gokit/log format. [#47336](https://github.com/grafana/grafana/pull/47336), [@ying-jeanne](https://github.com/ying-jeanne)
|
||||
- **NewsPanel:** Add support for Atom feeds. [#45390](https://github.com/grafana/grafana/pull/45390), [@kaydelaney](https://github.com/kaydelaney)
|
||||
- **Plugins:** Add deprecation notice for /api/tsdb/query endpoint. [#45238](https://github.com/grafana/grafana/pull/45238), [@wbrowne](https://github.com/wbrowne)
|
||||
- **Plugins:** Adding support for traceID field to accept variables. [#45559](https://github.com/grafana/grafana/pull/45559), [@vinisdl](https://github.com/vinisdl)
|
||||
- **PostgreSQL:** \_\_unixEpochGroup to support arithmetic expression as argument. [#46764](https://github.com/grafana/grafana/pull/46764), [@s0nik42](https://github.com/s0nik42)
|
||||
- **Profile/Help:** Expose option to disable profile section and help menu. [#46308](https://github.com/grafana/grafana/pull/46308), [@cameronwaterman](https://github.com/cameronwaterman)
|
||||
- **Prometheus:** Enable new visual query builder by default. [#46634](https://github.com/grafana/grafana/pull/46634), [@torkelo](https://github.com/torkelo)
|
||||
- **SAML:** Allow disabling of SAML signups. [#47481](https://github.com/grafana/grafana/pull/47481), [@mmandrus](https://github.com/mmandrus)
|
||||
- **SAML:** Allow disabling of SAML signups. (Enterprise)
|
||||
- **Table:** New pagination option. [#45732](https://github.com/grafana/grafana/pull/45732), [@zoltanbedi](https://github.com/zoltanbedi)
|
||||
- **TablePanel:** Add cell inspect option. [#45620](https://github.com/grafana/grafana/pull/45620), [@dprokop](https://github.com/dprokop)
|
||||
- **Tempo / Trace Viewer:** Support Span Links in Trace Viewer. [#45632](https://github.com/grafana/grafana/pull/45632), [@Shachi16](https://github.com/Shachi16)
|
||||
- **Tempo:** Download span references in data inspector. [#47074](https://github.com/grafana/grafana/pull/47074), [@connorlindsey](https://github.com/connorlindsey)
|
||||
- **Tempo:** Separate trace to logs and loki search datasource config. [#46655](https://github.com/grafana/grafana/pull/46655), [@connorlindsey](https://github.com/connorlindsey)
|
||||
- **Trace View:** Show number of child spans. [#44393](https://github.com/grafana/grafana/pull/44393), [@tharun208](https://github.com/tharun208)
|
||||
- **Transformations:** Support escaped characters in key-value pair parsing. [#47901](https://github.com/grafana/grafana/pull/47901), [@aangelisc](https://github.com/aangelisc)
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- **Azure Monitor:** Bug Fix for incorrect variable cascading for template variables. [#47478](https://github.com/grafana/grafana/pull/47478), [@jcolladokuri](https://github.com/jcolladokuri)
|
||||
- **CloudWatch:** List all metrics properly in SQL autocomplete. [#45898](https://github.com/grafana/grafana/pull/45898), [@sunker](https://github.com/sunker)
|
||||
- **CloudWatch:** Run query on blur in logs query field. [#47454](https://github.com/grafana/grafana/pull/47454), [@fridgepoet](https://github.com/fridgepoet)
|
||||
- **Dashboard:** Template variables are now correctly persisted when clicking breadcrumb links. [#46790](https://github.com/grafana/grafana/pull/46790), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **DashboardPage:** Remember scroll position when coming back panel edit / view panel. [#47639](https://github.com/grafana/grafana/pull/47639), [@torkelo](https://github.com/torkelo)
|
||||
- **Panel Edit:** Options search now works correctly when a logarithmic scale option is set. [#47927](https://github.com/grafana/grafana/pull/47927), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **Postgres:** Return tables with hyphenated schemes. [#45754](https://github.com/grafana/grafana/pull/45754), [@zuchka](https://github.com/zuchka)
|
||||
- **Table panel:** Fix horizontal scrolling when pagination is enabled. [#47776](https://github.com/grafana/grafana/pull/47776), [@dprokop](https://github.com/dprokop)
|
||||
- **Variables:** Ensure variables in query params are correctly recognised. [#47049](https://github.com/grafana/grafana/pull/47049), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **Variables:** Fix crash when changing query variable datasource. [#44957](https://github.com/grafana/grafana/pull/44957), [@joshhunt](https://github.com/joshhunt)
|
||||
- **Visualizations:** Stack negative-valued series downwards. [#47373](https://github.com/grafana/grafana/pull/47373), [@leeoniya](https://github.com/leeoniya)
|
||||
|
||||
### Breaking changes
|
||||
|
||||
For a proxied request, e.g. Grafana's datasource or plugin proxy:
|
||||
|
||||
- If the request is cancelled, e.g. from the browser/by the client, the HTTP status code is now `499 Client closed request` instead of `502 Bad gateway`
|
||||
- If the request times out, e.g. takes longer time than allowed, the HTTP status code is now `504 Gateway timeout` instead of `502 Bad gateway`. Issue [#47473](https://github.com/grafana/grafana/issues/47473)
|
||||
|
||||
The change in behavior is that negative-valued series are now stacked downwards from 0 (in their own stacks), rather than downwards from the top of the positive stacks. We now automatically group stacks by Draw style, Line interpolation, and Bar alignment, making it impossible to stack bars on top of lines, or smooth lines on top of stepped lines. Issue [#47373](https://github.com/grafana/grafana/issues/47373)
|
||||
|
||||
The meaning of the default data source has now changed from being a persisted property in a panel. Before when you selected the default data source for a panel and later changed the default data source to another data source it would change all panels who were configured to use the default data source. From now on the default data source is just the default for new panels and changing the default will not impact any currently saved dashboards. Issue [#45132](https://github.com/grafana/grafana/issues/45132)
|
||||
|
||||
The Tooltip component provided by `@grafana/ui` is no longer automatically interactive (that is you can hover onto it and click a link or select text). It will from now on by default close automatically when you mouse out from the trigger element. To make tooltips behave like before set the new `interactive` property to true.
|
||||
Issue [#45053](https://github.com/grafana/grafana/issues/45053)
|
||||
|
||||
### Deprecations
|
||||
|
||||
`/api/tsdb/query` API has been deprecated and will be removed in a future release. Use [/api/ds/query](https://grafana.com/docs/grafana/latest/http_api/data_source/#query-a-data-source) instead. Issue [#45238](https://github.com/grafana/grafana/issues/45238)
|
||||
|
||||
### Plugin development fixes & changes
|
||||
|
||||
- **Card:** Increase clickable area when meta items are present. [#47935](https://github.com/grafana/grafana/pull/47935), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **Loki:** Fix operator description propup from being shortened. [#46575](https://github.com/grafana/grafana/pull/46575), [@glintik](https://github.com/glintik)
|
||||
- **Tooltips:** Make tooltips non interactive by default. [#45053](https://github.com/grafana/grafana/pull/45053), [@torkelo](https://github.com/torkelo)
|
||||
|
||||
<!-- 8.5.0 END -->
|
||||
<!-- 8.5.0-beta1 START -->
|
||||
|
||||
# 8.5.0-beta1 (2022-04-06)
|
||||
|
||||
### Features and enhancements
|
||||
|
||||
- Add config option to enable/disable reporting. (Enterprise)
|
||||
- **Alerting:** Accurately set value for prom-compatible APIs. [#47216](https://github.com/grafana/grafana/pull/47216), [@gotjosh](https://github.com/gotjosh)
|
||||
- **Alerting:** Provisioning API - Notification Policies. [#46755](https://github.com/grafana/grafana/pull/46755), [@alexweav](https://github.com/alexweav)
|
||||
- **Alerting:** Notification URL points to alert view page instead of alert edit page. [#47752](https://github.com/grafana/grafana/pull/47752), [@joeblubaugh](https://github.com/joeblubaugh)
|
||||
- **Analytics:** Enable grafana and plugin update checks to be operated independently. [#46352](https://github.com/grafana/grafana/pull/46352), [@wbrowne](https://github.com/wbrowne)
|
||||
- **Azure Monitor:** Add support for multiple template variables in resource picker. [#46215](https://github.com/grafana/grafana/pull/46215), [@sarahzinger](https://github.com/sarahzinger)
|
||||
- **Caching:** Add separate TTL for resources cache. (Enterprise)
|
||||
- **Caching:** add support for TLS configuration for Redis Cluster. (Enterprise)
|
||||
- **NewsPanel:** Remove Use Proxy option and update documentation with recommendations. [#47189](https://github.com/grafana/grafana/pull/47189), [@joshhunt](https://github.com/joshhunt)
|
||||
- **OAuth:** Sync GitHub OAuth user name to Grafana if it's set. [#45438](https://github.com/grafana/grafana/pull/45438), [@pallxk](https://github.com/pallxk)
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- **Plugins:** Fix Default Nav URL for dashboard includes. [#47143](https://github.com/grafana/grafana/pull/47143), [@wbrowne](https://github.com/wbrowne)
|
||||
|
||||
### Breaking changes
|
||||
|
||||
When user is using Github OAuth, GitHub login is showed as both Grafana login and name. Now the GitHub name is showed as Grafana name, and GitHub login is showed as Grafana Login. Issue [#45438](https://github.com/grafana/grafana/issues/45438)
|
||||
|
||||
The meaning of the default data source has now changed from being a persisted property in a panel. Before when you selected the default data source for a panel and later changed the default data source to another data source it would change all panels who were configured to use the default data source. From now on the default data source is just the default for new panels and changing the default will not impact any currently saved dashboards. Issue [#45132](https://github.com/grafana/grafana/issues/45132)
|
||||
|
||||
<!-- 8.4.7 START -->
|
||||
|
||||
# 8.4.7 (2022-04-19)
|
||||
|
||||
### Features and enhancements
|
||||
|
||||
- **CloudWatch:** Added missing MemoryDB Namespace metrics. [#47290](https://github.com/grafana/grafana/pull/47290), [@james-deee](https://github.com/james-deee)
|
||||
- **Histogram Panel:** Take decimal into consideration. [#47330](https://github.com/grafana/grafana/pull/47330), [@mdvictor](https://github.com/mdvictor)
|
||||
- **TimeSeries:** Sort tooltip values based on raw values. [#46738](https://github.com/grafana/grafana/pull/46738), [@dprokop](https://github.com/dprokop)
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- **API:** Include userId, orgId, uname in request logging middleware. [#47183](https://github.com/grafana/grafana/pull/47183), [@marefr](https://github.com/marefr)
|
||||
- **Elasticsearch:** Respect maxConcurrentShardRequests datasource setting. [#47120](https://github.com/grafana/grafana/pull/47120), [@alexandrst88](https://github.com/alexandrst88)
|
||||
|
||||
<!-- 8.4.7 END -->
|
||||
<!-- 8.5.0-beta1 END -->
|
||||
<!-- 8.4.6 START -->
|
||||
|
||||
# 8.4.6 (2022-04-12)
|
||||
|
||||
- **Security:** Fixes CVE-2022-24812. For more information, see our [blog](https://grafana.com/blog/2022/04/12/grafana-enterprise-8.4.6-released-with-high-severity-security-fix/)
|
||||
|
||||
<!-- 8.4.6 END -->
|
||||
<!-- 8.4.5 START -->
|
||||
|
||||
# 8.4.5 (2022-03-31)
|
||||
@@ -395,7 +568,7 @@ The access mode "browser" is deprecated in the following data sources and will b
|
||||
|
||||
### Features and enhancements
|
||||
|
||||
- **AccessControl:** Apply fine-grained access control to licensing. (Enterprise)
|
||||
- **AccessControl:** Apply role-based access control to licensing. (Enterprise)
|
||||
- **Alerting:** Add UI for contact point testing with custom annotations and labels. [#40491](https://github.com/grafana/grafana/pull/40491), [@nathanrodman](https://github.com/nathanrodman)
|
||||
- **Alerting:** Make alert state indicator in panel header work with Grafana 8 alerts. [#38713](https://github.com/grafana/grafana/pull/38713), [@domasx2](https://github.com/domasx2)
|
||||
- **Alerting:** Option for Discord notifier to use webhook name. [#40463](https://github.com/grafana/grafana/pull/40463), [@Skyebold](https://github.com/Skyebold)
|
||||
|
||||
@@ -20,7 +20,7 @@ COPY emails emails
|
||||
ENV NODE_ENV production
|
||||
RUN yarn build
|
||||
|
||||
FROM golang:1.17.8-alpine3.15 as go-builder
|
||||
FROM golang:1.17.9-alpine3.15 as go-builder
|
||||
|
||||
RUN apk add --no-cache gcc g++ make
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ COPY emails emails
|
||||
ENV NODE_ENV production
|
||||
RUN yarn build
|
||||
|
||||
FROM golang:1.17.8 AS go-builder
|
||||
FROM golang:1.17.9 AS go-builder
|
||||
|
||||
WORKDIR /src/grafana
|
||||
|
||||
|
||||
@@ -80,7 +80,6 @@ The current team members are:
|
||||
- Emil Tullstedt ([Grafana Labs](https://grafana.com/))
|
||||
- Erik Sundell ([Grafana Labs](https://grafana.com/))
|
||||
- Fredrik Enestad ([Embark Studios](https://www.embark-studios.com/))
|
||||
- Hugo Häggmark ([Grafana Labs](https://grafana.com/))
|
||||
- Ivana Huckova ([Grafana Labs](https://grafana.com/))
|
||||
- Jeroen Op 't Eynde ([Grafana Labs](https://grafana.com/))
|
||||
- Jessica Müller ([Grafana Labs](https://grafana.com/))
|
||||
|
||||
5
HALL_OF_FAME.md
Normal file
5
HALL_OF_FAME.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Hall of fame
|
||||
|
||||
List of previous team members that have had a big impact on the company or the product and contributed during a long period of time.
|
||||
|
||||
- Hugo Häggmark ([School of applied technology](https://salt.study))
|
||||
6
Makefile
6
Makefile
@@ -35,7 +35,7 @@ node_modules: package.json yarn.lock ## Install node modules.
|
||||
##@ Swagger
|
||||
SPEC_TARGET = public/api-spec.json
|
||||
MERGED_SPEC_TARGET := public/api-merged.json
|
||||
NGALERT_SPEC_TARGET = pkg/services/ngalert/api/tooling/post.json
|
||||
NGALERT_SPEC_TARGET = pkg/services/ngalert/api/tooling/api.json
|
||||
|
||||
$(SPEC_TARGET): $(API_DEFINITION_FILES) ## Generate API spec
|
||||
docker run --rm -it \
|
||||
@@ -53,10 +53,10 @@ $(SPEC_TARGET): $(API_DEFINITION_FILES) ## Generate API spec
|
||||
swagger-api-spec: gen-go $(SPEC_TARGET) $(MERGED_SPEC_TARGET)
|
||||
|
||||
$(NGALERT_SPEC_TARGET):
|
||||
+$(MAKE) -C pkg/services/ngalert/api/tooling post.json
|
||||
+$(MAKE) -C pkg/services/ngalert/api/tooling api.json
|
||||
|
||||
$(MERGED_SPEC_TARGET): $(SPEC_TARGET) $(NGALERT_SPEC_TARGET) ## Merge generated and ngalert API specs
|
||||
go run pkg/api/docs/merge/merge_specs.go -o=public/api-merged.json $(<) pkg/services/ngalert/api/tooling/post.json
|
||||
go run pkg/api/docs/merge/merge_specs.go -o=public/api-merged.json $(<) pkg/services/ngalert/api/tooling/api.json
|
||||
|
||||
ensure_go-swagger_mac:
|
||||
@hash swagger &>/dev/null || (brew tap go-swagger/go-swagger && brew install go-swagger)
|
||||
|
||||
@@ -9,6 +9,9 @@ app_mode = production
|
||||
# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty
|
||||
instance_name = ${HOSTNAME}
|
||||
|
||||
# force migration will run migrations that might cause dataloss
|
||||
force_migration = false
|
||||
|
||||
#################################### Paths ###############################
|
||||
[paths]
|
||||
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
|
||||
@@ -230,6 +233,9 @@ application_insights_connection_string =
|
||||
# Optional. Specifies an Application Insights endpoint URL where the endpoint string is wrapped in backticks ``.
|
||||
application_insights_endpoint_url =
|
||||
|
||||
# Controls if the UI contains any links to user feedback forms
|
||||
feedback_links_enabled = true
|
||||
|
||||
#################################### Security ############################
|
||||
[security]
|
||||
# disable creation of admin user on first start of grafana
|
||||
@@ -605,7 +611,7 @@ allow_sign_up = true
|
||||
|
||||
# LDAP background sync (Enterprise only)
|
||||
# At 1 am every day
|
||||
sync_cron = "0 0 1 * * *"
|
||||
sync_cron = "0 1 * * *"
|
||||
active_sync_enabled = true
|
||||
|
||||
#################################### AWS ###########################
|
||||
@@ -637,6 +643,12 @@ managed_identity_enabled = false
|
||||
# Should be set for user-assigned identity and should be empty for system-assigned identity
|
||||
managed_identity_client_id =
|
||||
|
||||
#################################### Role-based Access Control ###########
|
||||
[rbac]
|
||||
enabled = true
|
||||
# If enabled, cache permissions in a in memory cache (Enterprise only)
|
||||
permission_cache = true
|
||||
|
||||
#################################### SMTP / Emailing #####################
|
||||
[smtp]
|
||||
enabled = false
|
||||
@@ -829,6 +841,22 @@ max_attempts = 3
|
||||
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
|
||||
min_interval = 10s
|
||||
|
||||
[unified_alerting.screenshots]
|
||||
# Enable screenshots in notifications. This option requires a remote HTTP image rendering service. Please
|
||||
# see [rendering] for further configuration options.
|
||||
enabled =
|
||||
|
||||
# The maximum number of screenshots that can be taken at the same time. This option is different from
|
||||
# concurrent_render_request_limit as max_concurrent_screenshots sets the number of concurrent screenshots
|
||||
# that can be taken at the same time for all firing alerts where as concurrent_render_request_limit sets
|
||||
# the total number of concurrent screenshots across all Grafana services.
|
||||
max_concurrent_screenshots = 5
|
||||
|
||||
# Uploads screenshots to the local Grafana server or remote storage such as Azure, S3 and GCS. Please
|
||||
# see [external_image_storage] for further configuration options. If this option is false then
|
||||
# screenshots will be persisted to disk for up to temp_data_lifetime.
|
||||
upload_external_image_storage = false
|
||||
|
||||
#################################### Alerting ############################
|
||||
[alerting]
|
||||
# Enable the legacy alerting sub-system and interface. If Unified Alerting is already enabled and you try to go back to legacy alerting, all data that is part of Unified Alerting will be deleted. When this configuration section and flag are not defined, the state is defined at runtime. See the documentation for more details.
|
||||
@@ -910,7 +938,7 @@ enabled = true
|
||||
#################################### Query History #############################
|
||||
[query_history]
|
||||
# Enable the Query history
|
||||
enabled = false
|
||||
enabled = true
|
||||
|
||||
#################################### Internal Grafana Metrics ############
|
||||
# Metrics available at HTTP URL /metrics and /metrics/plugins/:pluginId
|
||||
@@ -970,6 +998,15 @@ disable_shared_zipkin_spans = false
|
||||
[tracing.opentelemetry.jaeger]
|
||||
# jaeger destination (ex http://localhost:14268/api/traces)
|
||||
address =
|
||||
# Propagation specifies the text map propagation format: w3c, jaeger
|
||||
propagation =
|
||||
|
||||
# This is a configuration for OTLP exporter with GRPC protocol
|
||||
[tracing.opentelemetry.otlp]
|
||||
# otlp destination (ex localhost:4317)
|
||||
address =
|
||||
# Propagation specifies the text map propagation format: w3c, jaeger
|
||||
propagation =
|
||||
|
||||
#################################### External Image Storage ##############
|
||||
[external_image_storage]
|
||||
@@ -1131,9 +1168,27 @@ license_path =
|
||||
# enable = feature1,feature2
|
||||
enable =
|
||||
|
||||
# The new prometheus visual query builder
|
||||
# The new prometheus visual query builder
|
||||
promQueryBuilder = true
|
||||
|
||||
# The new loki visual query builder
|
||||
lokiQueryBuilder = true
|
||||
|
||||
# InfluxDB backend migration
|
||||
influxdbBackendMigration = true
|
||||
|
||||
# Experimental Explore to Dashboard workflow
|
||||
explore2Dashboard = true
|
||||
|
||||
# Experimental Command Palette
|
||||
commandPalette = true
|
||||
|
||||
# Use dynamic labels in CloudWatch datasource
|
||||
cloudWatchDynamicLabels = true
|
||||
|
||||
# New expandable navigation
|
||||
newNavigation = true
|
||||
|
||||
# feature1 = true
|
||||
# feature2 = false
|
||||
|
||||
@@ -1167,3 +1222,22 @@ default_baselayer_config =
|
||||
|
||||
# Enable or disable loading other base map layers
|
||||
enable_custom_baselayers = true
|
||||
|
||||
#################################### Dashboard previews #####################################
|
||||
|
||||
[dashboard_previews.crawler]
|
||||
# Number of dashboards rendered in parallel. Default is 6.
|
||||
thread_count =
|
||||
|
||||
# Timeout passed down to the Image Renderer plugin. It is used in two separate places within a single rendering request:
|
||||
# First during the initial navigation to the dashboard and then when waiting for all the panels to load. Default is 20s.
|
||||
# This setting should be expressed as a duration. Examples: 10s (seconds), 1m (minutes).
|
||||
rendering_timeout =
|
||||
|
||||
# Maximum duration of a single crawl. Default is 1h.
|
||||
# This setting should be expressed as a duration. Examples: 10s (seconds), 1m (minutes).
|
||||
max_crawl_duration =
|
||||
|
||||
# Minimum interval between two subsequent scheduler runs. Default is 12h.
|
||||
# This setting should be expressed as a duration. Examples: 10s (seconds), 1m (minutes).
|
||||
scheduler_interval =
|
||||
|
||||
@@ -1,76 +1,68 @@
|
||||
# ---
|
||||
# # config file version
|
||||
# apiVersion: 1
|
||||
# apiVersion: 2
|
||||
|
||||
# # list of default built-in role assignments that should be removed
|
||||
# removeDefaultAssignments:
|
||||
# # <string>, must be one of the Organization roles (`Viewer`, `Editor`, `Admin`) or `Grafana Admin`
|
||||
# - builtInRole: "Grafana Admin"
|
||||
# # <string>, must be one of the existing fixed roles
|
||||
# fixedRole: "fixed:permissions:admin"
|
||||
|
||||
# # list of default built-in role assignments that should be added back
|
||||
# addDefaultAssignments:
|
||||
# # <string>, must be one of the Organization roles (`Viewer`, `Editor`, `Admin`) or `Grafana Admin`
|
||||
# - builtInRole: "Admin"
|
||||
# # <string>, must be one of the existing fixed roles
|
||||
# fixedRole: "fixed:reporting:admin:read"
|
||||
|
||||
# # list of roles that should be deleted
|
||||
# deleteRoles:
|
||||
# # <string> name of the role you want to create. Required if no uid is set
|
||||
# - name: "custom:reports:editor"
|
||||
# # <string> uid of the role. Required if no name
|
||||
# uid: "customreportseditor1"
|
||||
# # <int> org id. will default to Grafana's default if not specified
|
||||
# orgId: 1
|
||||
# # <bool> force deletion revoking all grants of the role
|
||||
# force: true
|
||||
# - name: "custom:global:reports:reader"
|
||||
# uid: "customglobalreportsreader1"
|
||||
# # <bool> overwrite org id and removes a global role
|
||||
# global: true
|
||||
# force: true
|
||||
|
||||
# # list of roles to insert/update depending on what is available in the database
|
||||
# # <list> list of roles to insert/update/delete
|
||||
# roles:
|
||||
# # <string, required> name of the role you want to create. Required
|
||||
# - name: "custom:users:editor"
|
||||
# # <string, required> name of the role you want to create or update. Required.
|
||||
# - name: 'custom:users:writer'
|
||||
# # <string> uid of the role. Has to be unique for all orgs.
|
||||
# uid: customuserseditor1
|
||||
# uid: customuserswriter1
|
||||
# # <string> description of the role, informative purpose only.
|
||||
# description: "Role for our custom user editors"
|
||||
# # <int> version of the role, Grafana will update the role when increased
|
||||
# description: 'Create, read, write users'
|
||||
# # <int> version of the role, Grafana will update the role when increased.
|
||||
# version: 2
|
||||
# # <int> org id. will default to Grafana's default if not specified
|
||||
# orgId: 1
|
||||
# # <list> list of the permissions granted by this role
|
||||
# # <int> org id. Defaults to Grafana's default if not specified.
|
||||
# orgId: 1
|
||||
# # <list> list of the permissions granted by this role.
|
||||
# permissions:
|
||||
# # <string, required> action allowed
|
||||
# - action: "users:read"
|
||||
# #<string> scope it applies to
|
||||
# scope: "users:*"
|
||||
# - action: "users:write"
|
||||
# scope: "users:*"
|
||||
# - action: "users:create"
|
||||
# scope: "users:*"
|
||||
# # <list> list of builtIn roles the role should be assigned to
|
||||
# builtInRoles:
|
||||
# # <string, required> name of the builtin role you want to assign the role to
|
||||
# - name: "Editor"
|
||||
# # <int> org id. will default to the role org id
|
||||
# orgId: 1
|
||||
# - name: "custom:global:users:reader"
|
||||
# uid: "customglobalusersreader1"
|
||||
# description: "Global Role for custom user readers"
|
||||
# version: 1
|
||||
# # <bool> overwrite org id and creates a global role
|
||||
# # <string, required> action allowed.
|
||||
# - action: 'users:read'
|
||||
# #<string> scope it applies to.
|
||||
# scope: 'users:*'
|
||||
# - action: 'users:write'
|
||||
# scope: 'users:*'
|
||||
# - action: 'users:create'
|
||||
# - name: 'custom:global:users:reader'
|
||||
# # <bool> overwrite org id and creates a global role.
|
||||
# global: true
|
||||
# permissions:
|
||||
# - action: "users:read"
|
||||
# scope: "users:*"
|
||||
# builtInRoles:
|
||||
# - name: "Viewer"
|
||||
# orgId: 1
|
||||
# - name: "Editor"
|
||||
# # <bool> overwrite org id and assign role globally
|
||||
# # <string> state of the role. Defaults to 'present'. If 'absent', role will be deleted.
|
||||
# state: 'absent'
|
||||
# # <bool> force deletion revoking all grants of the role.
|
||||
# force: true
|
||||
# - uid: 'basic_editor'
|
||||
# version: 2
|
||||
# global: true
|
||||
# # <list> list of roles to copy permissions from.
|
||||
# from:
|
||||
# - uid: 'basic_editor'
|
||||
# global: true
|
||||
# - name: 'fixed:users:writer'
|
||||
# global: true
|
||||
# # <list> list of the permissions to add/remove on top of the copied ones.
|
||||
# permissions:
|
||||
# - action: 'users:read'
|
||||
# scope: 'users:*'
|
||||
# - action: 'users:write'
|
||||
# scope: 'users:*'
|
||||
# # <string> state of the permission. Defaults to 'present'. If 'absent', the permission will be removed.
|
||||
# state: absent
|
||||
|
||||
# # <list> list role assignments to teams to create or remove.
|
||||
# teams:
|
||||
# # <string, required> name of the team you want to assign roles to. Required.
|
||||
# - name: 'Users writers'
|
||||
# # <int> org id. Will default to Grafana's default if not specified.
|
||||
# orgId: 1
|
||||
# # <list> list of roles to assign to the team
|
||||
# roles:
|
||||
# # <string> uid of the role you want to assign to the team.
|
||||
# - uid: 'customuserswriter1'
|
||||
# # <int> org id. Will default to Grafana's default if not specified.
|
||||
# orgId: 1
|
||||
# # <string> name of the role you want to assign to the team.
|
||||
# - name: 'fixed:users:writer'
|
||||
# # <bool> overwrite org id to specify the role is global.
|
||||
# global: true
|
||||
# # <string> state of the assignment. Defaults to 'present'. If 'absent', the assignment will be revoked.
|
||||
# state: absent
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty
|
||||
;instance_name = ${HOSTNAME}
|
||||
|
||||
# force migration will run migrations that might cause dataloss
|
||||
;force_migration = false
|
||||
|
||||
#################################### Paths ####################################
|
||||
[paths]
|
||||
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
|
||||
@@ -230,6 +233,9 @@
|
||||
# Rudderstack Config url, optional, used by Rudderstack SDK to fetch source config
|
||||
;rudderstack_config_url =
|
||||
|
||||
# Controls if the UI contains any links to user feedback forms
|
||||
;feedback_links_enabled = true
|
||||
|
||||
#################################### Security ####################################
|
||||
[security]
|
||||
# disable creation of admin user on first start of grafana
|
||||
@@ -588,7 +594,7 @@
|
||||
|
||||
# LDAP background sync (Enterprise only)
|
||||
# At 1 am every day
|
||||
;sync_cron = "0 0 1 * * *"
|
||||
;sync_cron = "0 1 * * *"
|
||||
;active_sync_enabled = true
|
||||
|
||||
#################################### AWS ###########################
|
||||
@@ -617,6 +623,11 @@
|
||||
# Should be set for user-assigned identity and should be empty for system-assigned identity
|
||||
;managed_identity_client_id =
|
||||
|
||||
#################################### Role-based Access Control ###########
|
||||
[rbac]
|
||||
;enabled = true
|
||||
# If enabled, cache permissions in a in memory cache (Enterprise only)
|
||||
;permission_cache = true
|
||||
#################################### SMTP / Emailing ##########################
|
||||
[smtp]
|
||||
;enabled = false
|
||||
@@ -892,7 +903,7 @@
|
||||
#################################### Query History #############################
|
||||
[query_history]
|
||||
# Enable the Query history
|
||||
;enabled = false
|
||||
;enabled = true
|
||||
|
||||
#################################### Internal Grafana Metrics ##########################
|
||||
# Metrics available at HTTP URL /metrics and /metrics/plugins/:pluginId
|
||||
@@ -952,6 +963,15 @@
|
||||
[tracing.opentelemetry.jaeger]
|
||||
# jaeger destination (ex http://localhost:14268/api/traces)
|
||||
; address = http://localhost:14268/api/traces
|
||||
# Propagation specifies the text map propagation format: w3c, jaeger
|
||||
; propagation = jaeger
|
||||
|
||||
# This is a configuration for OTLP exporter with GRPC protocol
|
||||
[tracing.opentelemetry.otlp]
|
||||
# otlp destination (ex localhost:4317)
|
||||
; address = localhost:4317
|
||||
# Propagation specifies the text map propagation format: w3c, jaeger
|
||||
; propagation = w3c
|
||||
|
||||
#################################### External image storage ##########################
|
||||
[external_image_storage]
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
Grafana uses a _bus_ to pass messages between different parts of the application. All communication over the bus happens synchronously.
|
||||
|
||||
> **Deprecated:** The bus has officially been deprecated, however, we're still using the command/query objects paradigms.
|
||||
|
||||
There are three types of messages: _events_, _commands_, and _queries_.
|
||||
|
||||
## Events
|
||||
|
||||
@@ -99,6 +99,8 @@ To add a migration:
|
||||
- In the `AddMigrations` function, find the `addXxxMigration` function for the service you want to create a migration for.
|
||||
- At the end of the `addXxxMigration` function, register your migration:
|
||||
|
||||
> **NOTE:** Putting migrations behind feature flags is no longer recommended as it may cause the migration skip integration testing.
|
||||
|
||||
[Example](https://github.com/grafana/grafana/blob/00d0640b6e778ddaca021670fe851fe00982acf2/pkg/services/sqlstore/migrations/migrations.go#L55-L70)
|
||||
|
||||
### Implement `DatabaseMigrator`
|
||||
|
||||
194
contribute/localisation.md
Normal file
194
contribute/localisation.md
Normal file
@@ -0,0 +1,194 @@
|
||||
# Localisation
|
||||
|
||||
Grafana uses the [LinguiJS](https://github.com/lingui/js-lingui) framework for managing translating phrases in the Grafana frontend.
|
||||
|
||||
## tl;dr
|
||||
|
||||
- Use `<Trans id="search-results.panel-link">Go to {panel.title}</Trans>` in code to add a translatable phrase
|
||||
- Translations are stored in .po files in `public/locales/{locale}/messages.po`
|
||||
- If a particular phrase is not available in the a language then it will fall back to English
|
||||
|
||||
## How to add a new translation phrase
|
||||
|
||||
1. Use one of `@lingui/macro`'s React components with the `id`, ensuring it conforms to the guidelines below, with the default english translation. e.g.
|
||||
|
||||
```jsx
|
||||
import { Trans } from @lingui/macro
|
||||
|
||||
const SearchTitle = ({term}) => (
|
||||
<Trans id="search-page.results-title">
|
||||
Results for {term}
|
||||
</Trans>
|
||||
);
|
||||
```
|
||||
|
||||
Prefer using the JSX components (compared to the plain javascript functions, see below) where possible for phrases. Many props can (and probably should) be changed to accept the `React.ReactNode` instead of `string` for phrases put into the DOM.
|
||||
|
||||
Note that Lingui must be able to statically analyse the code to extract the phrase, so the `id` can not be dynamic. e.g. the following will not work:
|
||||
|
||||
```jsx
|
||||
const ErrorMessage = ({ id, message }) => <Trans id={`errors.${id}`}>There was an error: {message}</Trans>;
|
||||
```
|
||||
|
||||
2. Upon reload, the default English phrase will appear on the page.
|
||||
|
||||
3. Before submitting your PR, run the `yarn i18n:extract` command to extract the messages you added into the `messages.po` file and make them available for translation.
|
||||
|
||||
## How translations work in Grafana
|
||||
|
||||
Grafana uses the [LinguiJS](https://github.com/lingui/js-lingui) framework for managing translating phrases in the Grafana frontend. It:
|
||||
|
||||
- Marks up phrases within our code for extraction
|
||||
- Extracts phrases into messages catalogues for translating in external systems
|
||||
- "Compiles" the catalogues to a format that can be used in the website
|
||||
- Manages the user's locale and putting the translated phrases in the UI
|
||||
|
||||
### Phrase ID naming convention
|
||||
|
||||
We set explicit IDs for phrases to make it easier to identify phrases out of context, and to track where they're used. IDs follow a naming scheme that includes _where_ the phrase is used. The exception is the rare case of single reoccuring words like "Cancel", but default to using a feature/phrase specific phrase.
|
||||
|
||||
Message IDs are made of _up to_ three segments in the format `feature.area.phrase`. For example:
|
||||
|
||||
- `dashboard.header.refresh-label`
|
||||
- `explore.toolbar.share-tooltip`
|
||||
|
||||
For components used all over the site, use just two segments:
|
||||
|
||||
- `footer.update`
|
||||
- `navigation.home`
|
||||
|
||||
### Top-level provider
|
||||
|
||||
In [AppWrapper.tsx](/public/app/AppWrapper.tsx) the app is wrapped with `I18nProvider` from `public/app/core/localisation.tsx` where the Lingui instance is created with the user's preferred locale. This sets the appropriate context and allows any component from `@lingui/macro` to use the translations for the user's preferred locale.
|
||||
|
||||
### Message format
|
||||
|
||||
Lingui uses the [ICU MessageFormat](https://unicode-org.github.io/icu/userguide/format_parse/messages/) for the phrases in the .po catalogues. ICU has special syntax especially for describing plurals across multiple languages. For more details see the [Lingui docs](https://lingui.js.org/ref/message-format.html).
|
||||
|
||||
### Plain JS usage
|
||||
|
||||
See [Lingui Docs](https://lingui.js.org/ref/macro.html#t) for more details.
|
||||
|
||||
Sometimes you may need to translate a string cannot be represented in JSX, such as `placeholder` props. Use the `t` macro for this.
|
||||
|
||||
```jsx
|
||||
import { t } from "@lingui/macro"
|
||||
|
||||
const placeholder = t({
|
||||
id: 'form.username-placeholder',
|
||||
message: `Username`
|
||||
});
|
||||
|
||||
return <input type="value" placeholder={placeholder}>
|
||||
```
|
||||
|
||||
While the `t` macro can technically be used outside of React functions (e.g, in actions/reducers), aim to keep all UI phrases within the React UI functions.
|
||||
|
||||
## Examples
|
||||
|
||||
See the [Lingui docs](https://lingui.js.org/ref/macro.html#usage) for more details.
|
||||
|
||||
### Basic usage
|
||||
|
||||
For fixed phrases:
|
||||
|
||||
```jsx
|
||||
import { Trans } from '@lingui/macro';
|
||||
|
||||
<Trans id="page.greeting">Hello user!</Trans>;
|
||||
```
|
||||
|
||||
You can include variables, just like regular JSX. Prefer using "simple" variables to make the extracted phrase easier to read for translators
|
||||
|
||||
```jsx
|
||||
import { Trans } from '@lingui/macro';
|
||||
|
||||
// Bad - translators will see: Hello {0}
|
||||
<Trans id="page.greeting">Hello {user.name}!</Trans>;
|
||||
|
||||
// Good - translators will see: Hello {userName}
|
||||
const userName = user.name;
|
||||
<Trans id="page.greeting">Hello {userName}!</Trans>;
|
||||
```
|
||||
|
||||
Variables must be strings (or, must support calling `.toString()`, which we almost never want).
|
||||
|
||||
```jsx
|
||||
import { Trans } from '@lingui/macro';
|
||||
|
||||
// This will not work
|
||||
const userName = <strong>user.name</strong>;
|
||||
<Trans id="page.greeting">Hello {userName}!</Trans>;
|
||||
|
||||
// Instead, put the JSX inside the phrase directly
|
||||
const userName = user.name;
|
||||
<Trans id="page.greeting">
|
||||
Hello <strong>{userName}</strong>!
|
||||
</Trans>;
|
||||
```
|
||||
|
||||
### React components and HTML tags
|
||||
|
||||
Both HTML tags and React components can be included in a phase. The Lingui macro will replace them with placeholder tags for the translators
|
||||
|
||||
```js
|
||||
import { Trans } from "@lingui/macro"
|
||||
|
||||
const randomVariable = "variable"
|
||||
|
||||
<Trans id="page.explainer">
|
||||
Click <button>here</button> to <a href="https://grafana.com">learn more.</a>
|
||||
</Trans>
|
||||
|
||||
// ↓ is transformed by macros into ↓
|
||||
<Trans
|
||||
id="page.explainer"
|
||||
defaults="Click <0>here</0> to <1>learn more</1>"
|
||||
components={[
|
||||
<button />,
|
||||
<Text />
|
||||
]}
|
||||
/>
|
||||
|
||||
// ↓ is in the messages.po file like ↓
|
||||
msgid "page.explainer"
|
||||
msgstr "Click <0>here</0> to <1>learn more</1>"
|
||||
```
|
||||
|
||||
### Plurals
|
||||
|
||||
See the [Lingui docs](https://lingui.js.org/ref/macro.html#id1) for more details.
|
||||
|
||||
Plurals require special handling to make sure they can be translating according to the rules of each locale (which may be more complex that you think!). Use the `<Plural />` component and specify the plural forms for the default language (English). The message will be extracted into a form where translators can extend it with rules for other locales.
|
||||
|
||||
```js
|
||||
import { Plural } from "@lingui/macro"
|
||||
|
||||
<Plural
|
||||
id="sharing.shared-with"
|
||||
value={sharedCount}
|
||||
none="Not shared with anyone"
|
||||
one="Shared with one person"
|
||||
other="Shared with # people"
|
||||
/>
|
||||
|
||||
// ↓ is transformed by macros into ↓
|
||||
|
||||
<Trans
|
||||
id="example.plurals"
|
||||
values={{ sharedCount }}
|
||||
defaults="{sharedCount, plural, none {Not shared with anyone}, one {Shared with one person}, other {Shared with # people}"
|
||||
/>
|
||||
|
||||
// sharedCount = 0 -> Not shared with anyone
|
||||
// sharedCount = 1 -> Shared with one person
|
||||
// sharedCount = 3 -> Shared with # people
|
||||
```
|
||||
|
||||
### Date and time
|
||||
|
||||
[Lingui has functions](https://lingui.js.org/ref/core.html#I18n.date) to format dates and times according to the convention to the user's preferred locale, based on the browser [Intl.DateTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat) API. However, as displaying dates and times is fundamental to Grafana, guidelines have not been established for this yet.
|
||||
|
||||
## Documentation
|
||||
|
||||
[Grafana's documentation](https://grafana.com/docs/grafana/latest/) is not yet open for translation and should be authored in English only.
|
||||
@@ -43,11 +43,31 @@ This makes it easier to track what changes go into a certain release. Without th
|
||||
|
||||
At Grafana we generate the [changelog](https://github.com/grafana/grafana/blob/main/CHANGELOG.md) and [release notes](https://grafana.com/docs/grafana/latest/release-notes/) based on merged pull requests. Including changes in the changelog/release notes is very important to provide a somewhat complete picture of what changes a Grafana release actually includes.
|
||||
|
||||
Exactly what changes should be added to the changelog is hard to answer but some general guidance would be any change that you think would be interesting for the community as a whole. Use your best judgement and/or ask other maintainers for advice.
|
||||
|
||||
There's a GitHub action available in the repository named [Update changelog](https://github.com/grafana/grafana/blob/main/.github/workflows/update-changelog.yml) that can manually be triggered to re-generate the changelog and release notes for any release.
|
||||
|
||||
To include a pull request in the changelog/release notes the general rule of thumb is that a milestone should be assigned and labeled with `add to changelog`.
|
||||
Exactly what changes should be added to the changelog is hard to answer but here's some general guidance:
|
||||
|
||||
- Include any bug fix in general.
|
||||
- Include any change that you think would be interesting for the community as a whole.
|
||||
- Skip larger features divided in multiple pull requests since they might go into the release blog post/What's New article.
|
||||
- Use your best judgement and/or ask other maintainers for advice.
|
||||
- Including a change in error rather than skipping one that should have been there is better.
|
||||
- Always keep [Format the pull request title](#format-the-pull-request-title) in mind.
|
||||
|
||||
An active decision to include change in changelog/release notes needs to be taken for every pull request. There's a pull request check named **Changelog Check** that will enforce this. By adding/removing labels on the pull request or updating the pull request title/description the check will be re-evaluated.
|
||||
|
||||
#### Skip changelog
|
||||
|
||||
If you don't want to include your change in changelog/release notes you need to add a label named **no-changelog** to the pull request.
|
||||
|
||||
#### Include in changelog/release notes
|
||||
|
||||
To include a pull request in the changelog/release notes you need to add a label named `add to changelog` to the pull request. Then additional validation rules is checked:
|
||||
|
||||
- Title need to be formatted according to [Format the pull request title](#format-the-pull-request-title)
|
||||
- Description needs to include a breaking change notice if change is labeled to be a breaking change, see Breaking changes below for more information.
|
||||
|
||||
Not complying with above rules can make the **Changelog Check** fail with validation errors.
|
||||
|
||||
The changelog/release notes are divided into sections and here's a description of how you make a pull request show up in a certain section.
|
||||
|
||||
|
||||
@@ -7,6 +7,15 @@ deleteDatasources:
|
||||
- name: gdev-influxdb2-influxql
|
||||
- name: gdev-loki-0.3
|
||||
- name: gdev-loki-0.4
|
||||
- name: gdev-elasticsearch-v2-metrics
|
||||
- name: gdev-elasticsearch-v2-logs
|
||||
- name: gdev-elasticsearch-v5-metrics
|
||||
- name: gdev-elasticsearch-v5-logs
|
||||
- name: gdev-elasticsearch-v56-metrics
|
||||
- name: gdev-elasticsearch-v56-logs
|
||||
- name: gdev-elasticsearch-v6-metrics
|
||||
- name: gdev-elasticsearch-v6-logs
|
||||
- name: gdev-elasticsearch-v6-filebeat
|
||||
|
||||
datasources:
|
||||
- name: gdev-graphite
|
||||
@@ -30,12 +39,21 @@ datasources:
|
||||
jsonData:
|
||||
graphiteVersion: "0.9"
|
||||
|
||||
- name: gdev-alertmanager
|
||||
type: alertmanager
|
||||
uid: gdev-alertmanager
|
||||
access: proxy
|
||||
url: http://localhost:9093
|
||||
jsonData:
|
||||
implementation: prometheus
|
||||
|
||||
- name: gdev-prometheus
|
||||
type: prometheus
|
||||
access: proxy
|
||||
url: http://localhost:9090
|
||||
jsonData:
|
||||
manageAlerts: false
|
||||
manageAlerts: true
|
||||
alertmanagerUid: gdev-alertmanager
|
||||
|
||||
- name: gdev-slow-prometheus
|
||||
type: prometheus
|
||||
@@ -96,17 +114,7 @@ datasources:
|
||||
tsdbResolution: 1
|
||||
tsdbVersion: 3
|
||||
|
||||
- name: gdev-elasticsearch-v2-metrics
|
||||
type: elasticsearch
|
||||
access: proxy
|
||||
database: "[metrics-]YYYY.MM.DD"
|
||||
url: http://localhost:9200
|
||||
jsonData:
|
||||
interval: Daily
|
||||
timeField: "@timestamp"
|
||||
esVersion: 2
|
||||
|
||||
- name: gdev-elasticsearch-v2-logs
|
||||
- name: gdev-elasticsearch
|
||||
type: elasticsearch
|
||||
access: proxy
|
||||
database: "[logs-]YYYY.MM.DD"
|
||||
@@ -114,77 +122,9 @@ datasources:
|
||||
jsonData:
|
||||
interval: Daily
|
||||
timeField: "@timestamp"
|
||||
esVersion: 2
|
||||
|
||||
- name: gdev-elasticsearch-v5-metrics
|
||||
type: elasticsearch
|
||||
access: proxy
|
||||
database: "[metrics-]YYYY.MM.DD"
|
||||
url: http://localhost:10200
|
||||
jsonData:
|
||||
interval: Daily
|
||||
timeField: "@timestamp"
|
||||
esVersion: 5
|
||||
|
||||
- name: gdev-elasticsearch-v5-logs
|
||||
type: elasticsearch
|
||||
access: proxy
|
||||
database: "[logs-]YYYY.MM.DD"
|
||||
url: http://localhost:10200
|
||||
jsonData:
|
||||
interval: Daily
|
||||
timeField: "@timestamp"
|
||||
esVersion: 5
|
||||
|
||||
- name: gdev-elasticsearch-v56-metrics
|
||||
type: elasticsearch
|
||||
access: proxy
|
||||
database: "[metrics-]YYYY.MM.DD"
|
||||
url: http://localhost:13200
|
||||
jsonData:
|
||||
interval: Daily
|
||||
timeField: "@timestamp"
|
||||
esVersion: 56
|
||||
|
||||
- name: gdev-elasticsearch-v56-logs
|
||||
type: elasticsearch
|
||||
access: proxy
|
||||
database: "[logs-]YYYY.MM.DD"
|
||||
url: http://localhost:13200
|
||||
jsonData:
|
||||
interval: Daily
|
||||
timeField: "@timestamp"
|
||||
esVersion: 56
|
||||
|
||||
- name: gdev-elasticsearch-v6-metrics
|
||||
type: elasticsearch
|
||||
access: proxy
|
||||
database: "[metrics-]YYYY.MM.DD"
|
||||
url: http://localhost:11200
|
||||
jsonData:
|
||||
interval: Daily
|
||||
timeField: "@timestamp"
|
||||
esVersion: 60
|
||||
|
||||
- name: gdev-elasticsearch-v6-logs
|
||||
type: elasticsearch
|
||||
access: proxy
|
||||
database: "[logs-]YYYY.MM.DD"
|
||||
url: http://localhost:11200
|
||||
jsonData:
|
||||
interval: Daily
|
||||
timeField: "@timestamp"
|
||||
esVersion: 60
|
||||
|
||||
- name: gdev-elasticsearch-v6-filebeat
|
||||
type: elasticsearch
|
||||
access: proxy
|
||||
database: "[filebeat-]YYYY.MM.DD"
|
||||
url: http://localhost:11200
|
||||
jsonData:
|
||||
interval: Daily
|
||||
timeField: "@timestamp"
|
||||
esVersion: 60
|
||||
logLevelField: level
|
||||
logMessageField: line
|
||||
esVersion: 8.0.0
|
||||
|
||||
- name: gdev-elasticsearch-v7-metrics
|
||||
type: elasticsearch
|
||||
|
||||
@@ -374,17 +374,6 @@
|
||||
"title": "Dashboard list",
|
||||
"type": "dashlist"
|
||||
},
|
||||
{
|
||||
"gridPos": {
|
||||
"h": 8,
|
||||
"w": 12,
|
||||
"x": 0,
|
||||
"y": 29
|
||||
},
|
||||
"id": 30,
|
||||
"title": "Panel list",
|
||||
"type": "pluginlist"
|
||||
},
|
||||
{
|
||||
"gridPos": {
|
||||
"h": 8,
|
||||
|
||||
6
devenv/dev-dashboards/dashboards.go
Normal file
6
devenv/dev-dashboards/dashboards.go
Normal file
@@ -0,0 +1,6 @@
|
||||
package dev_dashboards
|
||||
|
||||
import "embed"
|
||||
|
||||
//go:embed *.json */*.json
|
||||
var DevDashboardFS embed.FS
|
||||
84
devenv/dev-dashboards/dashboards_test.go
Normal file
84
devenv/dev-dashboards/dashboards_test.go
Normal file
@@ -0,0 +1,84 @@
|
||||
package dev_dashboards
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"io"
|
||||
"io/fs"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"cuelang.org/go/cue/errors"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/grafana/grafana/pkg/coremodel/dashboard"
|
||||
"github.com/grafana/grafana/pkg/cuectx"
|
||||
)
|
||||
|
||||
func TestDevenvDashboardValidity(t *testing.T) {
|
||||
m, err := themaTestableDashboards()
|
||||
require.NoError(t, err)
|
||||
cm, err := dashboard.ProvideCoremodel(cuectx.ProvideThemaLibrary())
|
||||
require.NoError(t, err)
|
||||
|
||||
for path, b := range m {
|
||||
t.Run(path, func(t *testing.T) {
|
||||
// The path arg here only matters for error output
|
||||
cv, err := cuectx.JSONtoCUE(path, b)
|
||||
require.NoError(t, err, "error while decoding dashboard JSON into a CUE value")
|
||||
|
||||
_, err = cm.CurrentSchema().Validate(cv)
|
||||
if err != nil {
|
||||
// Testify trims errors to short length. We want the full text
|
||||
errstr := errors.Details(err, nil)
|
||||
t.Log(errstr)
|
||||
if strings.Contains(errstr, "null") {
|
||||
t.Log("validation failure appears to involve nulls - see if scripts/stripnulls.sh has any effect?")
|
||||
}
|
||||
t.FailNow()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func themaTestableDashboards() (map[string][]byte, error) {
|
||||
m := make(map[string][]byte)
|
||||
in := DevDashboardFS
|
||||
|
||||
err := fs.WalkDir(in, ".", func(path string, d fs.DirEntry, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if d.IsDir() || filepath.Ext(d.Name()) != ".json" {
|
||||
return nil
|
||||
}
|
||||
|
||||
// nolint:gosec
|
||||
f, err := in.Open(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer f.Close() // nolint: errcheck
|
||||
|
||||
b, err := io.ReadAll(f)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
jtree := make(map[string]interface{})
|
||||
json.Unmarshal(b, &jtree)
|
||||
if oldschemav, has := jtree["schemaVersion"]; !has || !(oldschemav.(float64) > dashboard.HandoffSchemaVersion-1) {
|
||||
return nil
|
||||
}
|
||||
|
||||
m[path] = b
|
||||
return nil
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return m, nil
|
||||
}
|
||||
@@ -1,736 +0,0 @@
|
||||
{
|
||||
"annotations": {
|
||||
"list": [
|
||||
{
|
||||
"builtIn": 1,
|
||||
"datasource": "-- Grafana --",
|
||||
"enable": false,
|
||||
"hide": true,
|
||||
"iconColor": "rgba(0, 211, 255, 1)",
|
||||
"limit": 100,
|
||||
"name": "Annotations & Alerts",
|
||||
"showIn": 0,
|
||||
"type": "dashboard"
|
||||
},
|
||||
{
|
||||
"datasource": "Elastic 5 Logs",
|
||||
"enable": false,
|
||||
"iconColor": "rgba(255, 96, 96, 1)",
|
||||
"limit": 100,
|
||||
"name": "test",
|
||||
"query": "",
|
||||
"showIn": 0,
|
||||
"textField": "description",
|
||||
"type": "alert"
|
||||
}
|
||||
]
|
||||
},
|
||||
"editable": true,
|
||||
"gnetId": null,
|
||||
"graphTooltip": 0,
|
||||
"iteration": 1591027568655,
|
||||
"links": [
|
||||
{
|
||||
"asDropdown": true,
|
||||
"icon": "external link",
|
||||
"tags": ["gdev", "elasticsearch", "datasource-test"],
|
||||
"title": "Dashboards",
|
||||
"type": "dashboards"
|
||||
}
|
||||
],
|
||||
"panels": [
|
||||
{
|
||||
"aliasColors": {},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-elasticsearch-v2-metrics",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"grid": {},
|
||||
"gridPos": {
|
||||
"h": 7,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 1,
|
||||
"legend": {
|
||||
"alignAsTable": true,
|
||||
"avg": false,
|
||||
"current": false,
|
||||
"max": true,
|
||||
"min": false,
|
||||
"rightSide": true,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": true
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "connected",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [
|
||||
{
|
||||
"field": "@hostname",
|
||||
"id": "3",
|
||||
"settings": {
|
||||
"min_doc_count": 1,
|
||||
"order": "asc",
|
||||
"orderBy": "1",
|
||||
"size": "5"
|
||||
},
|
||||
"type": "terms"
|
||||
},
|
||||
{
|
||||
"field": "@timestamp",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"interval": "auto",
|
||||
"min_doc_count": 0,
|
||||
"trimEdges": 0
|
||||
},
|
||||
"type": "date_histogram"
|
||||
}
|
||||
],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "max"
|
||||
}
|
||||
],
|
||||
"query": "*",
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Top 5 servers",
|
||||
"tooltip": {
|
||||
"msResolution": true,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliasColors": {
|
||||
"Count": "#6ED0E0"
|
||||
},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-elasticsearch-v2-metrics",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"grid": {},
|
||||
"gridPos": {
|
||||
"h": 6,
|
||||
"w": 12,
|
||||
"x": 0,
|
||||
"y": 7
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 2,
|
||||
"legend": {
|
||||
"alignAsTable": true,
|
||||
"avg": true,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"rightSide": true,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": true
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "connected",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [
|
||||
{
|
||||
"alias": "Count",
|
||||
"lines": false,
|
||||
"yaxis": 2,
|
||||
"zindex": -1
|
||||
}
|
||||
],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"alias": "{{metric}}",
|
||||
"bucketAggs": [
|
||||
{
|
||||
"field": "@timestamp",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"interval": "5m",
|
||||
"min_doc_count": 0,
|
||||
"trimEdges": 0
|
||||
},
|
||||
"type": "date_histogram"
|
||||
}
|
||||
],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {
|
||||
"percents": [25, 50, 75, 95, 99]
|
||||
},
|
||||
"type": "percentiles"
|
||||
}
|
||||
],
|
||||
"query": "@metric:cpu",
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Percentiles & Metric filter",
|
||||
"tooltip": {
|
||||
"msResolution": false,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliasColors": {
|
||||
"Count": "#6ED0E0"
|
||||
},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-elasticsearch-v2-metrics",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"grid": {},
|
||||
"gridPos": {
|
||||
"h": 6,
|
||||
"w": 12,
|
||||
"x": 12,
|
||||
"y": 7
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 3,
|
||||
"legend": {
|
||||
"alignAsTable": true,
|
||||
"avg": true,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"rightSide": true,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": true
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "connected",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [
|
||||
{
|
||||
"alias": "Count",
|
||||
"lines": false,
|
||||
"yaxis": 2,
|
||||
"zindex": -1
|
||||
}
|
||||
],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"alias": "{{metric}}",
|
||||
"bucketAggs": [
|
||||
{
|
||||
"field": "@timestamp",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"interval": "auto",
|
||||
"min_doc_count": 0,
|
||||
"trimEdges": 0
|
||||
},
|
||||
"type": "date_histogram"
|
||||
}
|
||||
],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {
|
||||
"std_deviation_bounds_lower": true,
|
||||
"std_deviation_bounds_upper": true
|
||||
},
|
||||
"settings": {},
|
||||
"type": "extended_stats"
|
||||
}
|
||||
],
|
||||
"query": "@metric:cpu",
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Standard dev",
|
||||
"tooltip": {
|
||||
"msResolution": true,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"text": "@hostname",
|
||||
"value": "@hostname"
|
||||
},
|
||||
{
|
||||
"text": "Average",
|
||||
"value": "Average"
|
||||
},
|
||||
{
|
||||
"text": "Max",
|
||||
"value": "Max"
|
||||
},
|
||||
{
|
||||
"text": "Sum",
|
||||
"value": "Sum"
|
||||
}
|
||||
],
|
||||
"datasource": "gdev-elasticsearch-v2-metrics",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fontSize": "100%",
|
||||
"gridPos": {
|
||||
"h": 7,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 13
|
||||
},
|
||||
"id": 6,
|
||||
"links": [],
|
||||
"pageSize": null,
|
||||
"scroll": true,
|
||||
"showHeader": true,
|
||||
"sort": {
|
||||
"col": 0,
|
||||
"desc": true
|
||||
},
|
||||
"styles": [
|
||||
{
|
||||
"align": "auto",
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"pattern": "@timestamp",
|
||||
"type": "date"
|
||||
},
|
||||
{
|
||||
"align": "auto",
|
||||
"colorMode": null,
|
||||
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"decimals": 2,
|
||||
"pattern": "/.*/",
|
||||
"thresholds": [],
|
||||
"type": "number",
|
||||
"unit": "short"
|
||||
}
|
||||
],
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [
|
||||
{
|
||||
"field": "@hostname",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"min_doc_count": 1,
|
||||
"order": "asc",
|
||||
"orderBy": "_term",
|
||||
"size": "0"
|
||||
},
|
||||
"type": "terms"
|
||||
}
|
||||
],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "avg"
|
||||
},
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "3",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "max"
|
||||
},
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "4",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "sum"
|
||||
}
|
||||
],
|
||||
"refId": "B",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"title": "ES Metrics",
|
||||
"transform": "table",
|
||||
"type": "table-old"
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"text": "@timestamp",
|
||||
"value": "@timestamp"
|
||||
},
|
||||
{
|
||||
"text": "@message",
|
||||
"value": "@message"
|
||||
},
|
||||
{
|
||||
"text": "tags",
|
||||
"value": "tags"
|
||||
},
|
||||
{
|
||||
"text": "description",
|
||||
"value": "description"
|
||||
}
|
||||
],
|
||||
"datasource": "gdev-elasticsearch-v2-logs",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fontSize": "100%",
|
||||
"gridPos": {
|
||||
"h": 7,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 20
|
||||
},
|
||||
"id": 5,
|
||||
"links": [],
|
||||
"pageSize": null,
|
||||
"scroll": true,
|
||||
"showHeader": true,
|
||||
"sort": {
|
||||
"col": 0,
|
||||
"desc": true
|
||||
},
|
||||
"styles": [
|
||||
{
|
||||
"align": "auto",
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"pattern": "@timestamp",
|
||||
"type": "date"
|
||||
}
|
||||
],
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "select field",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {
|
||||
"size": 500
|
||||
},
|
||||
"type": "raw_document"
|
||||
}
|
||||
],
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"title": "ES Log query",
|
||||
"transform": "json",
|
||||
"type": "table-old"
|
||||
},
|
||||
{
|
||||
"circleMaxSize": 30,
|
||||
"circleMinSize": 2,
|
||||
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
|
||||
"datasource": "gdev-elasticsearch-v2-metrics",
|
||||
"decimals": 0,
|
||||
"esGeoPoint": "@location",
|
||||
"esMetric": "Average",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 12,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 27
|
||||
},
|
||||
"hideEmpty": false,
|
||||
"hideZero": false,
|
||||
"id": 8,
|
||||
"initialZoom": 1,
|
||||
"links": [],
|
||||
"locationData": "geohash",
|
||||
"mapCenter": "(0°, 0°)",
|
||||
"mapCenterLatitude": 0,
|
||||
"mapCenterLongitude": 0,
|
||||
"maxDataPoints": 1,
|
||||
"mouseWheelZoom": false,
|
||||
"showLegend": true,
|
||||
"stickyLabels": false,
|
||||
"tableQueryOptions": {
|
||||
"geohashField": "geohash",
|
||||
"latitudeField": "latitude",
|
||||
"longitudeField": "longitude",
|
||||
"metricField": "metric",
|
||||
"queryType": "geohash"
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [
|
||||
{
|
||||
"fake": true,
|
||||
"field": "@location",
|
||||
"id": "3",
|
||||
"settings": {
|
||||
"precision": 2
|
||||
},
|
||||
"type": "geohash_grid"
|
||||
}
|
||||
],
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "avg"
|
||||
}
|
||||
],
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": "0,10",
|
||||
"title": "World map panel",
|
||||
"type": "grafana-worldmap-panel",
|
||||
"unitPlural": "",
|
||||
"unitSingle": "",
|
||||
"valueName": "total"
|
||||
}
|
||||
],
|
||||
"schemaVersion": 25,
|
||||
"style": "dark",
|
||||
"tags": ["elasticsearch", "gdev", "datasource-test"],
|
||||
"templating": {
|
||||
"list": [
|
||||
{
|
||||
"datasource": "gdev-elasticsearch-v2-metrics",
|
||||
"filters": [],
|
||||
"hide": 0,
|
||||
"label": "",
|
||||
"name": "Filters",
|
||||
"skipUrlSync": false,
|
||||
"type": "adhoc"
|
||||
}
|
||||
]
|
||||
},
|
||||
"time": {
|
||||
"from": "now-30m",
|
||||
"to": "now"
|
||||
},
|
||||
"timepicker": {
|
||||
"collapse": false,
|
||||
"enable": true,
|
||||
"notice": false,
|
||||
"now": true,
|
||||
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
|
||||
"status": "Stable",
|
||||
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"],
|
||||
"type": "timepicker"
|
||||
},
|
||||
"timezone": "browser",
|
||||
"title": "Datasource tests - Elasticsearch v2",
|
||||
"uid": "RlqLq2fiz",
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,737 +0,0 @@
|
||||
{
|
||||
"annotations": {
|
||||
"list": [
|
||||
{
|
||||
"builtIn": 1,
|
||||
"datasource": "-- Grafana --",
|
||||
"enable": false,
|
||||
"hide": true,
|
||||
"iconColor": "rgba(0, 211, 255, 1)",
|
||||
"limit": 100,
|
||||
"name": "Annotations & Alerts",
|
||||
"showIn": 0,
|
||||
"type": "dashboard"
|
||||
},
|
||||
{
|
||||
"datasource": "Elastic 5 Logs",
|
||||
"enable": false,
|
||||
"iconColor": "rgba(255, 96, 96, 1)",
|
||||
"limit": 100,
|
||||
"name": "test",
|
||||
"query": "",
|
||||
"showIn": 0,
|
||||
"textField": "description",
|
||||
"type": "alert"
|
||||
}
|
||||
]
|
||||
},
|
||||
"editable": true,
|
||||
"gnetId": null,
|
||||
"graphTooltip": 0,
|
||||
"iteration": 1591027589702,
|
||||
"links": [
|
||||
{
|
||||
"asDropdown": true,
|
||||
"icon": "external link",
|
||||
"tags": ["gdev", "elasticsearch", "datasource-test"],
|
||||
"title": "Dashboards",
|
||||
"type": "dashboards"
|
||||
}
|
||||
],
|
||||
"panels": [
|
||||
{
|
||||
"aliasColors": {},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-elasticsearch-v5-metrics",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"grid": {},
|
||||
"gridPos": {
|
||||
"h": 7,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 1,
|
||||
"legend": {
|
||||
"alignAsTable": true,
|
||||
"avg": false,
|
||||
"current": false,
|
||||
"max": true,
|
||||
"min": false,
|
||||
"rightSide": true,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": true
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "connected",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [
|
||||
{
|
||||
"field": "@hostname",
|
||||
"id": "3",
|
||||
"settings": {
|
||||
"min_doc_count": 1,
|
||||
"order": "asc",
|
||||
"orderBy": "1",
|
||||
"size": "5"
|
||||
},
|
||||
"type": "terms"
|
||||
},
|
||||
{
|
||||
"field": "@timestamp",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"interval": "auto",
|
||||
"min_doc_count": 0,
|
||||
"trimEdges": 0
|
||||
},
|
||||
"type": "date_histogram"
|
||||
}
|
||||
],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "max"
|
||||
}
|
||||
],
|
||||
"query": "*",
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Top 5 servers",
|
||||
"tooltip": {
|
||||
"msResolution": true,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliasColors": {
|
||||
"Count": "#6ED0E0"
|
||||
},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-elasticsearch-v5-metrics",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"grid": {},
|
||||
"gridPos": {
|
||||
"h": 6,
|
||||
"w": 12,
|
||||
"x": 0,
|
||||
"y": 7
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 2,
|
||||
"legend": {
|
||||
"alignAsTable": true,
|
||||
"avg": true,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"rightSide": true,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": true
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "connected",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [
|
||||
{
|
||||
"alias": "Count",
|
||||
"lines": false,
|
||||
"yaxis": 2,
|
||||
"zindex": -1
|
||||
}
|
||||
],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"alias": "{{metric}}",
|
||||
"bucketAggs": [
|
||||
{
|
||||
"field": "@timestamp",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"interval": "5m",
|
||||
"min_doc_count": 0,
|
||||
"trimEdges": 0
|
||||
},
|
||||
"type": "date_histogram"
|
||||
}
|
||||
],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {
|
||||
"percents": [25, 50, 75, 95, 99]
|
||||
},
|
||||
"type": "percentiles"
|
||||
}
|
||||
],
|
||||
"query": "@metric:cpu",
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Percentiles & Metric filter",
|
||||
"tooltip": {
|
||||
"msResolution": false,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliasColors": {
|
||||
"Count": "#6ED0E0"
|
||||
},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-elasticsearch-v5-metrics",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"grid": {},
|
||||
"gridPos": {
|
||||
"h": 6,
|
||||
"w": 12,
|
||||
"x": 12,
|
||||
"y": 7
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 3,
|
||||
"legend": {
|
||||
"alignAsTable": true,
|
||||
"avg": true,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"rightSide": true,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": true
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "connected",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [
|
||||
{
|
||||
"alias": "Count",
|
||||
"lines": false,
|
||||
"yaxis": 2,
|
||||
"zindex": -1
|
||||
}
|
||||
],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"alias": "{{metric}}",
|
||||
"bucketAggs": [
|
||||
{
|
||||
"field": "@timestamp",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"interval": "auto",
|
||||
"min_doc_count": 0,
|
||||
"trimEdges": 0
|
||||
},
|
||||
"type": "date_histogram"
|
||||
}
|
||||
],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {
|
||||
"std_deviation_bounds_lower": true,
|
||||
"std_deviation_bounds_upper": true
|
||||
},
|
||||
"settings": {},
|
||||
"type": "extended_stats"
|
||||
}
|
||||
],
|
||||
"query": "@metric:cpu",
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Standard dev",
|
||||
"tooltip": {
|
||||
"msResolution": true,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"text": "@hostname",
|
||||
"value": "@hostname"
|
||||
},
|
||||
{
|
||||
"text": "Average",
|
||||
"value": "Average"
|
||||
},
|
||||
{
|
||||
"text": "Max",
|
||||
"value": "Max"
|
||||
},
|
||||
{
|
||||
"text": "Sum",
|
||||
"value": "Sum"
|
||||
}
|
||||
],
|
||||
"datasource": "gdev-elasticsearch-v5-metrics",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fontSize": "100%",
|
||||
"gridPos": {
|
||||
"h": 7,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 13
|
||||
},
|
||||
"id": 6,
|
||||
"links": [],
|
||||
"pageSize": null,
|
||||
"scroll": true,
|
||||
"showHeader": true,
|
||||
"sort": {
|
||||
"col": 0,
|
||||
"desc": true
|
||||
},
|
||||
"styles": [
|
||||
{
|
||||
"align": "auto",
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"pattern": "@timestamp",
|
||||
"type": "date"
|
||||
},
|
||||
{
|
||||
"align": "auto",
|
||||
"colorMode": null,
|
||||
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"decimals": 2,
|
||||
"pattern": "/.*/",
|
||||
"thresholds": [],
|
||||
"type": "number",
|
||||
"unit": "short"
|
||||
}
|
||||
],
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [
|
||||
{
|
||||
"field": "@hostname",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"min_doc_count": 1,
|
||||
"order": "asc",
|
||||
"orderBy": "_term",
|
||||
"size": "0"
|
||||
},
|
||||
"type": "terms"
|
||||
}
|
||||
],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "avg"
|
||||
},
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "3",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "max"
|
||||
},
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "4",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "sum"
|
||||
}
|
||||
],
|
||||
"refId": "B",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"title": "ES Metrics",
|
||||
"transform": "table",
|
||||
"type": "table-old"
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"text": "@timestamp",
|
||||
"value": "@timestamp"
|
||||
},
|
||||
{
|
||||
"text": "@message",
|
||||
"value": "@message"
|
||||
},
|
||||
{
|
||||
"text": "tags",
|
||||
"value": "tags"
|
||||
},
|
||||
{
|
||||
"text": "description",
|
||||
"value": "description"
|
||||
}
|
||||
],
|
||||
"datasource": "gdev-elasticsearch-v5-logs",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fontSize": "100%",
|
||||
"gridPos": {
|
||||
"h": 7,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 20
|
||||
},
|
||||
"id": 5,
|
||||
"links": [],
|
||||
"pageSize": null,
|
||||
"scroll": true,
|
||||
"showHeader": true,
|
||||
"sort": {
|
||||
"col": 0,
|
||||
"desc": true
|
||||
},
|
||||
"styles": [
|
||||
{
|
||||
"align": "auto",
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"pattern": "@timestamp",
|
||||
"type": "date"
|
||||
}
|
||||
],
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "select field",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {
|
||||
"size": 500
|
||||
},
|
||||
"type": "raw_document"
|
||||
}
|
||||
],
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"title": "ES Log query",
|
||||
"transform": "json",
|
||||
"type": "table-old"
|
||||
},
|
||||
{
|
||||
"circleMaxSize": 30,
|
||||
"circleMinSize": 2,
|
||||
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
|
||||
"datasource": "gdev-elasticsearch-v5-metrics",
|
||||
"decimals": 0,
|
||||
"esGeoPoint": "@location",
|
||||
"esLocationName": "",
|
||||
"esMetric": "Average",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 12,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 27
|
||||
},
|
||||
"hideEmpty": false,
|
||||
"hideZero": false,
|
||||
"id": 8,
|
||||
"initialZoom": 1,
|
||||
"links": [],
|
||||
"locationData": "geohash",
|
||||
"mapCenter": "(0°, 0°)",
|
||||
"mapCenterLatitude": 0,
|
||||
"mapCenterLongitude": 0,
|
||||
"maxDataPoints": 1,
|
||||
"mouseWheelZoom": false,
|
||||
"showLegend": true,
|
||||
"stickyLabels": false,
|
||||
"tableQueryOptions": {
|
||||
"geohashField": "geohash",
|
||||
"latitudeField": "latitude",
|
||||
"longitudeField": "longitude",
|
||||
"metricField": "metric",
|
||||
"queryType": "geohash"
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [
|
||||
{
|
||||
"fake": true,
|
||||
"field": "@location",
|
||||
"id": "3",
|
||||
"settings": {
|
||||
"precision": 2
|
||||
},
|
||||
"type": "geohash_grid"
|
||||
}
|
||||
],
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "avg"
|
||||
}
|
||||
],
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": "0,10",
|
||||
"title": "World map panel",
|
||||
"type": "grafana-worldmap-panel",
|
||||
"unitPlural": "",
|
||||
"unitSingle": "",
|
||||
"valueName": "total"
|
||||
}
|
||||
],
|
||||
"schemaVersion": 25,
|
||||
"style": "dark",
|
||||
"tags": ["elasticsearch", "gdev", "datasource-test"],
|
||||
"templating": {
|
||||
"list": [
|
||||
{
|
||||
"datasource": "gdev-elasticsearch-v5-metrics",
|
||||
"filters": [],
|
||||
"hide": 0,
|
||||
"label": "",
|
||||
"name": "Filters",
|
||||
"skipUrlSync": false,
|
||||
"type": "adhoc"
|
||||
}
|
||||
]
|
||||
},
|
||||
"time": {
|
||||
"from": "now-30m",
|
||||
"to": "now"
|
||||
},
|
||||
"timepicker": {
|
||||
"collapse": false,
|
||||
"enable": true,
|
||||
"notice": false,
|
||||
"now": true,
|
||||
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
|
||||
"status": "Stable",
|
||||
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"],
|
||||
"type": "timepicker"
|
||||
},
|
||||
"timezone": "browser",
|
||||
"title": "Datasource tests - Elasticsearch v5",
|
||||
"uid": "8HjT32Bmz",
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,737 +0,0 @@
|
||||
{
|
||||
"annotations": {
|
||||
"list": [
|
||||
{
|
||||
"builtIn": 1,
|
||||
"datasource": "-- Grafana --",
|
||||
"enable": false,
|
||||
"hide": true,
|
||||
"iconColor": "rgba(0, 211, 255, 1)",
|
||||
"limit": 100,
|
||||
"name": "Annotations & Alerts",
|
||||
"showIn": 0,
|
||||
"type": "dashboard"
|
||||
},
|
||||
{
|
||||
"datasource": "Elastic 5 Logs",
|
||||
"enable": false,
|
||||
"iconColor": "rgba(255, 96, 96, 1)",
|
||||
"limit": 100,
|
||||
"name": "test",
|
||||
"query": "",
|
||||
"showIn": 0,
|
||||
"textField": "description",
|
||||
"type": "alert"
|
||||
}
|
||||
]
|
||||
},
|
||||
"editable": true,
|
||||
"gnetId": null,
|
||||
"graphTooltip": 0,
|
||||
"iteration": 1591027589702,
|
||||
"links": [
|
||||
{
|
||||
"asDropdown": true,
|
||||
"icon": "external link",
|
||||
"tags": ["gdev", "elasticsearch", "datasource-test"],
|
||||
"title": "Dashboards",
|
||||
"type": "dashboards"
|
||||
}
|
||||
],
|
||||
"panels": [
|
||||
{
|
||||
"aliasColors": {},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-elasticsearch-v5-metrics",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"grid": {},
|
||||
"gridPos": {
|
||||
"h": 7,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 1,
|
||||
"legend": {
|
||||
"alignAsTable": true,
|
||||
"avg": false,
|
||||
"current": false,
|
||||
"max": true,
|
||||
"min": false,
|
||||
"rightSide": true,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": true
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "connected",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [
|
||||
{
|
||||
"field": "@hostname",
|
||||
"id": "3",
|
||||
"settings": {
|
||||
"min_doc_count": 1,
|
||||
"order": "asc",
|
||||
"orderBy": "1",
|
||||
"size": "5"
|
||||
},
|
||||
"type": "terms"
|
||||
},
|
||||
{
|
||||
"field": "@timestamp",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"interval": "auto",
|
||||
"min_doc_count": 0,
|
||||
"trimEdges": 0
|
||||
},
|
||||
"type": "date_histogram"
|
||||
}
|
||||
],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "max"
|
||||
}
|
||||
],
|
||||
"query": "*",
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Top 5 servers",
|
||||
"tooltip": {
|
||||
"msResolution": true,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliasColors": {
|
||||
"Count": "#6ED0E0"
|
||||
},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-elasticsearch-v56-metrics",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"grid": {},
|
||||
"gridPos": {
|
||||
"h": 6,
|
||||
"w": 12,
|
||||
"x": 0,
|
||||
"y": 7
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 2,
|
||||
"legend": {
|
||||
"alignAsTable": true,
|
||||
"avg": true,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"rightSide": true,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": true
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "connected",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [
|
||||
{
|
||||
"alias": "Count",
|
||||
"lines": false,
|
||||
"yaxis": 2,
|
||||
"zindex": -1
|
||||
}
|
||||
],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"alias": "{{metric}}",
|
||||
"bucketAggs": [
|
||||
{
|
||||
"field": "@timestamp",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"interval": "5m",
|
||||
"min_doc_count": 0,
|
||||
"trimEdges": 0
|
||||
},
|
||||
"type": "date_histogram"
|
||||
}
|
||||
],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {
|
||||
"percents": [25, 50, 75, 95, 99]
|
||||
},
|
||||
"type": "percentiles"
|
||||
}
|
||||
],
|
||||
"query": "@metric:cpu",
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Percentiles & Metric filter",
|
||||
"tooltip": {
|
||||
"msResolution": false,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliasColors": {
|
||||
"Count": "#6ED0E0"
|
||||
},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-elasticsearch-v56-metrics",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"grid": {},
|
||||
"gridPos": {
|
||||
"h": 6,
|
||||
"w": 12,
|
||||
"x": 12,
|
||||
"y": 7
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 3,
|
||||
"legend": {
|
||||
"alignAsTable": true,
|
||||
"avg": true,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"rightSide": true,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": true
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "connected",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [
|
||||
{
|
||||
"alias": "Count",
|
||||
"lines": false,
|
||||
"yaxis": 2,
|
||||
"zindex": -1
|
||||
}
|
||||
],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"alias": "{{metric}}",
|
||||
"bucketAggs": [
|
||||
{
|
||||
"field": "@timestamp",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"interval": "auto",
|
||||
"min_doc_count": 0,
|
||||
"trimEdges": 0
|
||||
},
|
||||
"type": "date_histogram"
|
||||
}
|
||||
],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {
|
||||
"std_deviation_bounds_lower": true,
|
||||
"std_deviation_bounds_upper": true
|
||||
},
|
||||
"settings": {},
|
||||
"type": "extended_stats"
|
||||
}
|
||||
],
|
||||
"query": "@metric:cpu",
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Standard dev",
|
||||
"tooltip": {
|
||||
"msResolution": true,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"text": "@hostname",
|
||||
"value": "@hostname"
|
||||
},
|
||||
{
|
||||
"text": "Average",
|
||||
"value": "Average"
|
||||
},
|
||||
{
|
||||
"text": "Max",
|
||||
"value": "Max"
|
||||
},
|
||||
{
|
||||
"text": "Sum",
|
||||
"value": "Sum"
|
||||
}
|
||||
],
|
||||
"datasource": "gdev-elasticsearch-v56-metrics",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fontSize": "100%",
|
||||
"gridPos": {
|
||||
"h": 7,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 13
|
||||
},
|
||||
"id": 6,
|
||||
"links": [],
|
||||
"pageSize": null,
|
||||
"scroll": true,
|
||||
"showHeader": true,
|
||||
"sort": {
|
||||
"col": 0,
|
||||
"desc": true
|
||||
},
|
||||
"styles": [
|
||||
{
|
||||
"align": "auto",
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"pattern": "@timestamp",
|
||||
"type": "date"
|
||||
},
|
||||
{
|
||||
"align": "auto",
|
||||
"colorMode": null,
|
||||
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"decimals": 2,
|
||||
"pattern": "/.*/",
|
||||
"thresholds": [],
|
||||
"type": "number",
|
||||
"unit": "short"
|
||||
}
|
||||
],
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [
|
||||
{
|
||||
"field": "@hostname",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"min_doc_count": 1,
|
||||
"order": "asc",
|
||||
"orderBy": "_term",
|
||||
"size": "0"
|
||||
},
|
||||
"type": "terms"
|
||||
}
|
||||
],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "avg"
|
||||
},
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "3",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "max"
|
||||
},
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "4",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "sum"
|
||||
}
|
||||
],
|
||||
"refId": "B",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"title": "ES Metrics",
|
||||
"transform": "table",
|
||||
"type": "table-old"
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"text": "@timestamp",
|
||||
"value": "@timestamp"
|
||||
},
|
||||
{
|
||||
"text": "@message",
|
||||
"value": "@message"
|
||||
},
|
||||
{
|
||||
"text": "tags",
|
||||
"value": "tags"
|
||||
},
|
||||
{
|
||||
"text": "description",
|
||||
"value": "description"
|
||||
}
|
||||
],
|
||||
"datasource": "gdev-elasticsearch-v56-logs",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fontSize": "100%",
|
||||
"gridPos": {
|
||||
"h": 7,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 20
|
||||
},
|
||||
"id": 5,
|
||||
"links": [],
|
||||
"pageSize": null,
|
||||
"scroll": true,
|
||||
"showHeader": true,
|
||||
"sort": {
|
||||
"col": 0,
|
||||
"desc": true
|
||||
},
|
||||
"styles": [
|
||||
{
|
||||
"align": "auto",
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"pattern": "@timestamp",
|
||||
"type": "date"
|
||||
}
|
||||
],
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "select field",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {
|
||||
"size": 500
|
||||
},
|
||||
"type": "raw_document"
|
||||
}
|
||||
],
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"title": "ES Log query",
|
||||
"transform": "json",
|
||||
"type": "table-old"
|
||||
},
|
||||
{
|
||||
"circleMaxSize": 30,
|
||||
"circleMinSize": 2,
|
||||
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
|
||||
"datasource": "gdev-elasticsearch-v56-metrics",
|
||||
"decimals": 0,
|
||||
"esGeoPoint": "@location",
|
||||
"esLocationName": "",
|
||||
"esMetric": "Average",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 12,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 27
|
||||
},
|
||||
"hideEmpty": false,
|
||||
"hideZero": false,
|
||||
"id": 8,
|
||||
"initialZoom": 1,
|
||||
"links": [],
|
||||
"locationData": "geohash",
|
||||
"mapCenter": "(0°, 0°)",
|
||||
"mapCenterLatitude": 0,
|
||||
"mapCenterLongitude": 0,
|
||||
"maxDataPoints": 1,
|
||||
"mouseWheelZoom": false,
|
||||
"showLegend": true,
|
||||
"stickyLabels": false,
|
||||
"tableQueryOptions": {
|
||||
"geohashField": "geohash",
|
||||
"latitudeField": "latitude",
|
||||
"longitudeField": "longitude",
|
||||
"metricField": "metric",
|
||||
"queryType": "geohash"
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [
|
||||
{
|
||||
"fake": true,
|
||||
"field": "@location",
|
||||
"id": "3",
|
||||
"settings": {
|
||||
"precision": 2
|
||||
},
|
||||
"type": "geohash_grid"
|
||||
}
|
||||
],
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "avg"
|
||||
}
|
||||
],
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": "0,10",
|
||||
"title": "World map panel",
|
||||
"type": "grafana-worldmap-panel",
|
||||
"unitPlural": "",
|
||||
"unitSingle": "",
|
||||
"valueName": "total"
|
||||
}
|
||||
],
|
||||
"schemaVersion": 25,
|
||||
"style": "dark",
|
||||
"tags": ["elasticsearch", "gdev", "datasource-test"],
|
||||
"templating": {
|
||||
"list": [
|
||||
{
|
||||
"datasource": "gdev-elasticsearch-v56-metrics",
|
||||
"filters": [],
|
||||
"hide": 0,
|
||||
"label": "",
|
||||
"name": "Filters",
|
||||
"skipUrlSync": false,
|
||||
"type": "adhoc"
|
||||
}
|
||||
]
|
||||
},
|
||||
"time": {
|
||||
"from": "now-30m",
|
||||
"to": "now"
|
||||
},
|
||||
"timepicker": {
|
||||
"collapse": false,
|
||||
"enable": true,
|
||||
"notice": false,
|
||||
"now": true,
|
||||
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
|
||||
"status": "Stable",
|
||||
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"],
|
||||
"type": "timepicker"
|
||||
},
|
||||
"timezone": "browser",
|
||||
"title": "Datasource tests - Elasticsearch v56",
|
||||
"uid": "8HjT32BmO",
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,737 +0,0 @@
|
||||
{
|
||||
"annotations": {
|
||||
"list": [
|
||||
{
|
||||
"builtIn": 1,
|
||||
"datasource": "-- Grafana --",
|
||||
"enable": false,
|
||||
"hide": true,
|
||||
"iconColor": "rgba(0, 211, 255, 1)",
|
||||
"limit": 100,
|
||||
"name": "Annotations & Alerts",
|
||||
"showIn": 0,
|
||||
"type": "dashboard"
|
||||
},
|
||||
{
|
||||
"datasource": "gdev-elasticsearch-v6-logs",
|
||||
"enable": false,
|
||||
"iconColor": "rgba(255, 96, 96, 1)",
|
||||
"limit": 100,
|
||||
"name": "test",
|
||||
"query": "",
|
||||
"showIn": 0,
|
||||
"textField": "description",
|
||||
"type": "alert"
|
||||
}
|
||||
]
|
||||
},
|
||||
"editable": true,
|
||||
"gnetId": null,
|
||||
"graphTooltip": 0,
|
||||
"iteration": 1591027529668,
|
||||
"links": [
|
||||
{
|
||||
"asDropdown": true,
|
||||
"icon": "external link",
|
||||
"tags": ["gdev", "elasticsearch", "datasource-test"],
|
||||
"title": "Dashboards",
|
||||
"type": "dashboards"
|
||||
}
|
||||
],
|
||||
"panels": [
|
||||
{
|
||||
"aliasColors": {},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-elasticsearch-v6-metrics",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"grid": {},
|
||||
"gridPos": {
|
||||
"h": 7,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 1,
|
||||
"legend": {
|
||||
"alignAsTable": true,
|
||||
"avg": false,
|
||||
"current": false,
|
||||
"max": true,
|
||||
"min": false,
|
||||
"rightSide": true,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": true
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "connected",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [
|
||||
{
|
||||
"field": "@hostname",
|
||||
"id": "3",
|
||||
"settings": {
|
||||
"min_doc_count": 1,
|
||||
"order": "asc",
|
||||
"orderBy": "1",
|
||||
"size": "5"
|
||||
},
|
||||
"type": "terms"
|
||||
},
|
||||
{
|
||||
"field": "@timestamp",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"interval": "auto",
|
||||
"min_doc_count": 0,
|
||||
"trimEdges": 0
|
||||
},
|
||||
"type": "date_histogram"
|
||||
}
|
||||
],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "max"
|
||||
}
|
||||
],
|
||||
"query": "*",
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Top 5 servers",
|
||||
"tooltip": {
|
||||
"msResolution": true,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliasColors": {
|
||||
"Count": "#6ED0E0"
|
||||
},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-elasticsearch-v6-metrics",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"grid": {},
|
||||
"gridPos": {
|
||||
"h": 6,
|
||||
"w": 12,
|
||||
"x": 0,
|
||||
"y": 7
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 2,
|
||||
"legend": {
|
||||
"alignAsTable": true,
|
||||
"avg": true,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"rightSide": true,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": true
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "connected",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [
|
||||
{
|
||||
"alias": "Count",
|
||||
"lines": false,
|
||||
"yaxis": 2,
|
||||
"zindex": -1
|
||||
}
|
||||
],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"alias": "{{metric}}",
|
||||
"bucketAggs": [
|
||||
{
|
||||
"field": "@timestamp",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"interval": "5m",
|
||||
"min_doc_count": 0,
|
||||
"trimEdges": 0
|
||||
},
|
||||
"type": "date_histogram"
|
||||
}
|
||||
],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {
|
||||
"percents": [25, 50, 75, 95, 99]
|
||||
},
|
||||
"type": "percentiles"
|
||||
}
|
||||
],
|
||||
"query": "@metric:cpu",
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Percentiles & Metric filter",
|
||||
"tooltip": {
|
||||
"msResolution": false,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliasColors": {
|
||||
"Count": "#6ED0E0"
|
||||
},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-elasticsearch-v6-metrics",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"grid": {},
|
||||
"gridPos": {
|
||||
"h": 6,
|
||||
"w": 12,
|
||||
"x": 12,
|
||||
"y": 7
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 3,
|
||||
"legend": {
|
||||
"alignAsTable": true,
|
||||
"avg": true,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"rightSide": true,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": true
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 2,
|
||||
"links": [],
|
||||
"nullPointMode": "connected",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 5,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [
|
||||
{
|
||||
"alias": "Count",
|
||||
"lines": false,
|
||||
"yaxis": 2,
|
||||
"zindex": -1
|
||||
}
|
||||
],
|
||||
"spaceLength": 10,
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"alias": "{{metric}}",
|
||||
"bucketAggs": [
|
||||
{
|
||||
"field": "@timestamp",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"interval": "auto",
|
||||
"min_doc_count": 0,
|
||||
"trimEdges": 0
|
||||
},
|
||||
"type": "date_histogram"
|
||||
}
|
||||
],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {
|
||||
"std_deviation_bounds_lower": true,
|
||||
"std_deviation_bounds_upper": true
|
||||
},
|
||||
"settings": {},
|
||||
"type": "extended_stats"
|
||||
}
|
||||
],
|
||||
"query": "@metric:cpu",
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Standard dev",
|
||||
"tooltip": {
|
||||
"msResolution": true,
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "cumulative"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"text": "@hostname",
|
||||
"value": "@hostname"
|
||||
},
|
||||
{
|
||||
"text": "Average",
|
||||
"value": "Average"
|
||||
},
|
||||
{
|
||||
"text": "Max",
|
||||
"value": "Max"
|
||||
},
|
||||
{
|
||||
"text": "Sum",
|
||||
"value": "Sum"
|
||||
}
|
||||
],
|
||||
"datasource": "gdev-elasticsearch-v6-metrics",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fontSize": "100%",
|
||||
"gridPos": {
|
||||
"h": 7,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 13
|
||||
},
|
||||
"id": 6,
|
||||
"links": [],
|
||||
"pageSize": null,
|
||||
"scroll": true,
|
||||
"showHeader": true,
|
||||
"sort": {
|
||||
"col": 0,
|
||||
"desc": true
|
||||
},
|
||||
"styles": [
|
||||
{
|
||||
"align": "auto",
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"pattern": "@timestamp",
|
||||
"type": "date"
|
||||
},
|
||||
{
|
||||
"align": "auto",
|
||||
"colorMode": null,
|
||||
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"decimals": 2,
|
||||
"pattern": "/.*/",
|
||||
"thresholds": [],
|
||||
"type": "number",
|
||||
"unit": "short"
|
||||
}
|
||||
],
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [
|
||||
{
|
||||
"field": "@hostname",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"min_doc_count": 1,
|
||||
"order": "asc",
|
||||
"orderBy": "_term",
|
||||
"size": "0"
|
||||
},
|
||||
"type": "terms"
|
||||
}
|
||||
],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "avg"
|
||||
},
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "3",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "max"
|
||||
},
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "4",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "sum"
|
||||
}
|
||||
],
|
||||
"refId": "B",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"title": "ES Metrics",
|
||||
"transform": "table",
|
||||
"type": "table-old"
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"text": "@timestamp",
|
||||
"value": "@timestamp"
|
||||
},
|
||||
{
|
||||
"text": "@message",
|
||||
"value": "@message"
|
||||
},
|
||||
{
|
||||
"text": "tags",
|
||||
"value": "tags"
|
||||
},
|
||||
{
|
||||
"text": "description",
|
||||
"value": "description"
|
||||
}
|
||||
],
|
||||
"datasource": "gdev-elasticsearch-v6-logs",
|
||||
"editable": true,
|
||||
"error": false,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fontSize": "100%",
|
||||
"gridPos": {
|
||||
"h": 7,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 20
|
||||
},
|
||||
"id": 5,
|
||||
"links": [],
|
||||
"pageSize": null,
|
||||
"scroll": true,
|
||||
"showHeader": true,
|
||||
"sort": {
|
||||
"col": 0,
|
||||
"desc": true
|
||||
},
|
||||
"styles": [
|
||||
{
|
||||
"align": "auto",
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"pattern": "@timestamp",
|
||||
"type": "date"
|
||||
}
|
||||
],
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [],
|
||||
"dsType": "elasticsearch",
|
||||
"metrics": [
|
||||
{
|
||||
"field": "select field",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {
|
||||
"size": 500
|
||||
},
|
||||
"type": "raw_document"
|
||||
}
|
||||
],
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"title": "ES Log query",
|
||||
"transform": "json",
|
||||
"type": "table-old"
|
||||
},
|
||||
{
|
||||
"circleMaxSize": 30,
|
||||
"circleMinSize": 2,
|
||||
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
|
||||
"datasource": "gdev-elasticsearch-v6-metrics",
|
||||
"decimals": 0,
|
||||
"esGeoPoint": "@location",
|
||||
"esMetric": "Average",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 12,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 27
|
||||
},
|
||||
"hideEmpty": false,
|
||||
"hideZero": false,
|
||||
"id": 8,
|
||||
"initialZoom": "1",
|
||||
"links": [],
|
||||
"locationData": "geohash",
|
||||
"mapCenter": "(0°, 0°)",
|
||||
"mapCenterLatitude": 0,
|
||||
"mapCenterLongitude": 0,
|
||||
"maxDataPoints": 1,
|
||||
"mouseWheelZoom": false,
|
||||
"showLegend": true,
|
||||
"stickyLabels": false,
|
||||
"tableQueryOptions": {
|
||||
"geohashField": "geohash",
|
||||
"latitudeField": "latitude",
|
||||
"longitudeField": "longitude",
|
||||
"metricField": "metric",
|
||||
"queryType": "geohash"
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [
|
||||
{
|
||||
"fake": true,
|
||||
"field": "@location",
|
||||
"id": "3",
|
||||
"settings": {
|
||||
"precision": 2
|
||||
},
|
||||
"type": "geohash_grid"
|
||||
}
|
||||
],
|
||||
"metrics": [
|
||||
{
|
||||
"field": "@value",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "avg"
|
||||
}
|
||||
],
|
||||
"refId": "A",
|
||||
"target": "",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": "0,10",
|
||||
"title": "World map panel",
|
||||
"type": "grafana-worldmap-panel",
|
||||
"unitPlural": "",
|
||||
"unitSingle": "",
|
||||
"valueName": "total"
|
||||
}
|
||||
],
|
||||
"refresh": false,
|
||||
"schemaVersion": 25,
|
||||
"style": "dark",
|
||||
"tags": ["elasticsearch", "gdev", "datasource-test"],
|
||||
"templating": {
|
||||
"list": [
|
||||
{
|
||||
"datasource": "gdev-elasticsearch-v6-metrics",
|
||||
"filters": [],
|
||||
"hide": 0,
|
||||
"label": "",
|
||||
"name": "Filters",
|
||||
"skipUrlSync": false,
|
||||
"type": "adhoc"
|
||||
}
|
||||
]
|
||||
},
|
||||
"time": {
|
||||
"from": "now-1h",
|
||||
"to": "now"
|
||||
},
|
||||
"timepicker": {
|
||||
"collapse": false,
|
||||
"enable": true,
|
||||
"notice": false,
|
||||
"now": true,
|
||||
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
|
||||
"status": "Stable",
|
||||
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"],
|
||||
"type": "timepicker"
|
||||
},
|
||||
"timezone": "browser",
|
||||
"title": "Datasource tests - Elasticsearch v6",
|
||||
"uid": "NF8Pq2Biz",
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,241 +0,0 @@
|
||||
{
|
||||
"annotations": {
|
||||
"list": [
|
||||
{
|
||||
"builtIn": 1,
|
||||
"datasource": "-- Grafana --",
|
||||
"enable": true,
|
||||
"hide": true,
|
||||
"iconColor": "rgba(0, 211, 255, 1)",
|
||||
"name": "Annotations & Alerts",
|
||||
"type": "dashboard"
|
||||
}
|
||||
]
|
||||
},
|
||||
"editable": true,
|
||||
"gnetId": null,
|
||||
"graphTooltip": 0,
|
||||
"iteration": 1591027621672,
|
||||
"links": [
|
||||
{
|
||||
"asDropdown": true,
|
||||
"icon": "external link",
|
||||
"tags": ["gdev", "elasticsearch", "datasource-test"],
|
||||
"title": "Dashboards",
|
||||
"type": "dashboards"
|
||||
}
|
||||
],
|
||||
"panels": [
|
||||
{
|
||||
"aliasColors": {
|
||||
"error": "red"
|
||||
},
|
||||
"bars": true,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "gdev-elasticsearch-v6-filebeat",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
"gridPos": {
|
||||
"h": 5,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 4,
|
||||
"legend": {
|
||||
"avg": false,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": false
|
||||
},
|
||||
"lines": false,
|
||||
"linewidth": 1,
|
||||
"nullPointMode": "null",
|
||||
"options": {
|
||||
"dataLinks": []
|
||||
},
|
||||
"percentage": false,
|
||||
"pointradius": 2,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [],
|
||||
"spaceLength": 10,
|
||||
"stack": true,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [
|
||||
{
|
||||
"fake": true,
|
||||
"field": "fields.level",
|
||||
"id": "3",
|
||||
"settings": {
|
||||
"min_doc_count": 1,
|
||||
"order": "desc",
|
||||
"orderBy": "_term",
|
||||
"size": "10"
|
||||
},
|
||||
"type": "terms"
|
||||
},
|
||||
{
|
||||
"field": "@timestamp",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"interval": "5m",
|
||||
"min_doc_count": 1,
|
||||
"trimEdges": 0
|
||||
},
|
||||
"type": "date_histogram"
|
||||
}
|
||||
],
|
||||
"metrics": [
|
||||
{
|
||||
"field": "select field",
|
||||
"id": "1",
|
||||
"type": "count"
|
||||
}
|
||||
],
|
||||
"query": "fields.app:grafana",
|
||||
"refId": "A",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Panel Title",
|
||||
"tooltip": {
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "individual"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "short",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"datasource": "gdev-elasticsearch-v6-filebeat",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 22,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 5
|
||||
},
|
||||
"id": 2,
|
||||
"links": [],
|
||||
"options": {
|
||||
"showLabels": false,
|
||||
"showTime": true,
|
||||
"sortOrder": "Descending",
|
||||
"wrapLogMessage": true
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"bucketAggs": [
|
||||
{
|
||||
"$$hashKey": "object:394",
|
||||
"field": "@timestamp",
|
||||
"id": "2",
|
||||
"settings": {
|
||||
"interval": "auto",
|
||||
"min_doc_count": 0,
|
||||
"trimEdges": 0
|
||||
},
|
||||
"type": "date_histogram"
|
||||
}
|
||||
],
|
||||
"metrics": [
|
||||
{
|
||||
"$$hashKey": "object:359",
|
||||
"field": "select field",
|
||||
"id": "1",
|
||||
"meta": {},
|
||||
"settings": {},
|
||||
"type": "logs"
|
||||
}
|
||||
],
|
||||
"query": "fields.app:grafana",
|
||||
"refId": "A",
|
||||
"timeField": "@timestamp"
|
||||
}
|
||||
],
|
||||
"timeFrom": null,
|
||||
"timeShift": null,
|
||||
"title": "Panel Title",
|
||||
"type": "logs"
|
||||
}
|
||||
],
|
||||
"schemaVersion": 25,
|
||||
"style": "dark",
|
||||
"tags": ["gdev", "elasticsearch", "datasource-test"],
|
||||
"templating": {
|
||||
"list": [
|
||||
{
|
||||
"datasource": "gdev-elasticsearch-v6-filebeat",
|
||||
"filters": [],
|
||||
"hide": 0,
|
||||
"label": "",
|
||||
"name": "Filters",
|
||||
"skipUrlSync": false,
|
||||
"type": "adhoc"
|
||||
}
|
||||
]
|
||||
},
|
||||
"time": {
|
||||
"from": "now-30m",
|
||||
"to": "now"
|
||||
},
|
||||
"timepicker": {
|
||||
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
|
||||
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"]
|
||||
},
|
||||
"timezone": "",
|
||||
"title": "Datasource tests - Elasticsearch v6 Filebeat",
|
||||
"uid": "06tPt4gZz",
|
||||
"version": 1
|
||||
}
|
||||
@@ -16,7 +16,7 @@
|
||||
"gnetId": null,
|
||||
"graphTooltip": 0,
|
||||
"id": null,
|
||||
"iteration": 1646409057541,
|
||||
"iteration": 1601526910610,
|
||||
"links": [
|
||||
{
|
||||
"icon": "external link",
|
||||
@@ -73,61 +73,6 @@
|
||||
"timeShift": null,
|
||||
"title": "${custom.text}",
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"gridPos": {
|
||||
"h": 9,
|
||||
"w": 9,
|
||||
"x": 12,
|
||||
"y": 0
|
||||
},
|
||||
"type": "stat",
|
||||
"title": "Panel Title",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green",
|
||||
"value": null
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 80
|
||||
}
|
||||
]
|
||||
},
|
||||
"color": {
|
||||
"mode": "thresholds"
|
||||
},
|
||||
"links": [
|
||||
{
|
||||
"title": "Var Link",
|
||||
"url": "/d/vmie2cmWz/bar-gauge-demo?var-custom=$custom"
|
||||
}
|
||||
]
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"options": {
|
||||
"reduceOptions": {
|
||||
"values": false,
|
||||
"calcs": [
|
||||
"lastNotNull"
|
||||
],
|
||||
"fields": ""
|
||||
},
|
||||
"orientation": "auto",
|
||||
"textMode": "auto",
|
||||
"colorMode": "value",
|
||||
"graphMode": "area",
|
||||
"justifyMode": "auto"
|
||||
},
|
||||
"pluginVersion": "8.5.0-pre",
|
||||
"datasource": null
|
||||
}
|
||||
],
|
||||
"schemaVersion": 26,
|
||||
@@ -167,11 +112,6 @@
|
||||
"selected": false,
|
||||
"text": "p3",
|
||||
"value": "p3"
|
||||
},
|
||||
{
|
||||
"selected": false,
|
||||
"text": "p4",
|
||||
"value": "test%25value"
|
||||
}
|
||||
],
|
||||
"query": "p1,p2,p3",
|
||||
|
||||
@@ -3,7 +3,10 @@
|
||||
"list": [
|
||||
{
|
||||
"builtIn": 1,
|
||||
"datasource": "-- Grafana --",
|
||||
"datasource": {
|
||||
"type": "datasource",
|
||||
"uid": "grafana"
|
||||
},
|
||||
"enable": true,
|
||||
"hide": true,
|
||||
"iconColor": "rgba(0, 211, 255, 1)",
|
||||
@@ -19,6 +22,7 @@
|
||||
]
|
||||
},
|
||||
"editable": true,
|
||||
"fiscalYearStartMonth": 0,
|
||||
"graphTooltip": 0,
|
||||
"links": [
|
||||
{
|
||||
@@ -32,6 +36,7 @@
|
||||
"type": "dashboards"
|
||||
}
|
||||
],
|
||||
"liveNow": false,
|
||||
"panels": [
|
||||
{
|
||||
"datasource": {
|
||||
@@ -1042,6 +1047,10 @@
|
||||
"type": "timeseries"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
@@ -1143,6 +1152,10 @@
|
||||
"type": "timeseries"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
@@ -1222,6 +1235,95 @@
|
||||
],
|
||||
"title": "Always show points between gaps",
|
||||
"type": "timeseries"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
"drawStyle": "line",
|
||||
"fillOpacity": 0,
|
||||
"gradientMode": "none",
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"lineInterpolation": "linear",
|
||||
"lineStyle": {
|
||||
"fill": "solid"
|
||||
},
|
||||
"lineWidth": 1,
|
||||
"pointSize": 5,
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
},
|
||||
"showPoints": "never",
|
||||
"spanNulls": false,
|
||||
"stacking": {
|
||||
"group": "A",
|
||||
"mode": "none"
|
||||
},
|
||||
"thresholdsStyle": {
|
||||
"mode": "off"
|
||||
}
|
||||
},
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green"
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 80
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 8,
|
||||
"w": 7,
|
||||
"x": 7,
|
||||
"y": 22
|
||||
},
|
||||
"id": 16,
|
||||
"options": {
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom"
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
"sort": "none"
|
||||
}
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"refId": "A",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,61,,,,,,60,,,,,,,,,,,,,,,,,,61,,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,61,,,,,,60,,,,,,59,,,,,,60,,,,,,,59,,,,,,,,,,,,,,,,,,,,,,,,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,57,,,,,,56,,,,,,57,,,,,,,,,,,,56,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,54,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,,,,,54,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,,,,,,,,,,,,,55,,,,,,56,,,,,,,,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,,,,,,,57,,,,,,,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,,,,,,,,,,,,,,58,,,,,,59,,,,,,58,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,58,,,,,,,,,,,,,,,,,,,59,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,60,,,,,,,,,,,,61,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,62,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,61,,,,,,,,,,,,,,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,59,,,,,,60,,,,,,59,,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,59,,,,,,,,,,,,,,,,,60,,,,,,,,,,,,,59,,,,,,60,,,,,,,,,,,,59,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,58,,,,,,59,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,58,,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,55,,,,,,56,,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,54,,,,,,53,,,,,,,,,,,,,,,,,,,52,,,,,,,,,,,51,,,,,,,,,,,,,,,,,,,,,,,,,52,,,,,,,54,,,,,,55,,,,,,56,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,58,,,,,,,,,,,,,,,,,,59,,,,,,,,,,,,,,,,,,60,,,,,,,,,,,,61,,,,,,,,,,,,,,,,,,,,,,,,60,,,,,,61,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,62,,,,,,61,,,,,,62,,,,,,61,,,,,,62,,,,,,,,,,,,,,,,,,,63,,,,,,,,,,,,,,,,,,,,,,,,64,,,,,,63,,,,,,64,,,,,,63,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,62,,,,,,,,,,,,,,,,,,,61,,,,,,,,,,,,62,,,,,,,,,,,,,,,,,,,,,,,,,63,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,64,,,,,,,,,,,,63,,,,,,,,,,,,,62,,,,,,,,,,,,,,,,,,,,"
|
||||
}
|
||||
],
|
||||
"title": "Always show points between gaps",
|
||||
"type": "timeseries"
|
||||
}
|
||||
],
|
||||
"schemaVersion": 33,
|
||||
@@ -1242,5 +1344,6 @@
|
||||
"timezone": "",
|
||||
"title": "Panel Tests - Graph NG - Gaps and Connected",
|
||||
"uid": "8mmCAF1Mz",
|
||||
"version": 2
|
||||
"version": 1,
|
||||
"weekStart": ""
|
||||
}
|
||||
|
||||
3408
devenv/dev-dashboards/panel-graph/graph-ng-stacking2.json
Normal file
3408
devenv/dev-dashboards/panel-graph/graph-ng-stacking2.json
Normal file
File diff suppressed because it is too large
Load Diff
2683
devenv/dev-dashboards/panel-table/table_pagination.json
Normal file
2683
devenv/dev-dashboards/panel-table/table_pagination.json
Normal file
File diff suppressed because one or more lines are too long
@@ -2,6 +2,6 @@
|
||||
FROM golang:latest
|
||||
ADD main.go /
|
||||
WORKDIR /
|
||||
RUN go build -o main .
|
||||
RUN go mod init alert_webhook_listener && go build -o main .
|
||||
EXPOSE 3010
|
||||
ENTRYPOINT ["/main"]
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
alert_webhook_listener:
|
||||
build: docker/blocks/alert_webhook_listener
|
||||
network_mode: host
|
||||
ports:
|
||||
- "3010:3010"
|
||||
|
||||
1
devenv/docker/blocks/elastic/.env
Normal file
1
devenv/docker/blocks/elastic/.env
Normal file
@@ -0,0 +1 @@
|
||||
elastic_version=8.2.0
|
||||
3
devenv/docker/blocks/elastic/data/Dockerfile
Normal file
3
devenv/docker/blocks/elastic/data/Dockerfile
Normal file
@@ -0,0 +1,3 @@
|
||||
FROM node:16-alpine
|
||||
|
||||
COPY data.js /home/node/data.js
|
||||
137
devenv/docker/blocks/elastic/data/data.js
Normal file
137
devenv/docker/blocks/elastic/data/data.js
Normal file
@@ -0,0 +1,137 @@
|
||||
const http = require('http');
|
||||
|
||||
if (process.argv.length !== 3) {
|
||||
throw new Error('invalid command line: use node sendLogs.js ELASTIC_BASE_URL');
|
||||
}
|
||||
|
||||
const ELASTIC_BASE_URL = process.argv[2];
|
||||
|
||||
// helper function, do a http request
|
||||
async function jsonRequest(data, method, url, expectedStatusCode) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const req = http.request(
|
||||
{
|
||||
protocol: url.protocol,
|
||||
host: url.hostname,
|
||||
port: url.port,
|
||||
path: `${url.pathname}${url.search}`,
|
||||
method,
|
||||
headers: { 'content-type': 'application/json' },
|
||||
},
|
||||
(res) => {
|
||||
if (res.statusCode !== expectedStatusCode) {
|
||||
reject(new Error(`Invalid response: ${res.statusCode}`));
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
req.on('error', (err) => reject(err));
|
||||
|
||||
req.write(JSON.stringify(data));
|
||||
req.end();
|
||||
});
|
||||
}
|
||||
|
||||
// helper function, choose a random element from an array
|
||||
function chooseRandomElement(items) {
|
||||
const index = Math.trunc(Math.random() * items.length);
|
||||
return items[index];
|
||||
}
|
||||
|
||||
// helper function, sleep for a duration
|
||||
async function sleep(duration) {
|
||||
return new Promise((resolve) => {
|
||||
setTimeout(resolve, duration);
|
||||
});
|
||||
}
|
||||
|
||||
async function elasticSendLogItem(timestamp, item) {
|
||||
// we need the YYYY.MM.DD format
|
||||
const timestampText = timestamp.toISOString().slice(0, 10).replace(/-/g, '.');
|
||||
const url = new URL(ELASTIC_BASE_URL);
|
||||
url.pathname = `/logs-${timestampText}/_doc`;
|
||||
await jsonRequest(item, 'POST', url, 201);
|
||||
console.log(`posted to ${url.toString()}`);
|
||||
}
|
||||
|
||||
async function elasticSetupIndexTemplate() {
|
||||
const data = {
|
||||
index_patterns: ['logs-*'],
|
||||
template: {
|
||||
mappings: {
|
||||
properties: {
|
||||
'@timestamp': {
|
||||
type: 'date',
|
||||
},
|
||||
counter: {
|
||||
type: 'integer',
|
||||
},
|
||||
float: {
|
||||
type: 'float',
|
||||
},
|
||||
level: {
|
||||
type: 'keyword',
|
||||
},
|
||||
label: {
|
||||
type: 'keyword',
|
||||
},
|
||||
location: {
|
||||
type: 'geo_point',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
const url = new URL(ELASTIC_BASE_URL);
|
||||
url.pathname = '/_index_template/gdev';
|
||||
await jsonRequest(data, 'PUT', url, 200);
|
||||
}
|
||||
|
||||
function makeRandomPoint() {
|
||||
const angle = Math.random() * 2 * Math.PI;
|
||||
const x = 45 * Math.sin(angle);
|
||||
const y = 45 * Math.cos(angle);
|
||||
return y + ', ' + x;
|
||||
}
|
||||
|
||||
function getRandomLogItem(counter, timestamp) {
|
||||
const randomText = `${Math.trunc(Math.random() * 1000 * 1000 * 1000)}`;
|
||||
const maybeAnsiText = Math.random() < 0.5 ? 'with ANSI \u001b[31mpart of the text\u001b[0m' : '';
|
||||
return {
|
||||
'@timestamp': timestamp.toISOString(),
|
||||
line: `log text ${maybeAnsiText} [${randomText}]`,
|
||||
counter: counter.toString(),
|
||||
float: 100 * Math.random().toString(),
|
||||
label: chooseRandomElement(['val1', 'val2', 'val3']),
|
||||
level: chooseRandomElement(['info', 'info', 'error']),
|
||||
// location: chooseRandomElement(LOCATIONS),
|
||||
location: makeRandomPoint(),
|
||||
};
|
||||
}
|
||||
|
||||
async function main() {
|
||||
await elasticSetupIndexTemplate();
|
||||
const SLEEP_ANGLE_STEP = Math.PI / 200;
|
||||
let sleepAngle = 0;
|
||||
function getNextSineWaveSleepDuration() {
|
||||
sleepAngle += SLEEP_ANGLE_STEP;
|
||||
return Math.trunc(1000 * Math.abs(Math.sin(sleepAngle)));
|
||||
}
|
||||
|
||||
for (let step = 0; step < 300; step++) {
|
||||
await sleep(getNextSineWaveSleepDuration());
|
||||
const timestamp = new Date();
|
||||
const item = getRandomLogItem(step + 1, timestamp);
|
||||
elasticSendLogItem(timestamp, item);
|
||||
}
|
||||
}
|
||||
|
||||
// when running in docker, we catch the needed stop-signal, to shutdown fast
|
||||
process.on('SIGTERM', () => {
|
||||
console.log('shutdown requested');
|
||||
process.exit(0);
|
||||
});
|
||||
|
||||
main();
|
||||
@@ -1,22 +1,24 @@
|
||||
# You need to run 'sysctl -w vm.max_map_count=262144' on the host machine
|
||||
|
||||
elasticsearch-latest:
|
||||
image: docker.elastic.co/elasticsearch/elasticsearch:8.0.0-beta1
|
||||
elasticsearch:
|
||||
image: docker.elastic.co/elasticsearch/elasticsearch:${elastic_version}
|
||||
command: elasticsearch
|
||||
environment:
|
||||
- "discovery.type=single-node"
|
||||
- "xpack.license.self_generated.type=basic"
|
||||
- "xpack.security.enabled=false"
|
||||
ports:
|
||||
- "14200:9200"
|
||||
- "14300:9300"
|
||||
- "9200:9200"
|
||||
|
||||
# TODO: uncomment when https://github.com/grafana/fake-data-gen/pull/20 is merged
|
||||
# fake-elastic-latest-data:
|
||||
# image: grafana/fake-data-gen
|
||||
# links:
|
||||
# - elasticsearch-latest
|
||||
# environment:
|
||||
# FD_SERVER: elasticsearch-latest
|
||||
# FD_DATASOURCE: elasticsearch8
|
||||
# FD_PORT: 9200
|
||||
data:
|
||||
build: docker/blocks/elastic/data
|
||||
command: node /home/node/data.js http://elasticsearch:9200
|
||||
depends_on:
|
||||
- elasticsearch
|
||||
# elastic starts slowly, the first couple start of data.js
|
||||
# might fail, so we auto-restart it on failure.
|
||||
deploy:
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
delay: 5s
|
||||
max_attempts: 20 # should be enough
|
||||
@@ -1,15 +0,0 @@
|
||||
elasticsearch2:
|
||||
image: elasticsearch:2.4.1
|
||||
command: elasticsearch -Des.network.host=0.0.0.0
|
||||
ports:
|
||||
- "9200:9200"
|
||||
- "9300:9300"
|
||||
volumes:
|
||||
- ./docker/blocks/elastic2/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
|
||||
|
||||
fake-elastic-data:
|
||||
image: grafana/fake-data-gen
|
||||
environment:
|
||||
FD_SERVER: elasticsearch2
|
||||
FD_DATASOURCE: elasticsearch
|
||||
FD_PORT: 9200
|
||||
@@ -1,2 +0,0 @@
|
||||
script.inline: on
|
||||
script.indexed: on
|
||||
@@ -1,15 +0,0 @@
|
||||
elasticsearch5:
|
||||
image: elasticsearch:5.0.2
|
||||
command: elasticsearch
|
||||
ports:
|
||||
- '10200:9200'
|
||||
- '10300:9300'
|
||||
|
||||
fake-elastic5-data:
|
||||
image: grafana/fake-data-gen
|
||||
links:
|
||||
- elasticsearch5
|
||||
environment:
|
||||
FD_SERVER: elasticsearch5
|
||||
FD_DATASOURCE: elasticsearch
|
||||
FD_PORT: 9200
|
||||
@@ -1,15 +0,0 @@
|
||||
elasticsearch56:
|
||||
image: elasticsearch:5.6.16
|
||||
command: elasticsearch
|
||||
ports:
|
||||
- '13200:9200'
|
||||
- '13300:9300'
|
||||
|
||||
fake-elastic56-data:
|
||||
image: grafana/fake-data-gen
|
||||
links:
|
||||
- elasticsearch56
|
||||
environment:
|
||||
FD_SERVER: elasticsearch56
|
||||
FD_DATASOURCE: elasticsearch
|
||||
FD_PORT: 9200
|
||||
@@ -1,25 +0,0 @@
|
||||
# You need to run 'sysctl -w vm.max_map_count=262144' on the host machine
|
||||
|
||||
elasticsearch6:
|
||||
image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.7.1
|
||||
command: elasticsearch
|
||||
ports:
|
||||
- "11200:9200"
|
||||
- "11300:9300"
|
||||
|
||||
fake-elastic6-data:
|
||||
image: grafana/fake-data-gen
|
||||
links:
|
||||
- elasticsearch6
|
||||
environment:
|
||||
FD_SERVER: elasticsearch6
|
||||
FD_DATASOURCE: elasticsearch6
|
||||
FD_PORT: 9200
|
||||
|
||||
filebeat6:
|
||||
image: docker.elastic.co/beats/filebeat-oss:6.7.1
|
||||
command: filebeat -e -strict.perms=false
|
||||
volumes:
|
||||
- ./docker/blocks/elastic6/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro
|
||||
- /var/log:/var/log:ro
|
||||
- ../data/log:/var/log/grafana:ro
|
||||
@@ -1,2 +0,0 @@
|
||||
script.inline: on
|
||||
script.indexed: on
|
||||
File diff suppressed because it is too large
Load Diff
4
docs/sources/_index.md
Executable file → Normal file
4
docs/sources/_index.md
Executable file → Normal file
@@ -1,8 +1,8 @@
|
||||
+++
|
||||
title = "Grafana documentation"
|
||||
aliases = ["/docs/grafana/latest/", "/docs/grafana/latest/guides/reference/admin/", "/docs/grafana/v1.1/", "/docs/grafana/v3.1/"]
|
||||
description = "Guides, Installation and Feature Documentation"
|
||||
keywords = ["grafana", "installation", "documentation"]
|
||||
aliases = ["/docs/grafana/v1.1", "/docs/grafana/latest/guides/reference/admin", "/docs/grafana/v3.1"]
|
||||
title = "Grafana documentation"
|
||||
+++
|
||||
|
||||
# Grafana documentation
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
+++
|
||||
title = "Administration"
|
||||
aliases = ["/docs/grafana/latest/administration/"]
|
||||
description = "Administration"
|
||||
title = "Administration"
|
||||
weight = 40
|
||||
+++
|
||||
|
||||
@@ -12,3 +13,5 @@ This section includes information for Grafana administrators, team administrator
|
||||
- [Configuration]({{< relref "configuration" >}})
|
||||
- [Configure Docker image]({{< relref "configure-docker" >}})
|
||||
- [Security]({{< relref "security" >}})
|
||||
- [Database encryption]({{< relref "database-encryption" >}})
|
||||
- [Service accounts]({{< relref "service-accounts" >}})
|
||||
|
||||
19
docs/sources/administration/api-keys/_index.md
Normal file
19
docs/sources/administration/api-keys/_index.md
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/api-keys/
|
||||
description: This section contains information about API keys in Grafana
|
||||
keywords:
|
||||
- API keys
|
||||
- Service accounts
|
||||
menuTitle: API keys
|
||||
title: API keys in Grafana
|
||||
weight: 300
|
||||
---
|
||||
|
||||
# API keys in Grafana
|
||||
|
||||
API Keys can be used to interact with Grafana HTTP APIs.
|
||||
|
||||
We recommend using service accounts instead of API keys if you are on Grafana 8.5+, for more information refer to [About service accounts]({{< relref "../service-accounts/about-service-accounts.md#" >}}).
|
||||
|
||||
{{< section >}}
|
||||
14
docs/sources/administration/api-keys/about-api-keys.md
Normal file
14
docs/sources/administration/api-keys/about-api-keys.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/api-keys/about-api-keys/
|
||||
description: Learn about using API keys in Grafana
|
||||
menuTitle: About API keys
|
||||
title: About API keys in Grafana
|
||||
weight: 30
|
||||
---
|
||||
|
||||
# About API keys in Grafana
|
||||
|
||||
An API key is a randomly generated string that external systems use to interact with Grafana HTTP APIs.
|
||||
|
||||
When you create an API key, you specify a **Role** that determines the permissions associated with the API key. Role permissions control that actions the API key can perform on Grafana resources. For more information about creating API keys, refer to [Create an API key]({{< relref "./create-api-key.md#" >}}).
|
||||
36
docs/sources/administration/api-keys/create-api-key.md
Normal file
36
docs/sources/administration/api-keys/create-api-key.md
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/api-keys/create-api-key/
|
||||
description: How to create an API key in Grafana
|
||||
keywords:
|
||||
- API keys
|
||||
- Service accounts
|
||||
menuTitle: Create an API key
|
||||
title: Create an API key in Grafana
|
||||
weight: 50
|
||||
---
|
||||
|
||||
# Create an API key in Grafana
|
||||
|
||||
Create an API key when you want to manage your computed workload with a user.
|
||||
|
||||
For more information about API keys, refer to [About API keys in Grafana]({{< relref "./about-api-keys.md" >}}).
|
||||
|
||||
This topic shows you how to create an API key using the Grafana UI. You can also create an API key using the Grafana HTTP API. For more information about creating API keys via the API, refer to [Create API key via API]({{< relref "../../developers/http_api/create-api-tokens-for-org.md#how-to-create-a-new-organization-and-an-api-token" >}}).
|
||||
|
||||
## Before you begin:
|
||||
|
||||
- Ensure you have permission to create and edit API keys. For more information about permissions, refer to [About users and permissions]({{< relref "../manage-users-and-permissions/about-users-and-permissions.md#" >}}).
|
||||
|
||||
**To create an API key:**
|
||||
|
||||
1. Sign in to Grafana, hover your cursor over **Configuration** (the gear icon), and click **API Keys**.
|
||||
1. Click **New API key**.
|
||||
1. Enter a unique name for the key.
|
||||
1. In the **Role** field, select one of the following access levels you want to assign to the key.
|
||||
- **Admin**: Enables a user to use APIs at the broadest, most powerful administrative level.
|
||||
- **Editor** or **Viewer** to limit the key's users to those levels of power.
|
||||
1. In the **Time to live** field, specify how long you want the key to be valid.
|
||||
- The maximum length of time is 30 days (one month). You enter a number and a letter. Valid letters include `s` for seconds,`m` for minutes, `h` for hours, `d `for days, `w` for weeks, and `M `for month. For example, `12h` is 12 hours and `1M` is 1 month (30 days).
|
||||
- If you are unsure about how long an API key should be valid, we recommend that you choose a short duration, such as a few hours. This approach limits the risk of having API keys that are valid for a long time.
|
||||
1. Click **Add**.
|
||||
@@ -1,7 +1,8 @@
|
||||
+++
|
||||
title = "Grafana CLI"
|
||||
aliases = ["/docs/grafana/latest/administration/cli/"]
|
||||
description = "Guide to using grafana-cli"
|
||||
keywords = ["grafana", "cli", "grafana-cli", "command line interface"]
|
||||
title = "Grafana CLI"
|
||||
weight = 400
|
||||
+++
|
||||
|
||||
@@ -213,7 +214,7 @@ grafana-cli --homepath "/usr/share/grafana" admin reset-admin-password <new pass
|
||||
|
||||
If you have not lost the admin password, we recommend that you change the user password either in the User Preferences or in the Server Admin > User tab.
|
||||
|
||||
If you need to set the password in a script, then you can use the [Grafana User API]({{< relref "../http_api/user.md#change-password" >}}).
|
||||
If you need to set the password in a script, then you can use the [Grafana User API]({{< relref "../developers/http_api/user.md#change-password" >}}).
|
||||
|
||||
### Migrate data and encrypt passwords
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
+++
|
||||
title = "Configuration"
|
||||
aliases = ["/docs/grafana/latest/administration/configuration/", "/docs/grafana/latest/installation/configuration/"]
|
||||
description = "Configuration documentation"
|
||||
keywords = ["grafana", "configuration", "documentation"]
|
||||
aliases = ["/docs/grafana/latest/installation/configuration/"]
|
||||
title = "Configuration"
|
||||
weight = 150
|
||||
+++
|
||||
|
||||
@@ -135,6 +135,10 @@ Options are `production` and `development`. Default is `production`. _Do not_ ch
|
||||
Set the name of the grafana-server instance. Used in logging, internal metrics, and clustering info. Defaults to: `${HOSTNAME}`, which will be replaced with
|
||||
environment variable `HOSTNAME`, if that is empty or does not exist Grafana will try to use system calls to get the machine name.
|
||||
|
||||
### force_migration
|
||||
|
||||
Force migration will run migrations that might cause data loss. Default is `false`.
|
||||
|
||||
<hr />
|
||||
|
||||
## [paths]
|
||||
@@ -509,6 +513,10 @@ If you want to track Grafana usage via Azure Application Insights, then specify
|
||||
|
||||
<hr />
|
||||
|
||||
### enable_feedback_links
|
||||
|
||||
If set to false will remove all feedback links from the UI. Defaults to true.
|
||||
|
||||
## [security]
|
||||
|
||||
### disable_initial_admin_creation
|
||||
@@ -1173,7 +1181,7 @@ Sets a global limit on number of alert rules that can be created. Default is -1
|
||||
|
||||
## [unified_alerting]
|
||||
|
||||
For more information about the Grafana alerts, refer to [Unified Alerting]({{< relref "../alerting/unified-alerting/_index.md" >}}).
|
||||
For more information about the Grafana alerts, refer to [About Grafana alerting]({{< relref "../alerting/_index.md" >}}).
|
||||
|
||||
### enabled
|
||||
|
||||
@@ -1367,6 +1375,14 @@ Configures the Profile section.
|
||||
|
||||
Enable or disable the Profile section. Default is `enabled`.
|
||||
|
||||
## [query_history]
|
||||
|
||||
Configures Query history in Explore.
|
||||
|
||||
### enabled
|
||||
|
||||
Enable or disable the Query history. Default is `enabled`.
|
||||
|
||||
## [metrics]
|
||||
|
||||
For detailed instructions, refer to [Internal Grafana metrics]({{< relref "view-server/internal-metrics.md" >}}).
|
||||
@@ -1684,7 +1700,7 @@ Enter a comma-separated list of plugin identifiers to hide in the plugin catalog
|
||||
|
||||
The `max_connections` option specifies the maximum number of connections to the Grafana Live WebSocket endpoint per Grafana server instance. Default is `100`.
|
||||
|
||||
Refer to [Grafana Live configuration documentation]({{< relref "../live/configure-grafana-live.md" >}}) if you specify a number higher than default since this can require some operating system and infrastructure tuning.
|
||||
Refer to [Grafana Live configuration documentation]({{< relref "../live/set-up-grafana-live.md" >}}) if you specify a number higher than default since this can require some operating system and infrastructure tuning.
|
||||
|
||||
0 disables Grafana Live, -1 means unlimited connections.
|
||||
|
||||
@@ -1713,7 +1729,7 @@ allowed_origins = "https://*.example.com"
|
||||
|
||||
The high availability (HA) engine name for Grafana Live. By default, it's not set. The only possible value is "redis".
|
||||
|
||||
For more information, refer to [Configure Grafana Live HA setup]({{< relref "../live/live-ha-setup.md" >}}).
|
||||
For more information, refer to the [Configure Grafana Live HA setup]({{< relref "../live/set-up-grafana-live/#configure-grafana-live-ha-setup" >}}).
|
||||
|
||||
### ha_engine_address
|
||||
|
||||
@@ -1905,3 +1921,31 @@ default_baselayer_config = `{
|
||||
### enable_custom_baselayers
|
||||
|
||||
Set this to `true` to disable loading other custom base maps and hide them in the Grafana UI. Default is `false`.
|
||||
|
||||
## [dashboard_previews]
|
||||
|
||||
### [crawler]
|
||||
|
||||
> **Note:** This feature is available in Grafana v9.0 and later versions.
|
||||
|
||||
#### thread_count
|
||||
|
||||
Number of dashboards rendered in parallel. Default is 6
|
||||
|
||||
#### rendering_timeout
|
||||
|
||||
Timeout passed down to the Image Renderer plugin. It is used in two separate places within a single rendering request - during the initial navigation to the dashboard, and when waiting for all the panels to load. Default is 20s.
|
||||
|
||||
#### max_crawl_duration
|
||||
|
||||
Maximum duration of a single crawl. Default is 1h.
|
||||
|
||||
#### scheduler_interval
|
||||
|
||||
Minimum interval between two subsequent scheduler runs. Default is 12h.
|
||||
|
||||
Refer to the [dashboards previews]({{< relref "../dashboards/previews.md" >}}) documentation for detailed instructions.
|
||||
|
||||
## [rbac]
|
||||
|
||||
Refer to [Role-based access control]({{< relref "../enterprise/access-control/about-rbac.md" >}}) for more information.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
+++
|
||||
title = "Configure Grafana Docker image"
|
||||
aliases = ["/docs/grafana/latest/administration/configure-docker/", "/docs/grafana/latest/installation/configure-docker/"]
|
||||
description = "Guide for configuring the Grafana Docker image"
|
||||
keywords = ["grafana", "configuration", "documentation", "docker"]
|
||||
aliases = ["/docs/grafana/latest/installation/configure-docker/"]
|
||||
title = "Configure Grafana Docker image"
|
||||
weight = 200
|
||||
+++
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
+++
|
||||
title = "Database encryption"
|
||||
aliases = ["/docs/grafana/latest/administration/database-encryption/"]
|
||||
description = "Grafana database encryption"
|
||||
keywords = ["grafana", "database", "encryption", "envelope encryption", "documentation"]
|
||||
aliases = [""]
|
||||
title = "Database encryption"
|
||||
weight = 450
|
||||
+++
|
||||
|
||||
@@ -12,21 +12,91 @@ Grafana’s database contains secrets, which are used to query data sources, sen
|
||||
|
||||
Grafana encrypts these secrets before they are written to the database, by using a symmetric-key encryption algorithm called Advanced Encryption Standard (AES), and using a [secret key]({{< relref "../administration/configuration/#secret_key" >}}) that you can change when you configure a new Grafana instance.
|
||||
|
||||
You can choose to use [envelope encryption](#envelope-encryption), which adds a layer of indirection to the encryption process.
|
||||
Since Grafana v9.0, it uses [envelope encryption](#envelope-encryption) by default, which adds a layer of indirection to the
|
||||
encryption process that represents an [**implicit breaking change**](#implicit-breaking-change) for older versions of Grafana.
|
||||
|
||||
For further details about how to operate a Grafana instance with envelope encryption, see the [Operational work](#operational work) section below.
|
||||
|
||||
> **Note:** In Grafana Enterprise, you can also choose to [encrypt secrets in AES-GCM mode]({{< relref "../enterprise/enterprise-encryption/#changing-your-encryption-mode-to-aes-gcm" >}}) instead of AES-CFB.
|
||||
|
||||
# Envelope encryption
|
||||
|
||||
In Grafana, you can choose to use envelope encryption. Instead of
|
||||
encrypting all secrets with a single key, Grafana uses a set of keys
|
||||
called data encryption keys (DEKs) to encrypt them. These data
|
||||
encryption keys are themselves encrypted with a single key encryption
|
||||
key (KEK).
|
||||
> **Note:** Since Grafana v9.0, you can turn it off by adding the term `disableEnvelopeEncryption` to the list of
|
||||
> feature toggles in your [Grafana configuration]({{< relref "../administration/configuration/#feature_toggles" >}}).
|
||||
|
||||
To turn on envelope encryption, add the term `envelopeEncryption` to the list of feature toggles in your [Grafana configuration]({{< relref "../administration/configuration/#feature_toggles" >}}).
|
||||
Instead of encrypting all secrets with a single key, Grafana uses a set of keys called data encryption keys (DEKs) to
|
||||
encrypt them. These data encryption keys are themselves encrypted with a single key encryption key (KEK), configured
|
||||
through the `secret_key` attribute in your
|
||||
[Grafana configuration]({{< relref "../administration/configuration/#secret_key" >}}) or with a
|
||||
[KMS integration](#kms-integration).
|
||||
|
||||
> **Note:** Avoid turning off envelope encryption once you have turned it on, and back up your database before turning it on for the first time. If you turn envelope encryption on, create new secrets or update your existing secrets (for example, by creating a new data source or alert notification channel), and then turn envelope encryption off, then those data sources, alert notification channels, and other resources using envelope encryption will stop working and you will experience errors. This is because the secrets encrypted with envelope encryption cannot be decrypted or used by Grafana when envelope encryption is turned off.
|
||||
## Implicit breaking change
|
||||
|
||||
As stated above, envelope encryption represents an implicit breaking change because it changes the way secrets stored
|
||||
in the Grafana database are encrypted. That means Grafana administrators will be able to transition to Grafana v9.0
|
||||
with no action required from the database encryption perspective, but will need to be extremely careful if they need
|
||||
to roll back to a previous version (e.g. Grafana v8.5) after being updated, because secrets created or modified after upgrade
|
||||
the update to Grafana v9.0 won't be decryptable in previous versions.
|
||||
|
||||
Fortunately though, envelope encryption was added in Grafana v8.3 behind a feature toggle. So, in case of emergency,
|
||||
Grafana administrators will be able to downgrade up to Grafana v8.3 and enable envelope encryption as a workaround.
|
||||
|
||||
> **Note:** In Grafana releases between v8.3 and v8.5, you can turn envelope encryption on by adding the term
|
||||
> `envelopeEncryption` to the list of feature toggles in your
|
||||
> [Grafana configuration]({{< relref "../administration/configuration/#feature_toggles" >}}).
|
||||
|
||||
# Operational work
|
||||
|
||||
From the database encryption perspective, there are several operations that Grafana administrator may want to perform:
|
||||
|
||||
- [**Re-encrypt secrets**](#re-encrypt-secrets): re-encrypt secrets with envelope encryption and a fresh data key.
|
||||
- [**Roll back secrets**](#roll-back-secrets): decrypt secrets encrypted with envelope encryption and re-encrypt them with legacy encryption.
|
||||
- [**Re-encrypt data keys**](#re-encrypt-data-keys): re-encrypt data keys with a fresh key encryption key and a [KMS integration](#kms-integration).
|
||||
- [**Rotate data keys**](#rotate-data-keys): disable active data keys and stop using them for encryption in favor of a fresh one.
|
||||
|
||||
Find more details about each of those below.
|
||||
|
||||
## Re-encrypt secrets
|
||||
|
||||
Secrets re-encryption can be performed when a Grafana administrator wants to either:
|
||||
|
||||
- Move forward already existing secrets' encryption from legacy to envelope encryption.
|
||||
- Re-encrypt secrets after a [data keys rotation](#rotate-data-keys).
|
||||
|
||||
> **Note:** This operation is available through Grafana CLI by running `grafana-cli admin secrets-migration re-encrypt`
|
||||
> command. It's safe to run more than once. Recommended to run under maintenance mode.
|
||||
|
||||
## Roll back secrets
|
||||
|
||||
Used to roll back secrets encrypted with envelope encryption to legacy encryption. It can be used to downgrade to
|
||||
a Grafana version earlier than Grafana v9.0 after an unsuccessful upgrade.
|
||||
|
||||
> **Note:** This operation is available through Grafana CLI by running `grafana-cli admin secrets-migration rollback`
|
||||
> command. It's safe to run more than once. Recommended to run under maintenance mode.
|
||||
|
||||
## Re-encrypt data keys
|
||||
|
||||
Used to re-encrypt data keys encrypted with a specific key encryption key (KEK). It can be used to either re-encrypt
|
||||
existing data keys with a new key encryption key version (see [KMS integration](#kms-integration) rotation) or to
|
||||
re-encrypt them with a completely different key encryption key.
|
||||
|
||||
> **Note:** This operation is available through Grafana CLI by running `grafana-cli admin secrets-migration re-encrypt-data-keys`
|
||||
> command. It's safe to run more than once. Recommended to run under maintenance mode.
|
||||
|
||||
## Rotate data keys
|
||||
|
||||
Data keys rotation can be performed to disable the active data key and therefore stop using them for encryption operations.
|
||||
For high-availability setups, you may need to wait until the data keys cache's TTL (time-to-live) expires to ensure that all
|
||||
rotated data keys are no longer being used for encryption operations.
|
||||
|
||||
New data keys for encryption operations are generated on-demand.
|
||||
|
||||
> **Note:** It does not imply secrets re-encryption. Therefore, rotated data keys will continue being used to decrypt
|
||||
> those secrets still encrypted with it. Look at [secrets re-encryption](#re-encrypt-secrets) to completely stop using
|
||||
> rotated data keys for both encryption and decryption.
|
||||
|
||||
> **Note:** This operation is available through Grafana [Admin API]({{< relref "../developers/configuration/admin/#rotate-data-encryption-keys" >}}).
|
||||
> It's safe to run more than once.
|
||||
|
||||
# KMS integration
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
+++
|
||||
title = "Jaeger instrumentation"
|
||||
aliases = ["/docs/grafana/latest/administration/jaeger-instrumentation/"]
|
||||
description = "Jaeger traces emitted and propagation by Grafana"
|
||||
keywords = ["grafana", "jaeger", "tracing"]
|
||||
title = "Jaeger instrumentation"
|
||||
weight = 900
|
||||
+++
|
||||
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
---
|
||||
title: 'Manage organizations'
|
||||
menuTitle: 'Manage organizations'
|
||||
description: 'Describes how to use organizations to isolate dashboard to users and teams.'
|
||||
weight: 300
|
||||
aliases:
|
||||
[
|
||||
docs/grafana/latest/manage-users/server-admin/_index.md,
|
||||
docs/grafana/latest/manage-users/server-admin/server-admin-manage-orgs.md,
|
||||
]
|
||||
- /docs/grafana/latest/administration/manage-organizations/
|
||||
- /docs/grafana/latest/manage-users/server-admin/
|
||||
- /docs/grafana/latest/manage-users/server-admin/server-admin-manage-orgs/
|
||||
description: Describes how to use organizations to isolate dashboard to users and
|
||||
teams.
|
||||
keywords:
|
||||
- organizations
|
||||
- dashboards
|
||||
menuTitle: Manage organizations
|
||||
title: Manage organizations
|
||||
weight: 300
|
||||
---
|
||||
|
||||
# Manage organizations
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
+++
|
||||
title = "Manage user preferences"
|
||||
weight = 400
|
||||
aliases = ["/docs/grafana/latest/administration/change-your-password/", "/docs/grafana/latest/administration/manage-user-preferences/"]
|
||||
description = "Learn how to update your user preferences and switch organizations"
|
||||
keywords = ["password", "change", "organization", "change"]
|
||||
aliases = ["/docs/grafana/latest/administration/change-your-password/", "docs/sources/administration/manage-user-preferences/_index.md"]
|
||||
title = "Manage user preferences"
|
||||
weight = 400
|
||||
+++
|
||||
|
||||
# Manage user preferences
|
||||
@@ -16,7 +16,7 @@ You can also view important information about your account, such as the organiza
|
||||
|
||||
You can change your Grafana password at any time.
|
||||
|
||||
> **Note**: If your Grafana instance uses an <!--[external authentication provider]({{< relref "../../auth/_index.md">}})--> external authentication provider, then you might not be able to change your password in Grafana. Contact your Grafana administrator for more information.
|
||||
> **Note**: If your Grafana instance uses an <!--[external authentication provider]({{< relref "../../auth/_index.md" >}})--> external authentication provider, then you might not be able to change your password in Grafana. Contact your Grafana administrator for more information.
|
||||
|
||||
**To change your password**:
|
||||
|
||||
@@ -41,7 +41,7 @@ Your profile includes your name, user name, and email address, which you can upd
|
||||
|
||||
## Edit your preferences
|
||||
|
||||
You can choose the way you would like data to appear in Grafana, including the UI theme, home dashboard, timezone, and first day of the week. You can set these preferences for your own account, for a team, for an organization, or Grafana-wide using configuration settings. Your user preferences take precedence over team, organization, and Grafana default preferences. For more information, see [Grafana preferences]({{< relref "../../administration/preferences/_index.md">}}).
|
||||
You can choose the way you would like data to appear in Grafana, including the UI theme, home dashboard, timezone, and first day of the week. You can set these preferences for your own account, for a team, for an organization, or Grafana-wide using configuration settings. Your user preferences take precedence over team, organization, and Grafana default preferences. For more information, see [Grafana preferences]({{< relref "../../administration/preferences/_index.md" >}}).
|
||||
|
||||
- **UI theme** determines whether Grafana appears in light mode or dark mode. By default, UI theme is set to dark mode.
|
||||
- **Home dashboard** refers to the dashboard you see when you sign in to Grafana. By default, this is set to the Home dashboard.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/"]
|
||||
title = "Manage users and permissions"
|
||||
aliases = ["docs/sources/administration/manage-users-and-permissions/_index.md"]
|
||||
weight = 200
|
||||
+++
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/about-users-and-permissions/", "/docs/grafana/latest/manage-users/", "/docs/grafana/latest/permissions/", "/docs/grafana/latest/permissions/organization_roles/", "/docs/grafana/latest/permissions/overview/"]
|
||||
title = "About users and permissions"
|
||||
aliases = ["docs/sources/manage-users/_index.md", "docs/sources/administration/manage-users-and-permissions/about-users-and-permissions.md", "/docs/grafana/latest/permissions/overview/", "docs/sources/permissions/_index.md", "docs/sources/permissions/organization_roles.md"]
|
||||
weight = 100
|
||||
+++
|
||||
|
||||
@@ -14,12 +14,14 @@ You can assign a user one of three types of permissions:
|
||||
- Organization permissions: Manage access to dashboards, alerts, plugins, teams, playlists, and other resources for an entire organization. The available roles are Viewer, Editor, and Admin.
|
||||
- Dashboard and folder permission: Manage access to dashboards and folders
|
||||
|
||||
> **Note**: If you are running Grafana Enterprise, you can also control access to data sources and use fine-grained access control to grant read and write permissions for specific resources. For more information about access control options available with Grafana Enterprise, refer to [Grafana Enterprise user permissions features](#grafana-enterprise-user-permissions-features).
|
||||
> **Note**: If you are running Grafana Enterprise, you can also control access to data sources and use role-based access control to grant user access to read and write permissions to specific Grafana resources. For more information about access control options available with Grafana Enterprise, refer to [Grafana Enterprise user permissions features](#grafana-enterprise-user-permissions-features).
|
||||
|
||||
## Grafana server administrators
|
||||
|
||||
A Grafana server administrator manages server-wide settings and access to resources such as organizations, users, and licenses. Grafana includes a default server administrator that you can use to manage all of Grafana, or you can divide that responsibility among other server administrators that you create.
|
||||
|
||||
> **Note:** The server administrator role does not mean that the user is also a Grafana [organization administrator]({{< ref "#organization-roles" >}}).
|
||||
|
||||
A server administrator can perform the following tasks:
|
||||
|
||||
- Manage users and permissions
|
||||
@@ -50,7 +52,7 @@ Permissions assigned to a user within an organization control the extent to whic
|
||||
|
||||
### Organization roles
|
||||
|
||||
Organization role-based permissions are global, which means that each permission level applies to all Grafana resources within an given organization. For example, an editor can see and update _all_ dashboards in an organization, unless those dashboards have been specifically restricted using [dashboard permissions]({{< relref "manage-dashboard-permissions/_index.md">}}).
|
||||
Organization role-based permissions are global, which means that each permission level applies to all Grafana resources within an given organization. For example, an editor can see and update _all_ dashboards in an organization, unless those dashboards have been specifically restricted using [dashboard permissions]({{< relref "manage-dashboard-permissions/_index.md" >}}).
|
||||
|
||||
Grafana uses the following roles to control user access:
|
||||
|
||||
@@ -133,7 +135,7 @@ While Grafana OSS includes a robust set of permissions and settings that you can
|
||||
Grafana Enterprise provides the following permissions-related features:
|
||||
|
||||
- Data source permissions
|
||||
- Fine-grained access control
|
||||
- Role-based access control (RBAC)
|
||||
|
||||
### Data source permissions
|
||||
|
||||
@@ -141,11 +143,11 @@ By default, a user can query any data source in an organization, even if the dat
|
||||
|
||||
Data source permissions enable you to restrict data source query permissions to specific **Users** and **Teams**. For more information about assigning data source permissions, refer to [Data source permissions]({{< relref "../../enterprise/datasource_permissions.md" >}}).
|
||||
|
||||
### Fine-grained access control
|
||||
### Role-based access control
|
||||
|
||||
Fine-grained access control provides you a way of granting, changing, and revoking user read and write access to Grafana resources, such as users, reports, and authentication.
|
||||
RBAC provides you a way of granting, changing, and revoking user read and write access to Grafana resources, such as users, reports, and authentication.
|
||||
|
||||
For more information about fine-grained access control, refer to [Fine-grained access control]({{< relref "../../enterprise/access-control" >}}).
|
||||
For more information about RBAC, refer to [Role-based access control]({{< relref "../../enterprise/access-control" >}}).
|
||||
|
||||
### Learn more
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-dashboard-permissions/", "/docs/grafana/latest/permissions/dashboard_folder_permissions/"]
|
||||
title = "Manage dashboard permissions"
|
||||
aliases = ["/docs/grafana/latest/permissions/dashboard_folder_permissions/", "docs/sources/administration/manage-users-and-permissions/manage-dashboard-permissions/_index.md"]
|
||||
weight = 500
|
||||
+++
|
||||
|
||||
@@ -8,7 +8,7 @@ weight = 500
|
||||
|
||||
Dashboard and dasboard folder permissions enable you to grant a viewer the ability to edit and save dashboard changes, or limit an editor's permission to modify a dashboard.
|
||||
|
||||
For more information about dashboard permissions, refer to [Dashboard permissions]({{< relref "../about-users-and-permissions/#dashboard-permissions">}}).
|
||||
For more information about dashboard permissions, refer to [Dashboard permissions]({{< relref "../about-users-and-permissions/#dashboard-permissions" >}}).
|
||||
|
||||
## Grant dashboard folder permissions
|
||||
|
||||
@@ -17,7 +17,7 @@ When you grant user permissions for folders, that setting applies to all dashboa
|
||||
### Before you begin
|
||||
|
||||
- Ensure you have organization administrator privileges
|
||||
- Identify the dashboard folder permissions you want to modify and the users or teams to which you want to grant access. For more information about dashboard permissions, refer to [Dashboard permissions]({{< relref "../about-users-and-permissions/#dashboard-permissions">}}).
|
||||
- Identify the dashboard folder permissions you want to modify and the users or teams to which you want to grant access. For more information about dashboard permissions, refer to [Dashboard permissions]({{< relref "../about-users-and-permissions/#dashboard-permissions" >}}).
|
||||
|
||||
**To grant dashboard folder permissions**:
|
||||
|
||||
@@ -58,12 +58,14 @@ Grant dashboard permissions when you want to restrict or enhance dashboard acces
|
||||
1. Select the user or team.
|
||||
1. Select the permission and click **Save**.
|
||||
|
||||
## Enable viewers to preview dashboards and use Explore
|
||||
## Enable viewers to edit (but not save) dashboards and use Explore
|
||||
|
||||
By default, the viewer organization role does not allow viewers to create dashboards or use the Explore feature. However, by modifying a configuration setting you can allow viewers to create and preview (but not save) dashboards, and use the Explore feature.
|
||||
By default, the viewer organization role does not allow viewers to create dashboards or use the Explore feature. However, by modifying a configuration setting, you can allow viewers to edit a panel and make changes to a dashboard but not save those changes. This setting also enables viewers to use the Explore feature.
|
||||
|
||||
This modification is useful for public Grafana installations where you want anonymous users to be able to edit panels and queries but not save or create new dashboards.
|
||||
|
||||
> **Note**: If you use Grafana Enterprise and customize users' permissions using RBAC, the RBAC permissions override the functionality enabled by the `viewers_can_edit` flag.
|
||||
|
||||
### Before you begin
|
||||
|
||||
- Ensure that you have access to the Grafana server
|
||||
@@ -72,7 +74,7 @@ This modification is useful for public Grafana installations where you want anon
|
||||
|
||||
1. Open the Grafana configuration file.
|
||||
|
||||
For more information about the Grafana configuration file and its location, refer to [Configuration]({{< relref "../../../administration/configuration">}}).
|
||||
For more information about the Grafana configuration file and its location, refer to [Configuration]({{< relref "../../../administration/configuration" >}}).
|
||||
|
||||
1. Locate the `viewers_can_edit` parameter.
|
||||
1. Set the `viewers_can_edit` value to `true`.
|
||||
@@ -80,7 +82,7 @@ This modification is useful for public Grafana installations where you want anon
|
||||
|
||||
## Edit dashboard permissions
|
||||
|
||||
Edit dashboard permissions when you are want to enhance or restrict a user's access to a dashboard. For more information about dashboard permissions, refer to [Dashboard permissions]({{< relref "../about-users-and-permissions/#dashboard-permissions">}}).
|
||||
Edit dashboard permissions when you are want to enhance or restrict a user's access to a dashboard. For more information about dashboard permissions, refer to [Dashboard permissions]({{< relref "../about-users-and-permissions/#dashboard-permissions" >}}).
|
||||
|
||||
### Before you begin
|
||||
|
||||
@@ -140,4 +142,4 @@ Dashboard permissions settings:
|
||||
|
||||
Result: You receive an error message that cannot override a higher permission with a lower permission in the same dashboard. User1 has administrator permissions.
|
||||
|
||||
> Refer to [Fine-grained access Control]({{< relref "../../../enterprise/access-control/_index.md" >}}) in Grafana Enterprise to understand how to use fine-grained permissions to restrict access to dashboards, folders, administrative functions, and other resources.
|
||||
> Refer to [Role-based access Control]({{< relref "../../../enterprise/access-control/_index.md" >}}) in Grafana Enterprise to understand how to use RBAC permissions to restrict access to dashboards, folders, administrative functions, and other resources.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/", "/docs/grafana/latest/manage-users/org-admin/"]
|
||||
title = "Manage users in an organization"
|
||||
aliases = ["docs/sources/manage-users/org-admin/index.md", "docs/sources/administration/manage-users-and-permissions/manage-org-users/_index.md"]
|
||||
weight = 400
|
||||
+++
|
||||
|
||||
@@ -8,6 +8,6 @@ weight = 400
|
||||
|
||||
Organization administrators can invite users to join their organization. Organization users have access to organization resources based on their role, which is **Admin**, **Editor**, or **Viewer**. Permissions associated with each role determine the tasks a user can perform in the system.
|
||||
|
||||
For more information about organization user permissions, refer to [Organization users and permissions]({{< relref "../about-users-and-permissions/#organization-users-and-permissions">}}).
|
||||
For more information about organization user permissions, refer to [Organization users and permissions]({{< relref "../about-users-and-permissions/#organization-users-and-permissions" >}}).
|
||||
|
||||
{{< section >}}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/change-user-org-permissions/"]
|
||||
title = "Change a user's organization permissions"
|
||||
aliases = ["docs/sources/administration/manage-users-and-permissions/manage-org-users/change-user-org-permissions.md"]
|
||||
weight = 30
|
||||
+++
|
||||
|
||||
# Change a user's organization permissions
|
||||
|
||||
Update user permissions when you want to enhance or restrict a user's access to organization resources. For more information about organization permissions, refer to [Organization roles]({{< relref "../about-users-and-permissions/#organization-roles">}}).
|
||||
Update user permissions when you want to enhance or restrict a user's access to organization resources. For more information about organization permissions, refer to [Organization roles]({{< relref "../about-users-and-permissions/#organization-roles" >}}).
|
||||
|
||||
## Before you begin
|
||||
|
||||
@@ -24,4 +24,4 @@ Update user permissions when you want to enhance or restrict a user's access to
|
||||
1. Select the role that you want to assign.
|
||||
1. Click **Update**.
|
||||
|
||||
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions, you can also [change a user's organization permissions]({{< relref "../../manage-users-and-permissions/manage-server-users/change-user-org-permissions.md" >}}) in the Server Admin section.
|
||||
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can also [change a user's organization permissions]({{< relref "../../manage-users-and-permissions/manage-server-users/change-user-org-permissions.md" >}}) in the Server Admin section.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/invite-user-join-org/"]
|
||||
title = "Invite a user to join an organization"
|
||||
aliases = ["docs/sources/administration/manage-users-and-permissions/manage-org-users/invite-user-join-org.md"]
|
||||
weight = 10
|
||||
+++
|
||||
|
||||
@@ -11,13 +11,13 @@ When you invite users to join an organization, you assign the **Admin**, **Edito
|
||||
- If you know that the user already has access Grafana and you know their user name, then you issue an invitation by entering their user name.
|
||||
- If the user is new to Grafana, then use their email address to issue an invitation. The system automatically creates the user account on first sign in.
|
||||
|
||||
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions, you can also manually [add a user to an organization]({{< relref "../../manage-users-and-permissions/manage-server-users/add-remove-user-to-org.md" >}}).
|
||||
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can also manually [add a user to an organization]({{< relref "../../manage-users-and-permissions/manage-server-users/add-remove-user-to-org.md" >}}).
|
||||
|
||||
## Before you begin
|
||||
|
||||
- Ensure you have organization administrator privileges.
|
||||
- If the user already has access to Grafana, obtain their user name.
|
||||
- Determine the permissions you want to assign to the user. For more information about organization permissions, refer to [Organization roles]({{< relref "../about-users-and-permissions/#organization-roles">}}).
|
||||
- Determine the permissions you want to assign to the user. For more information about organization permissions, refer to [Organization roles]({{< relref "../about-users-and-permissions/#organization-roles" >}}).
|
||||
|
||||
**To invite or add an existing user account to your organization**:
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/manage-pending-invites/"]
|
||||
title = "Manage a pending invitation"
|
||||
aliases = ["docs/sources/administration/manage-users-and-permissions/manage-org-users/manage-pending-invites.md"]
|
||||
weight = 20
|
||||
+++
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/remove-user-from-org/"]
|
||||
title = "Remove a user from an organization"
|
||||
aliases = ["docs/sources/administration/manage-users-and-permissions/manage-org-users/remove-user-from-org.md"]
|
||||
weight = 40
|
||||
+++
|
||||
|
||||
@@ -24,4 +24,4 @@ This action does not remove the user account from the Grafana server.
|
||||
|
||||
1. Click the red **X** to remove the user from the organization.
|
||||
|
||||
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions, you can also [remove a user from an organization]({{< relref "../../manage-users-and-permissions/manage-server-users/add-remove-user-to-org.md#remove-a-user-from-an-organization" >}}) on the Users page of the Server Admin section.
|
||||
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can also [remove a user from an organization]({{< relref "../../manage-users-and-permissions/manage-server-users/add-remove-user-to-org.md#remove-a-user-from-an-organization" >}}) on the Users page of the Server Admin section.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/view-list-org-users/"]
|
||||
title = "View a list of organization users"
|
||||
aliases = ["docs/sources/administration/manage-users-and-permissions/manage-org-users/view-list-org-users.md"]
|
||||
weight = 50
|
||||
+++
|
||||
|
||||
@@ -19,4 +19,4 @@ You can see a list of users with accounts in your Grafana organization. If neces
|
||||
|
||||

|
||||
|
||||
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions, you can also [view a global list of users]({{< relref "../../manage-users-and-permissions/manage-server-users/view-list-users.md" >}}) in the Server Admin section of Grafana.
|
||||
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can also [view a global list of users]({{< relref "../../manage-users-and-permissions/manage-server-users/view-list-users.md" >}}) in the Server Admin section of Grafana.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/", "/docs/grafana/latest/manage-users/server-admin/", "/docs/grafana/latest/manage-users/server-admin/server-admin-manage-users/"]
|
||||
title = "Manage users globally"
|
||||
aliases = ["docs/sources/manage-users/server-admin/_index.md", "docs/sources/manage-users/server-admin/server-admin-manage-users.md", "docs/sources/administration/manage-users-and-permissions/manage-server-users/_index.md"]
|
||||
weight = 300
|
||||
+++
|
||||
|
||||
@@ -8,10 +8,10 @@ weight = 300
|
||||
|
||||
A _user_ is defined as any individual who can log in to Grafana. Each user is associated with a _role_ that includes _permissions_. Permissions determine the tasks a user can perform in the system.
|
||||
|
||||
If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions in Grafana, you can manage all users for a Grafana instance in the Server Admin section:
|
||||
If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions in Grafana, you can manage all users for a Grafana instance in the Server Admin section:
|
||||
|
||||
{{< section >}}
|
||||
|
||||
If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles">}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions, refer to [Manage users in a organization]({{< relref "../../manage-users-and-permissions/manage-org-users/_index.md" >}}).
|
||||
If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, refer to [Manage users in a organization]({{< relref "../../manage-users-and-permissions/manage-org-users/_index.md" >}}).
|
||||
|
||||
For more information about users and permissions, refer to [About users and permissions]({{< relref "../about-users-and-permissions">}}).
|
||||
For more information about users and permissions, refer to [About users and permissions]({{< relref "../about-users-and-permissions" >}}).
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-remove-user-to-org/", "/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user-to-org/"]
|
||||
title = "Add or remove a user from an organization"
|
||||
aliases = ["docs/sources/administration/manage-users-and-permissions/manage-server-users/add-user-to-org.md"]
|
||||
weight = 30
|
||||
+++
|
||||
|
||||
@@ -12,8 +12,8 @@ You are required to specify an Admin role for each organization. The first user
|
||||
|
||||
## Before you begin
|
||||
|
||||
- [Create an organization]({{< relref "../../manage-organizations/_index.md">}})
|
||||
- [Add a user]({{< relref "./add-user.md">}}) to Grafana
|
||||
- [Create an organization]({{< relref "../../manage-organizations/_index.md" >}})
|
||||
- [Add a user]({{< relref "./add-user.md" >}}) to Grafana
|
||||
- Ensure you have Grafana server administrator privileges
|
||||
|
||||
**To add a user to an organization**:
|
||||
@@ -24,13 +24,13 @@ You are required to specify an Admin role for each organization. The first user
|
||||
1. In the **Organizations** section, click **Add user to organization**.
|
||||
1. Select an organization and a role.
|
||||
|
||||
For more information about user permissions, refer to [Organization roles]({{< relref "../about-users-and-permissions/#organization-roles">}}).
|
||||
For more information about user permissions, refer to [Organization roles]({{< relref "../about-users-and-permissions/#organization-roles" >}}).
|
||||
|
||||
1. Click **Add to organization**.
|
||||
|
||||
The next time the user signs in, they will be able to navigate to their new organization using the Switch Organizations option in the user profile menu.
|
||||
|
||||
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles">}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions, you can still [invite a user to join an organization]({{< relref "../../manage-users-and-permissions/manage-org-users/invite-user-join-org.md" >}}).
|
||||
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can still [invite a user to join an organization]({{< relref "../../manage-users-and-permissions/manage-org-users/invite-user-join-org.md" >}}).
|
||||
|
||||
# Remove a user from an organization
|
||||
|
||||
@@ -48,4 +48,4 @@ Remove a user from an organization when they no longer require access to the das
|
||||
1. In the **Organization** section, click **Remove from organization** next to the organization from which you want to remove the user.
|
||||
1. Click **Confirm removal**.
|
||||
|
||||
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles">}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions, you can still [remove a user from an organization]({{< relref "../../manage-users-and-permissions/manage-org-users/remove-user-from-org.md" >}}) in the Users section of organization configuration.
|
||||
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can still [remove a user from an organization]({{< relref "../../manage-users-and-permissions/manage-org-users/remove-user-from-org.md" >}}) in the Users section of organization configuration.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user/"]
|
||||
title = "Add a user"
|
||||
aliases = ["docs/sources/administration/manage-users-and-permissions/manage-server-users/add-user.md"]
|
||||
weight = 10
|
||||
+++
|
||||
|
||||
@@ -8,7 +8,7 @@ weight = 10
|
||||
|
||||
Add users when you want to manually provide individuals with access to Grafana.
|
||||
|
||||
When you create a user using this method, you must create their password. The user does not receive a notification by email. To invite a user to Grafana and allow them to create their own password, [invite a user to join an organization]({{< relref "../manage-org-users/invite-user-join-org.md">}}).
|
||||
When you create a user using this method, you must create their password. The user does not receive a notification by email. To invite a user to Grafana and allow them to create their own password, [invite a user to join an organization]({{< relref "../manage-org-users/invite-user-join-org.md" >}}).
|
||||
|
||||
When you configure advanced authentication using Oauth, SAML, LDAP, or the Auth proxy, users are created automatically.
|
||||
|
||||
@@ -23,6 +23,6 @@ When you configure advanced authentication using Oauth, SAML, LDAP, or the Auth
|
||||
1. Click **New user**.
|
||||
1. Complete the fields and click **Create user**.
|
||||
|
||||
When you create a user, the system assigns the user viewer permissions in a default organization, which you can change. You can now [add a user to a second organization]({{< relref "./add-remove-user-to-org.md">}}).
|
||||
When you create a user, the system assigns the user viewer permissions in a default organization, which you can change. You can now [add a user to a second organization]({{< relref "./add-remove-user-to-org.md" >}}).
|
||||
|
||||
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles">}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions, you can still add users by [inviting a user to join an organization]({{< relref "../../manage-users-and-permissions/manage-org-users/invite-user-join-org.md" >}}).
|
||||
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can still add users by [inviting a user to join an organization]({{< relref "../../manage-users-and-permissions/manage-org-users/invite-user-join-org.md" >}}).
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user