This is an automated email from the ASF dual-hosted git repository.
poorejc pushed a commit to branch FLAGON-447
in repository https://gitbox.apache.org/repos/asf/incubator-flagon.git
The following commit(s) were added to refs/heads/FLAGON-447 by this push:
new f6edca0 [FLAGON-450] Updated Elastisearch builds to 6.8.2
f6edca0 is described below
commit f6edca0efb5915e11e024eb2e46982d484dbeef5
Author: poorejc <[email protected]>
AuthorDate: Thu Aug 29 22:08:47 2019 -0400
[FLAGON-450] Updated Elastisearch builds to 6.8.2
---
...docker-compose.yml => docker-compose-6.6.2.yml} | 0
docker/docker-compose.yml | 51 +--
docker/elasticsearch/6.8.2/Dockerfile | 30 ++
.../elasticsearch/6.8.2/config/elasticsearch.yml | 51 +++
.../elasticsearch/6.8.2/config/log4j2.properties | 24 ++
docker/kibana/6.8.2/Dockerfile | 20 +
...Apache Flagon Business Analytics Dashboard.json | 18 +
.../Apache Flagon Page Usage Dashboard.json | 18 +
.../Apache Flagon User Access Dashboard.json | 18 +
.../Apache Flagon Visualizations.json | 427 +++++++++++++++++++++
.../6.8.2/Saved Objects/Drill-Down Search.json | 22 ++
docker/kibana/6.8.2/config/kibana.yml | 18 +
docker/logstash/6.8.2/Dockerfile | 31 ++
.../logstash/6.8.2/pipeline/logstash-userale.conf | 52 +++
docker/logstash/6.8.2/templates/userale.json | 153 ++++++++
15 files changed, 888 insertions(+), 45 deletions(-)
diff --git a/docker/docker-compose.yml b/docker/docker-compose-6.6.2.yml
similarity index 100%
copy from docker/docker-compose.yml
copy to docker/docker-compose-6.6.2.yml
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index 4c7647f..bbf6896 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -18,13 +18,6 @@
version: "3"
services:
- # Startup
- startup:
- build: ./startup
- depends_on:
- - "elasticsearch"
- command: bash /opt/entrypoint.sh
-
# Site
site:
build: ./site
@@ -36,7 +29,7 @@ services:
# Elasticsearch
elasticsearch:
- build: ./elasticsearch/6.6.2
+ build: ./elasticsearch/6.8.2
environment:
- NODE_MASTER=true
- NUMBER_OF_MASTERS=1
@@ -66,7 +59,7 @@ services:
# Kibana
kibana:
- build: ./kibana/6.6.2
+ build: ./kibana/6.8.2
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "ELASTICSEARCH_URL=http://elasticsearch:9200"
@@ -79,50 +72,22 @@ services:
# Logstash
logstash:
- build: ./logstash/6.6.2
+ build: ./logstash/6.8.2
environment:
- "ELASTICSEARCH_URL=elasticsearch:9200"
ports:
- 8100:8100
volumes:
- -
./logstash/6.6.2/pipeline/logstash-userale.conf:/usr/share/logstash/pipeline/logstash-userale.conf
- -
./logstash/6.6.2/templates/userale.json:/usr/share/logstash/templates/userale.json
+ -
./logstash/6.8.2/pipeline/logstash-userale.conf:/usr/share/logstash/pipeline/logstash-userale.conf
+ -
./logstash/6.8.2/templates/userale.json:/usr/share/logstash/templates/userale.json
depends_on:
- "elasticsearch"
networks:
- esnet
- # Distill
- distill:
- build: ./distill
- ports:
- - 8090:8090
- depends_on:
- - "elasticsearch"
- networks:
- - esnet
-
- # TAP's Database
- db:
- build: ./db
- image: senssoft/postgres:latest
- ports:
- - "5432:5432"
-
- # TAP
- tap:
- build: ./tap
- command: bash -c "/usr/src/app/wait-for-postgres.sh"
- ports:
- - "8010:8010"
- depends_on:
- - db
- links:
- - db:db
-
# Specific container and configuration to monitor the HOST (filesystem,
memory, processes,...)
metricbeat:
- image: docker.elastic.co/beats/metricbeat-oss:6.6.2
+ image: docker.elastic.co/beats/metricbeat-oss:6.8.2
# restart: unless-stopped
user: root
pid: host
@@ -146,14 +111,10 @@ services:
- ELASTICSEARCH_URL=http://elasticsearch:9200
- KIBANA_URL=http://kibana:5601
- LOGSTASH_URL=http://logstash:9600
- - POSTGRESQL_URL="postgresql://db:5432/tapdb?sslmode=disable"
- - POSTGRESQL_USERNAME=tapuser
- - POSTGRESQL_PASSWORD="Dr@p3rUs3r"
extra_hosts:
- "elasticsearch:172.17.0.1" # The IP of docker0 interface to access
host from container
- "kibana:172.17.0.1" # The IP of docker0 interface to access host from
container
- "logstash:172.17.0.1"
- - "db:172.17.0.1"
command: metricbeat -e -system.hostfs=/hostfs -strict.perms=false
network_mode: host # Mandatory to monitor HOST filesystem, memory,
processes,...
diff --git a/docker/elasticsearch/6.8.2/Dockerfile
b/docker/elasticsearch/6.8.2/Dockerfile
new file mode 100644
index 0000000..c0d4698
--- /dev/null
+++ b/docker/elasticsearch/6.8.2/Dockerfile
@@ -0,0 +1,30 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM docker.elastic.co/elasticsearch/elasticsearch-oss:6.8.2
+
+MAINTAINER Joshua Poore <[email protected]>
+
+# Override config
+COPY config /usr/share/elasticsearch/config
+RUN chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/config
+
+# Set environment
+ENV CLUSTER_NAME Flagon
+
+# Kubernetes requires swap is turned off
+ENV MEMORY_LOCK false
+
+EXPOSE 9200
\ No newline at end of file
diff --git a/docker/elasticsearch/6.8.2/config/elasticsearch.yml
b/docker/elasticsearch/6.8.2/config/elasticsearch.yml
new file mode 100644
index 0000000..a819696
--- /dev/null
+++ b/docker/elasticsearch/6.8.2/config/elasticsearch.yml
@@ -0,0 +1,51 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Custom config borrowed from Pires:
https://github.com/pires/docker-elasticsearch-kubernetes
+
+cluster:
+ name: ${CLUSTER_NAME:FLAGON}
+
+node:
+ master: ${NODE_MASTER:true}
+ data: ${NODE_DATA:true}
+ name: ${NODE_NAME:${HOSTNAME}}
+ ingest: ${NODE_INGEST:true}
+ max_local_storage_nodes: ${MAX_LOCAL_STORAGE_NODES:1}
+
+network.host: ${NETWORK_HOST:0.0.0.0}
+
+search.remote.connect: ${NODE_COORDINATE:true}
+
+path:
+ data: /usr/share/elasticsearch/data
+ logs: /usr/share/elasticsearch/log
+
+bootstrap:
+ memory_lock: ${MEMORY_LOCK}
+
+http:
+ enabled: ${HTTP_ENABLE:true}
+ compression: true
+ cors:
+ enabled: ${HTTP_CORS_ENABLE:true}
+ allow-origin: ${HTTP_CORS_ALLOW_ORIGIN:"*"}
+
+# Prevent the "split brain" by configuring the majority of nodes (total number
of nodes / 2 + 1):
+discovery:
+ zen:
+ ping.unicast.hosts: ${DISCOVERY_SERVICE:127.0.0.1, [::1]}
+ ping.unicast.hosts.resolve_timeout: ${DISCOVERY_TIMEOUT:5s}
+ minimum_master_nodes: ${NUMBER_OF_MASTERS:1}
diff --git a/docker/elasticsearch/6.8.2/config/log4j2.properties
b/docker/elasticsearch/6.8.2/config/log4j2.properties
new file mode 100644
index 0000000..c86c995
--- /dev/null
+++ b/docker/elasticsearch/6.8.2/config/log4j2.properties
@@ -0,0 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+status = error
+
+appender.console.type = Console
+appender.console.name = console
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] [%node_name]
%marker%m%n
+
+rootLogger.level = info
+rootLogger.appenderRef.console.ref = console
\ No newline at end of file
diff --git a/docker/kibana/6.8.2/Dockerfile b/docker/kibana/6.8.2/Dockerfile
new file mode 100644
index 0000000..1af3d25
--- /dev/null
+++ b/docker/kibana/6.8.2/Dockerfile
@@ -0,0 +1,20 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM docker.elastic.co/kibana/kibana-oss:6.8.2
+
+MAINTAINER Joshua Poore <[email protected]>
+
+EXPOSE 5601
diff --git a/docker/kibana/6.8.2/Saved Objects/Apache Flagon Business Analytics
Dashboard.json b/docker/kibana/6.8.2/Saved Objects/Apache Flagon Business
Analytics Dashboard.json
new file mode 100644
index 0000000..bd56e2d
--- /dev/null
+++ b/docker/kibana/6.8.2/Saved Objects/Apache Flagon Business Analytics
Dashboard.json
@@ -0,0 +1,18 @@
+[
+ {
+ "_id": "90b264d0-2cd4-11e9-9b9a-95b7b006b436",
+ "_type": "dashboard",
+ "_source": {
+ "title": "Apache Flagon Business Analytics Dashboard",
+ "hits": 0,
+ "description": "Abstracts Multi-User Interaction with Single Pages/Apps",
+ "panelsJSON": "[{\"embeddableConfig\":{\"vis\":{\"defaultColors\":{\"0 -
400\":\"rgb(255,245,240)\",\"1,200 - 1,600\":\"rgb(203,24,29)\",\"400 -
800\":\"rgb(252,187,161)\",\"800 -
1,200\":\"rgb(251,106,74)\"},\"legendOpen\":false}},\"gridData\":{\"x\":0,\"y\":84,\"w\":48,\"h\":21,\"i\":\"5\"},\"id\":\"429c0940-fce6-11e8-a156-87bcaf41506e\",\"panelIndex\":\"5\",\"title\":\"Unique
User Activity by
Day\",\"type\":\"visualization\",\"version\":\"6.5.4\"},{\"embeddableConfig\":{\"vis\":
[...]
+ "optionsJSON": "{\"darkTheme\":true,\"useMargins\":false}",
+ "version": 1,
+ "timeRestore": false,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":\"UserID
Search\",\"disabled\":true,\"index\":\"bdce0520-06df-11e9-8c58-f38cfff498f6\",\"key\":\"userId\",\"negate\":false,\"params\":{\"query\":\"nobody\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"nobody\"},\"query\":{\"match\":{\"userId\":{\"query\":\"nobody\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":\"Host
Search\",\"disabled\":true,\"in [...]
+ }
+ }
+ }
+]
\ No newline at end of file
diff --git a/docker/kibana/6.8.2/Saved Objects/Apache Flagon Page Usage
Dashboard.json b/docker/kibana/6.8.2/Saved Objects/Apache Flagon Page Usage
Dashboard.json
new file mode 100644
index 0000000..f66ec8c
--- /dev/null
+++ b/docker/kibana/6.8.2/Saved Objects/Apache Flagon Page Usage Dashboard.json
@@ -0,0 +1,18 @@
+[
+ {
+ "_id": "3f02bf70-12eb-11e9-a1e0-631cf5fb9335",
+ "_type": "dashboard",
+ "_source": {
+ "title": "Apache Flagon Page Usage Dashboard",
+ "hits": 0,
+ "description": "Abstracts Multi-User Interaction with Single Pages/Apps.
Ideal for script-tag, page-level UserALE.js deployments.",
+ "panelsJSON":
"[{\"gridData\":{\"h\":15,\"i\":\"2\",\"w\":32,\"x\":16,\"y\":0},\"id\":\"f7ca4560-be7c-11e7-8adf-fd0a12531eca\",\"panelIndex\":\"2\",\"type\":\"visualization\",\"version\":\"6.5.4\"},{\"embeddableConfig\":{\"vis\":{\"defaultColors\":{\"0
- 400\":\"rgb(255,245,240)\",\"1,200 - 1,600\":\"rgb(203,24,29)\",\"400 -
800\":\"rgb(252,187,161)\",\"800 -
1,200\":\"rgb(251,106,74)\"},\"legendOpen\":false}},\"gridData\":{\"h\":15,\"i\":\"5\",\"w\":20,\"x\":12,\"y\":15},\"id\":\"
[...]
+ "optionsJSON": "{\"darkTheme\":true,\"useMargins\":false}",
+ "version": 1,
+ "timeRestore": false,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":\"UserID
Search\",\"disabled\":true,\"index\":\"bdce0520-06df-11e9-8c58-f38cfff498f6\",\"key\":\"userId\",\"negate\":false,\"params\":{\"query\":\"nobody\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"nobody\"},\"query\":{\"match\":{\"userId\":{\"query\":\"nobody\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":\"Host
Search\",\"disabled\":true,\"in [...]
+ }
+ }
+ }
+]
\ No newline at end of file
diff --git a/docker/kibana/6.8.2/Saved Objects/Apache Flagon User Access
Dashboard.json b/docker/kibana/6.8.2/Saved Objects/Apache Flagon User Access
Dashboard.json
new file mode 100644
index 0000000..68b74bd
--- /dev/null
+++ b/docker/kibana/6.8.2/Saved Objects/Apache Flagon User Access
Dashboard.json
@@ -0,0 +1,18 @@
+[
+ {
+ "_id": "ab9f1f90-fce6-11e8-a156-87bcaf41506e",
+ "_type": "dashboard",
+ "_source": {
+ "title": "Apache Flagon User Access Dashboard",
+ "hits": 0,
+ "description": "Abstracts Multi-User Utilization of IT Assets (and Web
Usage). Ideal for UserALE.js Web Extension deployments.",
+ "panelsJSON":
"[{\"gridData\":{\"h\":15,\"i\":\"2\",\"w\":32,\"x\":16,\"y\":0},\"id\":\"f7ca4560-be7c-11e7-8adf-fd0a12531eca\",\"panelIndex\":\"2\",\"type\":\"visualization\",\"version\":\"6.5.4\"},{\"embeddableConfig\":{\"spy\":null},\"gridData\":{\"h\":15,\"i\":\"4\",\"w\":16,\"x\":0,\"y\":0},\"id\":\"e36b1f40-be7c-11e7-8adf-fd0a12531eca\",\"panelIndex\":\"4\",\"type\":\"visualization\",\"version\":\"6.5.4\"},{\"gridData\":{\"h\":15,\"i\":\"5\",\"w\":36,\"x\":12,\"y\":15},\"id\":
[...]
+ "optionsJSON": "{\"darkTheme\":true,\"useMargins\":false}",
+ "version": 1,
+ "timeRestore": false,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":\"UserID
Search\",\"disabled\":true,\"index\":\"bdce0520-06df-11e9-8c58-f38cfff498f6\",\"key\":\"userId\",\"negate\":false,\"params\":{\"query\":\"nobody\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"nobody\"},\"query\":{\"match\":{\"userId\":{\"query\":\"nobody\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":\"Host
Search\",\"disabled\":true,\"in [...]
+ }
+ }
+ }
+]
\ No newline at end of file
diff --git a/docker/kibana/6.8.2/Saved Objects/Apache Flagon
Visualizations.json b/docker/kibana/6.8.2/Saved Objects/Apache Flagon
Visualizations.json
new file mode 100644
index 0000000..d7781e2
--- /dev/null
+++ b/docker/kibana/6.8.2/Saved Objects/Apache Flagon Visualizations.json
@@ -0,0 +1,427 @@
+[
+ {
+ "_id": "d5a95ce0-06e3-11e9-8c58-f38cfff498f6",
+ "_type": "visualization",
+ "_source": {
+ "title": "Page Activity By Day",
+ "visState": "{\"title\":\"Page Activity By
Day\",\"type\":\"heatmap\",\"params\":{\"type\":\"heatmap\",\"addTooltip\":true,\"addLegend\":true,\"enableHover\":false,\"legendPosition\":\"right\",\"times\":[],\"colorsNumber\":4,\"colorSchema\":\"Reds\",\"setColorRange\":false,\"colorsRange\":[],\"invertColors\":false,\"percentageMode\":false,\"valueAxes\":[{\"show\":false,\"id\":\"ValueAxis-1\",\"type\":\"value\",\"scale\":{\"type\":\"linear\",\"defaultYExtents\":false},\"labels\":{\"
[...]
+ "uiStateJSON": "{\"vis\":{\"defaultColors\":{\"0 -
125\":\"rgb(255,245,240)\",\"125 - 250\":\"rgb(252,187,161)\",\"250 -
375\":\"rgb(251,106,74)\",\"375 - 500\":\"rgb(203,24,29)\"}}}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "33e09c60-2ff2-11e9-be20-a737e788a0aa",
+ "_type": "visualization",
+ "_source": {
+ "title": "Funnel",
+ "visState":
"{\"title\":\"Funnel\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,
[...]
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"query\":{\"query\":\"\",\"language\":\"lucene\"},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "887fec40-1886-11e9-bdac-e790c2bff4d4",
+ "_type": "visualization",
+ "_source": {
+ "title": "A/B Test",
+ "visState": "{\"title\":\"A/B
Test\",\"type\":\"histogram\",\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"HTML
Tags\"},\"type\":\"category\"}],\"defaultYExtents\":false,\"drawLinesBetweenPoints\":true,\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\
[...]
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"default_field\":\"*\",\"query\":\"*\"}}},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "e36b1f40-be7c-11e7-8adf-fd0a12531eca",
+ "_type": "visualization",
+ "_source": {
+ "title": "Total Number of Logs",
+ "visState": "{\"title\":\"Total Number of
Logs\",\"type\":\"metric\",\"params\":{\"handleNoResults\":true,\"fontSize\":60},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{\"customLabel\":\"Total
number of logs\"}}],\"listeners\":{}}",
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"query\":{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"language\":\"lucene\"},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "2bf40010-be7d-11e7-8adf-fd0a12531eca",
+ "_type": "visualization",
+ "_source": {
+ "title": "Events by Targets",
+ "visState": "{\"title\":\"Events by
Targets\",\"type\":\"histogram\",\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"HTML
Tags\"},\"type\":\"category\"}],\"defaultYExtents\":false,\"drawLinesBetweenPoints\":true,\"grid\":{\"categoryLines\":false,\"style\":{\"color\
[...]
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"query\":{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"language\":\"lucene\"},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "64045a30-fce4-11e8-a156-87bcaf41506e",
+ "_type": "visualization",
+ "_source": {
+ "title": "Total Logs by Unique Hosts",
+ "visState": "{\"title\":\"Total Logs by Unique
Hosts\",\"type\":\"horizontal_bar\",\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":200},\"position\":\"left\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{},\"type\":\"category\"}],\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"legendPosition\":\"righ
[...]
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "f7c690a0-12ef-11e9-a1e0-631cf5fb9335",
+ "_type": "visualization",
+ "_source": {
+ "title": "Top UI Elements Used",
+ "visState": "{\"title\":\"Top UI Elements
Used\",\"type\":\"pie\",\"params\":{\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"isDonut\":false,\"type\":\"pie\",\"labels\":{\"show\":false,\"values\":true,\"last_level\":true,\"truncate\":100}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{\"customLabel\":\"Element
Interactions\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"segment\",\"params\":{\
[...]
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"query\":{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true,\"default_field\":\"*\"}},\"language\":\"lucene\"},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "ba30fd80-12ee-11e9-a1e0-631cf5fb9335",
+ "_type": "visualization",
+ "_source": {
+ "title": "Number of User Events",
+ "visState": "{\"title\":\"Number of User
Events\",\"type\":\"metric\",\"params\":{\"handleNoResults\":true,\"fontSize\":60,\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\",\"metric\":{\"percentageMode\":false,\"useRanges\":false,\"colorSchema\":\"Green
to
Red\",\"metricColorMode\":\"None\",\"colorsRange\":[{\"from\":0,\"to\":10000}],\"labels\":{\"show\":true},\"invertColors\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"labelColor\":false,\"subText\":\"\",\"f
[...]
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"query\":{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true,\"default_field\":\"*\"}},\"language\":\"lucene\"},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "20b291b0-12f2-11e9-a1e0-631cf5fb9335",
+ "_type": "visualization",
+ "_source": {
+ "title": "Most Active Users by Host",
+ "visState":
"{\"aggs\":[{\"enabled\":true,\"id\":\"1\",\"params\":{\"customLabel\":\"Number
of User
Events\"},\"schema\":\"metric\",\"type\":\"count\"},{\"enabled\":true,\"id\":\"2\",\"params\":{\"customLabel\":\"Host\",\"field\":\"host\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"order\":\"desc\",\"orderBy\":\"_term\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"size\":5},\"schema\":\"segment\",\"type\":\"terms\"}],\"params\":{\"addLegend\":true,\"addTi
[...]
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "429c0940-fce6-11e8-a156-87bcaf41506e",
+ "_type": "visualization",
+ "_source": {
+ "title": "Host Activity By Day",
+ "visState": "{\"title\":\"Host Activity By
Day\",\"type\":\"heatmap\",\"params\":{\"type\":\"heatmap\",\"addTooltip\":true,\"addLegend\":true,\"enableHover\":false,\"legendPosition\":\"right\",\"times\":[],\"colorsNumber\":4,\"colorSchema\":\"Reds\",\"setColorRange\":false,\"colorsRange\":[],\"invertColors\":false,\"percentageMode\":false,\"valueAxes\":[{\"show\":false,\"id\":\"ValueAxis-1\",\"type\":\"value\",\"scale\":{\"type\":\"linear\",\"defaultYExtents\":false},\"labels\":{\"
[...]
+ "uiStateJSON": "{\"vis\":{\"defaultColors\":{\"0 -
500\":\"rgb(255,245,240)\",\"500 - 1,000\":\"rgb(252,187,161)\",\"1,000 -
1,500\":\"rgb(251,106,74)\",\"1,500 - 2,000\":\"rgb(203,24,29)\"}}}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "bcd7c950-be7c-11e7-8adf-fd0a12531eca",
+ "_type": "visualization",
+ "_source": {
+ "title": "Top Event Types",
+ "visState": "{\"title\":\"Top Event
Types\",\"type\":\"pie\",\"params\":{\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"isDonut\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{\"customLabel\":\"Top
Event
Types\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"segment\",\"params\":{\"field\":\"type\",\"size\":100,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Event
types\"}}],\"lis [...]
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"query\":{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"language\":\"lucene\"},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "bf327a20-12f3-11e9-a1e0-631cf5fb9335",
+ "_type": "visualization",
+ "_source": {
+ "title": "Top Target UI Element Cloud",
+ "visState": "{\"title\":\"Top Target UI Element
Cloud\",\"type\":\"tagcloud\",\"params\":{\"scale\":\"linear\",\"orientation\":\"single\",\"minFontSize\":8,\"maxFontSize\":29,\"hideLabel\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{\"customLabel\":\"Count
of User
Events\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"segment\",\"params\":{\"field\":\"target\",\"otherBucket\":false,\"otherBucketLabel\":\"Ot
[...]
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "e1b6c290-06e1-11e9-8c58-f38cfff498f6",
+ "_type": "visualization",
+ "_source": {
+ "title": "Top Pages by Activity",
+ "visState": "{\"title\":\"Top Pages by
Activity\",\"type\":\"pie\",\"params\":{\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"isDonut\":false,\"type\":\"pie\",\"labels\":{\"show\":false,\"values\":true,\"last_level\":true,\"truncate\":100}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{\"customLabel\":\"Top
Event
Types\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"segment\",\"params\":{\"fie
[...]
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"query\":{\"query\":\"*\",\"language\":\"lucene\"},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "f7ca4560-be7c-11e7-8adf-fd0a12531eca",
+ "_type": "visualization",
+ "_source": {
+ "title": "Time Series",
+ "visState": "{\"title\":\"Time
Series\",\"type\":\"timelion\",\"params\":{\"expression\":\".es(*)\",\"interval\":\"auto\"},\"aggs\":[],\"listeners\":{}}",
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "36a0eb90-2cd6-11e9-9b9a-95b7b006b436",
+ "_type": "visualization",
+ "_source": {
+ "title": "Time-Series Unique Hosts",
+ "visState": "{\"title\":\"Time-Series Unique
Hosts\",\"type\":\"timelion\",\"params\":{\"expression\":\".es(metric=cardinality:host).label('Unique
Users (Hosts)')\",\"interval\":\"auto\"},\"aggs\":[]}",
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "28070240-2d12-11e9-9b9a-95b7b006b436",
+ "_type": "visualization",
+ "_source": {
+ "title": "Activity by SessionID",
+ "visState": "{\"type\":\"timelion\",\"title\":\"Activity by
SessionID\",\"params\":{\"expression\":\".es(*,split=sessionID:10)\",\"interval\":\"auto\"}}",
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON": "{}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "5eeda1e0-06e5-11e9-8c58-f38cfff498f6",
+ "_type": "visualization",
+ "_source": {
+ "title": "Number of Unique Pages Visited",
+ "visState": "{\"title\":\"Number of Unique Pages
Visited\",\"type\":\"metric\",\"params\":{\"handleNoResults\":true,\"fontSize\":60,\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\",\"metric\":{\"percentageMode\":false,\"useRanges\":false,\"colorSchema\":\"Green
to
Red\",\"metricColorMode\":\"None\",\"colorsRange\":[{\"from\":0,\"to\":10000}],\"labels\":{\"show\":true},\"invertColors\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"labelColor\":false,\"subText\"
[...]
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"query\":{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true,\"default_field\":\"*\"}},\"language\":\"lucene\"},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "822808b0-2d0c-11e9-9b9a-95b7b006b436",
+ "_type": "visualization",
+ "_source": {
+ "title": "Top Web Pages by Unique Visitors",
+ "visState": "{\"title\":\"Top Web Pages by Unique
Visitors\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"cardinality\",\"schema\":\"metric\",\"params\":{\"field\":\"host\",\"customLabel\":\"Unique
Visitors\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket
[...]
+ "uiStateJSON":
"{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"query\":{\"query\":\"\",\"language\":\"lucene\"},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "d1ba2560-2d03-11e9-9b9a-95b7b006b436",
+ "_type": "visualization",
+ "_source": {
+ "title": "Average Number of Events per Unique Users (Hosts)",
+ "visState":
"{\"aggs\":[{\"enabled\":true,\"id\":\"1\",\"params\":{\"customBucket\":{\"enabled\":true,\"id\":\"1-bucket\",\"params\":{\"field\":\"host\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"order\":\"desc\",\"orderAgg\":{\"enabled\":true,\"id\":\"1-bucket-orderAgg\",\"params\":{},\"schema\":{\"aggFilter\":[\"!top_hits\",\"!percentiles\",\"!median\",\"!std_dev\",\"!derivative\",\"!moving_avg\",\"!serial_diff\",\"!cumulative_sum\",\"!avg_bucket\",\"!max_bucket
[...]
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"query\":{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true,\"default_field\":\"*\"}},\"language\":\"lucene\"},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "b7324e60-12ec-11e9-a1e0-631cf5fb9335",
+ "_type": "visualization",
+ "_source": {
+ "title": "Top URL Visits By Day",
+ "visState": "{\"title\":\"Top URL Visits By
Day\",\"type\":\"heatmap\",\"params\":{\"type\":\"heatmap\",\"addTooltip\":true,\"addLegend\":true,\"enableHover\":false,\"legendPosition\":\"right\",\"times\":[],\"colorsNumber\":4,\"colorSchema\":\"Reds\",\"setColorRange\":false,\"colorsRange\":[],\"invertColors\":false,\"percentageMode\":false,\"valueAxes\":[{\"show\":false,\"id\":\"ValueAxis-1\",\"type\":\"value\",\"scale\":{\"type\":\"linear\",\"defaultYExtents\":false},\"labels\":{\
[...]
+ "uiStateJSON": "{\"vis\":{\"defaultColors\":{\"0 -
400\":\"rgb(255,245,240)\",\"400 - 800\":\"rgb(252,187,161)\",\"800 -
1,200\":\"rgb(251,106,74)\",\"1,200 - 1,600\":\"rgb(203,24,29)\"}}}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "bd56f810-a4da-11e9-baf2-196230c538eb",
+ "_type": "visualization",
+ "_source": {
+ "title": "Average Number of Events per Unique Users (userId)",
+ "visState":
"{\"aggs\":[{\"enabled\":true,\"id\":\"1\",\"params\":{\"customBucket\":{\"enabled\":true,\"id\":\"1-bucket\",\"params\":{\"field\":\"userId\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"order\":\"desc\",\"orderAgg\":{\"enabled\":true,\"id\":\"1-bucket-orderAgg\",\"params\":{},\"schema\":{\"aggFilter\":[\"!top_hits\",\"!percentiles\",\"!median\",\"!std_dev\",\"!derivative\",\"!moving_avg\",\"!serial_diff\",\"!cumulative_sum\",\"!avg_bucket\",\"!max_buck
[...]
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"query\":{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true,\"default_field\":\"*\"}},\"language\":\"lucene\"},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "28b7ad70-a4db-11e9-baf2-196230c538eb",
+ "_type": "visualization",
+ "_source": {
+ "title": "Most Active Users by userId",
+ "visState": "{\"title\":\"Most Active Users by
userId\",\"type\":\"horizontal_bar\",\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":200},\"position\":\"left\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{},\"type\":\"category\"}],\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"legendPosition\":\"rig
[...]
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "5b467330-06e2-11e9-8c58-f38cfff498f6",
+ "_type": "visualization",
+ "_source": {
+ "title": "Number of Unique Users (userId)",
+ "visState": "{\"title\":\"Number of Unique Users
(userId)\",\"type\":\"metric\",\"params\":{\"handleNoResults\":true,\"fontSize\":60,\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\",\"metric\":{\"percentageMode\":false,\"useRanges\":false,\"colorSchema\":\"Green
to
Red\",\"metricColorMode\":\"None\",\"colorsRange\":[{\"from\":0,\"to\":10000}],\"labels\":{\"show\":true},\"invertColors\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"labelColor\":false,\"subText\
[...]
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"query\":{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true,\"default_field\":\"*\"}},\"language\":\"lucene\"},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "a712e550-a4da-11e9-baf2-196230c538eb",
+ "_type": "visualization",
+ "_source": {
+ "title": "Number of Unique Users (host)",
+ "visState": "{\"title\":\"Number of Unique Users
(host)\",\"type\":\"metric\",\"params\":{\"handleNoResults\":true,\"fontSize\":60,\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\",\"metric\":{\"percentageMode\":false,\"useRanges\":false,\"colorSchema\":\"Green
to
Red\",\"metricColorMode\":\"None\",\"colorsRange\":[{\"from\":0,\"to\":10000}],\"labels\":{\"show\":true},\"invertColors\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"labelColor\":false,\"subText\":
[...]
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"7f1f6a80-a4d7-11e9-baf2-196230c538eb\",\"query\":{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true,\"default_field\":\"*\"}},\"language\":\"lucene\"},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ },
+ {
+ "_id": "51622390-a4db-11e9-baf2-196230c538eb",
+ "_type": "visualization",
+ "_source": {
+ "title": "Time-Series Unique Users (userId)",
+ "visState": "{\"title\":\"Time-Series Unique Users
(userId)\",\"type\":\"timelion\",\"params\":{\"expression\":\".es(split=userId:5,metric=cardinality:userId)\",\"interval\":\"auto\"},\"aggs\":[]}",
+ "uiStateJSON": "{}",
+ "description": "",
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[]}"
+ }
+ },
+ "_meta": {
+ "savedObjectVersion": 2
+ }
+ }
+]
\ No newline at end of file
diff --git a/docker/kibana/6.8.2/Saved Objects/Drill-Down Search.json
b/docker/kibana/6.8.2/Saved Objects/Drill-Down Search.json
new file mode 100644
index 0000000..749609b
--- /dev/null
+++ b/docker/kibana/6.8.2/Saved Objects/Drill-Down Search.json
@@ -0,0 +1,22 @@
+[
+ {
+ "_id": "67105880-06e6-11e9-8c58-f38cfff498f6",
+ "_type": "search",
+ "_source": {
+ "title": "Drill-Down Search",
+ "description": "",
+ "hits": 0,
+ "columns": [
+ "_source"
+ ],
+ "sort": [
+ "clientTime",
+ "desc"
+ ],
+ "version": 1,
+ "kibanaSavedObjectMeta": {
+ "searchSourceJSON":
"{\"index\":\"bdce0520-06df-11e9-8c58-f38cfff498f6\",\"highlightAll\":true,\"version\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":\"URL
Search\",\"disabled\":false,\"index\":\"bdce0520-06df-11e9-8c58-f38cfff498f6\",\"key\":\"pageUrl\",\"negate\":false,\"params\":{\"query\":\"http://senssoft.incubator.apache.org/\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"http://sensso
[...]
+ }
+ }
+ }
+]
\ No newline at end of file
diff --git a/docker/kibana/6.8.2/config/kibana.yml
b/docker/kibana/6.8.2/config/kibana.yml
new file mode 100644
index 0000000..cc93fed
--- /dev/null
+++ b/docker/kibana/6.8.2/config/kibana.yml
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+server.name: kibana
+server.host: "0"
+elasticsearch.url: http://localhost:9200
diff --git a/docker/logstash/6.8.2/Dockerfile b/docker/logstash/6.8.2/Dockerfile
new file mode 100644
index 0000000..6c13621
--- /dev/null
+++ b/docker/logstash/6.8.2/Dockerfile
@@ -0,0 +1,31 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM docker.elastic.co/logstash/logstash-oss:6.8.2
+MAINTAINER Joshua Poore <[email protected]>
+
+# Ensure default logstash configuration is removed
+RUN rm -f /usr/share/logstash/pipeline/logstash.conf
+
+# Copy Pipeline files over
+ADD pipeline/ /usr/share/logstash/pipeline/
+
+# Copy templates over
+RUN mkdir /usr/share/logstash/templates
+COPY templates/userale.json /usr/share/logstash/templates/userale.json
+
+EXPOSE 8100
+
+CMD ["logstash"]
\ No newline at end of file
diff --git a/docker/logstash/6.8.2/pipeline/logstash-userale.conf
b/docker/logstash/6.8.2/pipeline/logstash-userale.conf
new file mode 100644
index 0000000..8b4313f
--- /dev/null
+++ b/docker/logstash/6.8.2/pipeline/logstash-userale.conf
@@ -0,0 +1,52 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+input {
+ http {
+ codec => "json"
+ port => 8100
+ response_headers => {
+ "Access-Control-Allow-Origin" => "*"
+ "Access-Control-Allow-Headers" => "Origin, X-Requested-With,
Content-Type, Accept"
+ }
+ }
+}
+
+## Add your filters / logstash plugins configuration here
+filter {
+ mutate {
+ remove_field => [ "message", "@version", "headers"]
+ }
+
+ grok {
+ match => [ "useraleVersion",
"(?<major_ver>\d+).(?<minor_ver>\d+)(.(?<patch_ver>\d+))?" ]
+ match => [ "toolVersion",
"(?<tool_major_ver>\d+).(?<tool_minor_ver>\d+)(.(?<tool_patch_ver>\d+))?" ]
+ }
+}
+
+output {
+ # Output data to Elasticsearch instance
+ elasticsearch {
+ hosts => "${ELASTICSEARCH_URL}"
+ index => "userale"
+ manage_template => true
+ template_overwrite => true
+ template => "/usr/share/logstash/templates/userale.json"
+ template_name => "userale"
+ }
+
+ # Debug
+ stdout { codec => rubydebug }
+}
diff --git a/docker/logstash/6.8.2/templates/userale.json
b/docker/logstash/6.8.2/templates/userale.json
new file mode 100644
index 0000000..c27b742
--- /dev/null
+++ b/docker/logstash/6.8.2/templates/userale.json
@@ -0,0 +1,153 @@
+{
+ "index_patterns": "userale",
+ "order": 1,
+ "settings":
+ {
+ "number_of_shards": 1,
+ "number_of_replicas": 0,
+ "index.refresh_interval": "5s",
+ "analysis": {
+ "analyzer": {
+ "my_analyzer": {
+ "tokenizer": "my_tokenizer"
+ }
+ },
+ "tokenizer": {
+ "my_tokenizer": {
+ "type": "path_hierarchy"
+ }
+ }
+ }
+ },
+ "mappings":
+ {
+ "doc":
+ {
+ "dynamic_templates": [
+ {
+ "strings_as_keywords": {
+ "match_mapping_type": "string",
+ "mapping": {
+ "type": "keyword"
+ }
+ }
+ }
+ ],
+ "dynamic": "true",
+ "properties":
+ {
+ "userAction":
+ {
+ "type": "boolean"
+ },
+ "clientTime":
+ {
+ "type": "date",
+ "format": "strict_date_optional_time||epoch_millis"
+ },
+ "startTime":
+ {
+ "type": "date",
+ "format": "strict_date_optional_time||epoch_millis"
+ },
+ "endTime":
+ {
+ "type": "date",
+ "format": "strict_date_optional_time||epoch_millis"
+ },
+ "count":
+ {
+ "type": "integer"
+ },
+ "targetChange":
+ {
+ "type": "boolean"
+ },
+ "typeChange":
+ {
+ "type": "boolean"
+ },
+ "details":
+ {
+ "properties":
+ {
+ "alt":
+ {
+ "type": "boolean"
+ },
+ "clicks":
+ {
+ "type": "integer"
+ },
+ "ctrl":
+ {
+ "type": "boolean"
+ },
+ "meta":
+ {
+ "type": "boolean"
+ },
+ "shift":
+ {
+ "type": "boolean"
+ },
+ "window":
+ {
+ "type": "boolean"
+ },
+ "x":
+ {
+ "type": "integer"
+ },
+ "y":
+ {
+ "type": "integer"
+ },
+ "z":
+ {
+ "type": "integer"
+ }
+ }
+ },
+ "location":
+ {
+ "properties":
+ {
+ "x":
+ {
+ "type": "integer"
+ },
+ "y":
+ {
+ "type": "integer"
+ }
+ }
+ },
+ "major_ver":
+ {
+ "type": "integer"
+ },
+ "minor_ver":
+ {
+ "type": "integer"
+ },
+ "patch_ver":
+ {
+ "type": "integer"
+ },
+ "tool_major_ver":
+ {
+ "type": "integer"
+ },
+ "tool_minor_ver":
+ {
+ "type": "integer"
+ },
+ "tool_patch_ver":
+ {
+ "type": "integer"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file