This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git


The following commit(s) were added to refs/heads/master by this push:
     new 8fefca2226 JAMES-4052 Document OpenSearch dashboard set up (#2360)
8fefca2226 is described below

commit 8fefca2226fdd1843eb7f84477430249568c563f
Author: Benoit TELLIER <btell...@linagora.com>
AuthorDate: Thu Jul 25 23:42:49 2024 +0200

    JAMES-4052 Document OpenSearch dashboard set up (#2360)
---
 .../servers/pages/distributed/operate/index.adoc   |   2 +
 examples/README.md                                 |   6 +-
 examples/opensearch-dahsboard/README.md            | 129 +++++++++++++++++++++
 examples/opensearch-dahsboard/docker-compose.yml   |  15 +++
 examples/opensearch-dahsboard/img.png              | Bin 0 -> 35390 bytes
 examples/opensearch-dahsboard/img_1.png            | Bin 0 -> 26465 bytes
 examples/opensearch-dahsboard/img_10.png           | Bin 0 -> 29796 bytes
 examples/opensearch-dahsboard/img_11.png           | Bin 0 -> 18361 bytes
 examples/opensearch-dahsboard/img_12.png           | Bin 0 -> 33262 bytes
 examples/opensearch-dahsboard/img_13.png           | Bin 0 -> 38839 bytes
 examples/opensearch-dahsboard/img_14.png           | Bin 0 -> 44316 bytes
 examples/opensearch-dahsboard/img_15.png           | Bin 0 -> 15756 bytes
 examples/opensearch-dahsboard/img_2.png            | Bin 0 -> 30891 bytes
 examples/opensearch-dahsboard/img_3.png            | Bin 0 -> 30498 bytes
 examples/opensearch-dahsboard/img_4.png            | Bin 0 -> 20059 bytes
 examples/opensearch-dahsboard/img_5.png            | Bin 0 -> 14701 bytes
 examples/opensearch-dahsboard/img_6.png            | Bin 0 -> 9261 bytes
 examples/opensearch-dahsboard/img_7.png            | Bin 0 -> 10371 bytes
 examples/opensearch-dahsboard/img_8.png            | Bin 0 -> 14871 bytes
 examples/opensearch-dahsboard/img_9.png            | Bin 0 -> 14786 bytes
 .../opensearch-dahsboard/james-dashboard.ndjson    |  26 +++++
 21 files changed, 177 insertions(+), 1 deletion(-)

diff --git a/docs/modules/servers/pages/distributed/operate/index.adoc 
b/docs/modules/servers/pages/distributed/operate/index.adoc
index 5f73eaa7c3..bcad596cde 100644
--- a/docs/modules/servers/pages/distributed/operate/index.adoc
+++ b/docs/modules/servers/pages/distributed/operate/index.adoc
@@ -26,6 +26,8 @@ We also included a guide for 
xref:distributed/operate/migrating.adoc[migrating e
 
 Read more about xref:distributed/operate/cassandra-migration.adoc[Cassandra 
data migration].
 
+Additional functional visualisations can be set up using OpenSearch dashboards 
as documented in 
link:https://github.com/apache/james-project/tree/master/examples/opensearch-dahsboard[this
 example].
+
 == Upgrading
 
 This section sums up and links upgrade instructions for people willing to 
upgrade their Distributed server to newer versions.
diff --git a/examples/README.md b/examples/README.md
index 484dcfa76d..bf087fdaf9 100644
--- a/examples/README.md
+++ b/examples/README.md
@@ -92,4 +92,8 @@ Of course alternative technologies can be used.
 ## HAProxy set up example
 
 [This example](proxy-smtp) demonstrate how to set up the proxy protocol to 
preserve client origin IP address despite the use
-of a proxy.
\ No newline at end of file
+of a proxy.
+
+## OpenSearch dashboards
+
+[This example](opensearch-dahsboard) demonstrate how to set up interesting 
visualizations using [OpenSearch 
dashboard](https://opensearch.org/docs/latest/dashboards/).
\ No newline at end of file
diff --git a/examples/opensearch-dahsboard/README.md 
b/examples/opensearch-dahsboard/README.md
new file mode 100644
index 0000000000..8feeb07403
--- /dev/null
+++ b/examples/opensearch-dahsboard/README.md
@@ -0,0 +1,129 @@
+# OpenSearch dashboard for Apache James
+
+[OpenSearch dashboard](https://opensearch.org/docs/latest/dashboards/) is a 
solution allowing data visualization on top of an existing OpenSearch cluster.
+
+It can be used to create interesting visualizations when used on top of Apache 
James OpenSearch indexes.
+
+## Set up
+
+1. Adapt the `docker-compose.yml` file to your needs (IP address & credentials)
+2. Start it with `docker compose up`
+3. Login in your browser: `http://127.0.0.1:5601` with the credential 
documented in the `docker-compose.yml` file
+4. In `Dashboard Management > Index pattern` import the `mailbox_v2` (using 
date as a date field) and `quota_ratio_v1` 
+5. In `Dashboard Management > Saved objects` import `james-dashboard.ndjson`
+
+## Supported visualizations
+
+ - Quota usage
+
+![img.png](img.png)
+
+ - New mails timeline
+
+![img_1.png](img_1.png)
+
+ - Top senders
+
+![img_2.png](img_2.png)
+
+ - Top recipients
+
+![img_3.png](img_3.png)
+
+ - Email size distribution
+
+![img_4.png](img_4.png)
+
+ - Attachment usage report
+
+![img_5.png](img_5.png)
+
+ - Total email created during the period
+
+![img_6.png](img_6.png)
+
+ - Unique email (by message-id)
+
+![img_7.png](img_7.png)
+
+ - Read / unread ratio
+
+![img_8.png](img_8.png)
+
+ - has attachment ratio
+
+![img_9.png](img_9.png)
+
+ - user flag heatmap
+
+![img_10.png](img_10.png)
+
+ - People that reads the more mails
+
+![img_12.png](img_12.png)
+
+ - People that answers the more mails
+
+![img_11.png](img_11.png)
+
+ - People that generates the most data (by size)
+
+![img_13.png](img_13.png)
+
+ - Recipient count analysis
+
+![img_14.png](img_14.png)
+
+ - Estimated delivery times in second (differences between sentDate and 
savedDate)
+
+![img_15.png](img_15.png)
+
+## Scripted fields
+
+Some of the above visualizations relies on scripted fields.
+
+In order to create them navigate the following menus:
+
+> Dashboard management
+> Index pattern
+> mailbox_v2
+> scripted field
+
+Then create the following scripted fields:
+
+```
+language: painless
+type: number
+format: numer
+name: recipientCount
+Script:
+
+int count = 0;
+
+    for (nested in params._source.to) {
+        count += 1;
+    }   
+
+return count;
+```
+
+and 
+
+```
+> Dashboard management
+> Index pattern
+> mailbox_v2
+> scripted field
+
+language: painless
+type: number
+format: numer
+name: deliveryTime
+Script:
+
+if (doc.containsKey('saveDate') && doc.containsKey('sentDate')) {
+    return (doc['saveDate'].value.getMillis() - 
doc['sentDate'].value.getMillis()) / 1000;  
+} else {
+    return 0;
+}
+```
\ No newline at end of file
diff --git a/examples/opensearch-dahsboard/docker-compose.yml 
b/examples/opensearch-dahsboard/docker-compose.yml
new file mode 100644
index 0000000000..7be63b069d
--- /dev/null
+++ b/examples/opensearch-dahsboard/docker-compose.yml
@@ -0,0 +1,15 @@
+version: '3'
+services:
+  opensearch-dashboards:
+    image: opensearchproject/opensearch-dashboards:2.11.1
+    container_name: opensearch-dashboards
+    ports:
+      - 5601:5601
+    expose:
+      - "5601"
+    environment:
+      OPENSEARCH_HOSTS: '["https://xxxx:9200";]'
+      OPENSEARCH_USERNAME: username
+      OPENSEARCH_PASSWORD: xxxxx
+      OPENSEARCH_DASHBOARDS_OPENSEARCH_SSL_VERIFICATIONMODE: none
+      OPENSEARCH_DASHBOARD_PASSWORD: xxxxx
\ No newline at end of file
diff --git a/examples/opensearch-dahsboard/img.png 
b/examples/opensearch-dahsboard/img.png
new file mode 100644
index 0000000000..e369355dd2
Binary files /dev/null and b/examples/opensearch-dahsboard/img.png differ
diff --git a/examples/opensearch-dahsboard/img_1.png 
b/examples/opensearch-dahsboard/img_1.png
new file mode 100644
index 0000000000..5a5a9bd815
Binary files /dev/null and b/examples/opensearch-dahsboard/img_1.png differ
diff --git a/examples/opensearch-dahsboard/img_10.png 
b/examples/opensearch-dahsboard/img_10.png
new file mode 100644
index 0000000000..ada71e962c
Binary files /dev/null and b/examples/opensearch-dahsboard/img_10.png differ
diff --git a/examples/opensearch-dahsboard/img_11.png 
b/examples/opensearch-dahsboard/img_11.png
new file mode 100644
index 0000000000..3ba6daa15f
Binary files /dev/null and b/examples/opensearch-dahsboard/img_11.png differ
diff --git a/examples/opensearch-dahsboard/img_12.png 
b/examples/opensearch-dahsboard/img_12.png
new file mode 100644
index 0000000000..c5d880ecfb
Binary files /dev/null and b/examples/opensearch-dahsboard/img_12.png differ
diff --git a/examples/opensearch-dahsboard/img_13.png 
b/examples/opensearch-dahsboard/img_13.png
new file mode 100644
index 0000000000..c987ac8450
Binary files /dev/null and b/examples/opensearch-dahsboard/img_13.png differ
diff --git a/examples/opensearch-dahsboard/img_14.png 
b/examples/opensearch-dahsboard/img_14.png
new file mode 100644
index 0000000000..da08518d70
Binary files /dev/null and b/examples/opensearch-dahsboard/img_14.png differ
diff --git a/examples/opensearch-dahsboard/img_15.png 
b/examples/opensearch-dahsboard/img_15.png
new file mode 100644
index 0000000000..8ef5dee596
Binary files /dev/null and b/examples/opensearch-dahsboard/img_15.png differ
diff --git a/examples/opensearch-dahsboard/img_2.png 
b/examples/opensearch-dahsboard/img_2.png
new file mode 100644
index 0000000000..545d3f20e8
Binary files /dev/null and b/examples/opensearch-dahsboard/img_2.png differ
diff --git a/examples/opensearch-dahsboard/img_3.png 
b/examples/opensearch-dahsboard/img_3.png
new file mode 100644
index 0000000000..f602dbcb92
Binary files /dev/null and b/examples/opensearch-dahsboard/img_3.png differ
diff --git a/examples/opensearch-dahsboard/img_4.png 
b/examples/opensearch-dahsboard/img_4.png
new file mode 100644
index 0000000000..585cb3b334
Binary files /dev/null and b/examples/opensearch-dahsboard/img_4.png differ
diff --git a/examples/opensearch-dahsboard/img_5.png 
b/examples/opensearch-dahsboard/img_5.png
new file mode 100644
index 0000000000..0c8210a6ee
Binary files /dev/null and b/examples/opensearch-dahsboard/img_5.png differ
diff --git a/examples/opensearch-dahsboard/img_6.png 
b/examples/opensearch-dahsboard/img_6.png
new file mode 100644
index 0000000000..3991d4b924
Binary files /dev/null and b/examples/opensearch-dahsboard/img_6.png differ
diff --git a/examples/opensearch-dahsboard/img_7.png 
b/examples/opensearch-dahsboard/img_7.png
new file mode 100644
index 0000000000..4f50bdea75
Binary files /dev/null and b/examples/opensearch-dahsboard/img_7.png differ
diff --git a/examples/opensearch-dahsboard/img_8.png 
b/examples/opensearch-dahsboard/img_8.png
new file mode 100644
index 0000000000..b0a795caf0
Binary files /dev/null and b/examples/opensearch-dahsboard/img_8.png differ
diff --git a/examples/opensearch-dahsboard/img_9.png 
b/examples/opensearch-dahsboard/img_9.png
new file mode 100644
index 0000000000..dc99115464
Binary files /dev/null and b/examples/opensearch-dahsboard/img_9.png differ
diff --git a/examples/opensearch-dahsboard/james-dashboard.ndjson 
b/examples/opensearch-dahsboard/james-dashboard.ndjson
new file mode 100644
index 0000000000..a65feed040
--- /dev/null
+++ b/examples/opensearch-dahsboard/james-dashboard.ndjson
@@ -0,0 +1,26 @@
+{"attributes":{"fieldFormatMap":"{\"deliveryTime2\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://127.0.0.1:5601\",\"pathname\":\"/app/opensearch_index_management_dashboards\",\"basePath\":\"\"}}},\"recipientCount\":{\"id\":\"number\",\"params\":{\"parsedUrl\":{\"origin\":\"http://127.0.0.1:5601\",\"pathname\":\"/app/management\",\"basePath\":\"\"}}}}","fields":"[{\"count\":0,\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"scripted\":false,\"searchable\":
 [...]
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"},"title":"Unique
 mails","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"Unique 
mails\",\"type\":\"metric\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"cardinality\",\"params\":{\"field\":\"mimeMessageID\"},\"schema\":\"metric\"}],\"params\":{\"addTooltip\":true,\"ad
 [...]
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[{\"meta\":{\"type\":\"phrases\",\"key\":\"to.address\",\"value\":\"linagora.com\",\"params\":[\"linagora.com\"],\"alias\":null,\"negate\":false,\"disabled\":false,\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"bool\":{\"should\":[{\"match_phrase\":{\"to.address\":\"linagora.com\"}}],\"minimum_should_mat
 [...]
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"},"title":"New
 mails in mailbox","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"New 
mails in 
mailbox\",\"type\":\"area\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram
 [...]
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"},"title":"Attachment
 ratio","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"Attachment 
ratio\",\"type\":\"pie\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"f
 [...]
+{"attributes":{"buildNum":6867,"defaultIndex":"a22e0e70-4822-11ef-be61-a96ec0360231"},"id":"2.11.1","migrationVersion":{"config":"7.9.0"},"references":[],"type":"config","updated_at":"2024-07-24T08:29:32.345Z","version":"WzEwMywxXQ=="}
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"},"title":"Attachment
 by file 
extension","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"Attachment 
by file 
extension\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\"
 [...]
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"},"title":"Total
 mails","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"Total 
mails\",\"type\":\"metric\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\"
 [...]
+{"attributes":{"description":"Difference between the saveDate and the 
sentDate.\n\nIncludes third party delays. Take it as indicative, as sentDate 
can be crafter by the 
user.","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"from.domain\",\"negate\":false,\"params\":{\"query\":\"linagora\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSaved
 [...]
+{"attributes":{"fields":"[{\"count\":0,\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"count\":0,\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"count\":0,\"name\":\"_score\",\"type\":\"number\",\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\
 [...]
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"},"title":"Email
 by size over the 
week","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"Email by size 
over the 
week\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"3\",\"enabled\":true,\"type
 [...]
+{"attributes":{"fields":"[{\"count\":0,\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"count\":0,\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"count\":0,\"name\":\"_score\",\"type\":\"number\",\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\
 [...]
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"},"title":"New
 mails","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"New 
mails\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field
 [...]
+{"attributes":{"fields":"[{\"count\":0,\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"count\":0,\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"count\":0,\"name\":\"_score\",\"type\":\"number\",\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\
 [...]
+{"attributes":{"description":"Current mail quota 
usage","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"},"title":"Quota
 usage","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"Quota 
usage\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"quotaRatio\"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":t
 [...]
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"},"title":"Top
 senders","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"Top 
senders\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\
 [...]
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"to.domain\",\"negate\":false,\"params\":{\"query\":\"linagora\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"to.domain\":\"linagora\"}}},{\"$state\":{\"store\":\"appState\"
 [...]
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"to.domain\",\"negate\":false,\"params\":{\"query\":\"linagora\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"to.domain\":\"linagora\"}}},{\"$state\":{\"store\":\"appState\"
 [...]
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"from.domain\",\"negate\":false,\"params\":{\"query\":\"linagora\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"from.domain\":\"linagora\"}}}],\"indexRefName\":\"kibanaSaved
 [...]
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"},"title":"IsUnread
 ratio","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"IsUnread 
ratio\",\"type\":\"pie\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field
 [...]
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"},"title":"User
 flags","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"User 
flags\",\"type\":\"tagcloud\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":
 [...]
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"from.domain\",\"negate\":false,\"params\":{\"query\":\"linagora\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"from.domain\":\"linagora\"}}}],\"indexRefName\":\"kibanaSaved
 [...]
+{"attributes":{"description":"","hits":0,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[]}"},"optionsJSON":"{\"hidePanelTitles\":false,\"useMargins\":true}","panelsJSON":"[{\"embeddableConfig\":{},\"gridData\":{\"h\":15,\"i\":\"c7b5858e-01b8-42be-83a0-c6e73c4cacf1\",\"w\":24,\"x\":0,\"y\":0},\"panelIndex\":\"c7b5858e-01b8-42be-83a0-c6e73c4cacf1\",\"version\":\"2.11.1\",\"panelRefName\":\"panel_0\"},{\"embeddableConfig\":{},\"gr
 [...]
+{"attributes":{"description":"Difference between the saveDate and the 
sentDate.\n\nIncludes third party delays. Take it as indicative, as sentDate 
can be crafter by the 
user.","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"from.domain\",\"negate\":false,\"params\":{\"query\":\"linagora\"},\"type\":\"phrase\",\"indexRefName\":\"kibanaSaved
 [...]
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"},"title":"Active
 users","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"Active 
users\",\"type\":\"metric\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric
 [...]
+{"exportedCount":25,"missingRefCount":0,"missingReferences":[]}
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org
For additional commands, e-mail: notifications-h...@james.apache.org

Reply via email to