Analysis tool for funnel visualization with log from Elasticsearch
Project description
## Elastic Funnel
[![Build Status](https://travis-ci.org/yuecen/elastic_funnel.svg?branch=master)](https://travis-ci.org/yuecen/elastic_funnel)
This is an analysis tool for funnel visualization with log from Elasticsearch. Even though we have [Kibana] can display log very well,
it can't fit our goal that to analyze series log with context.
### Prerequisites
In order to run elastic_funnel, some works have to prepare.
* You have to run your Elasticsearch first
* Set the essential config file with your Elasticsearch environment
### Install
[Pandas] is one of core requirements and it could take a few minutes to complete.
```
pip install elastic_funnel
```
#### Add Essential Config File
Add the argument file ```~/.elastic_funnel``` to your home path, with
```
[elastic]
host = 127.0.0.1
port = 9200
index = user-behavior-*
query = action:state_change AND sessionid:*
[fields]
timestamp = @timestamp
stage = state
identity = sessionid
```
#### Run for a Funnel
```
elastic_funnel --stages landingpage login searchpage --start 2016-03-25T00:00:00
```
You could get a visualization with ASCII characters looks like follows, the percentage means trend from one stage to the next one.
```
Funnel: landingpage --> login --> searchpage
###############################################################################
██████████████████████████████████████████████████ 27 100.0% landingpage
██████████████ 8 29.6% login
█ 1 12.5% searchpage
```
#### Arguments
```
usage: elastic_funnel [-h] [--host HOST] [--port PORT] [--index INDEX]
--stages STAGES [STAGES ...] [--start START] [--end END]
[--add_query ADD_QUERY]
optional arguments:
-h, --help show this help message and exit
--host HOST Host of Elasticsearch
--port PORT Port of Elasticsearch
--index INDEX Index name of Elasticsearch, e.g., user-behavior-log-*
--stages STAGES [STAGES ...]
Set a path of stages , e.g., index explore user
explore
--start START Start time of log, e.g., 2016-03-24T00:00:00
--end END End time of log, e.g., 2016-03-28T00:00:00
--add_query ADD_QUERY
Additional query using syntax of Lucene, https://lucen
e.apache.org/core/2_9_4/queryparsersyntax.html. You
can narrow you search target by syntax, e.g.,
country:US
```
### Quick Start with Docker
```
docker pull yuecen/elastic_funnel
```
```
docker run -it --rm -v ~/.elastic_funnel:/root/.elastic_funnel:ro yuecen/elastic_funnel elastic_funnel --stages landingpage login searchpage
```
### Quick Start with Gunicorn and cRUL ( *DEVELOPING...* )
[Kibana]:https://www.elastic.co/products/kibana
[Pandas]:http://pandas.pydata.org/
[![Build Status](https://travis-ci.org/yuecen/elastic_funnel.svg?branch=master)](https://travis-ci.org/yuecen/elastic_funnel)
This is an analysis tool for funnel visualization with log from Elasticsearch. Even though we have [Kibana] can display log very well,
it can't fit our goal that to analyze series log with context.
### Prerequisites
In order to run elastic_funnel, some works have to prepare.
* You have to run your Elasticsearch first
* Set the essential config file with your Elasticsearch environment
### Install
[Pandas] is one of core requirements and it could take a few minutes to complete.
```
pip install elastic_funnel
```
#### Add Essential Config File
Add the argument file ```~/.elastic_funnel``` to your home path, with
```
[elastic]
host = 127.0.0.1
port = 9200
index = user-behavior-*
query = action:state_change AND sessionid:*
[fields]
timestamp = @timestamp
stage = state
identity = sessionid
```
#### Run for a Funnel
```
elastic_funnel --stages landingpage login searchpage --start 2016-03-25T00:00:00
```
You could get a visualization with ASCII characters looks like follows, the percentage means trend from one stage to the next one.
```
Funnel: landingpage --> login --> searchpage
###############################################################################
██████████████████████████████████████████████████ 27 100.0% landingpage
██████████████ 8 29.6% login
█ 1 12.5% searchpage
```
#### Arguments
```
usage: elastic_funnel [-h] [--host HOST] [--port PORT] [--index INDEX]
--stages STAGES [STAGES ...] [--start START] [--end END]
[--add_query ADD_QUERY]
optional arguments:
-h, --help show this help message and exit
--host HOST Host of Elasticsearch
--port PORT Port of Elasticsearch
--index INDEX Index name of Elasticsearch, e.g., user-behavior-log-*
--stages STAGES [STAGES ...]
Set a path of stages , e.g., index explore user
explore
--start START Start time of log, e.g., 2016-03-24T00:00:00
--end END End time of log, e.g., 2016-03-28T00:00:00
--add_query ADD_QUERY
Additional query using syntax of Lucene, https://lucen
e.apache.org/core/2_9_4/queryparsersyntax.html. You
can narrow you search target by syntax, e.g.,
country:US
```
### Quick Start with Docker
```
docker pull yuecen/elastic_funnel
```
```
docker run -it --rm -v ~/.elastic_funnel:/root/.elastic_funnel:ro yuecen/elastic_funnel elastic_funnel --stages landingpage login searchpage
```
### Quick Start with Gunicorn and cRUL ( *DEVELOPING...* )
[Kibana]:https://www.elastic.co/products/kibana
[Pandas]:http://pandas.pydata.org/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
elastic_funnel-0.1.6.tar.gz
(6.9 kB
view details)
File details
Details for the file elastic_funnel-0.1.6.tar.gz
.
File metadata
- Download URL: elastic_funnel-0.1.6.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe97ca5cc4fbc0b7663290481eb31e6a611f9d3860c31a34f57e6b755250f25d |
|
MD5 | f2a0a46a44b2388148531064d5d9f75b |
|
BLAKE2b-256 | a32da53b6f28fc00e16615082c5c9c374ac7e4e79336ab573232a1095febec24 |