зеркало из https://github.com/mozilla/esFrontLine.git
91 строка
2.2 KiB
Plaintext
91 строка
2.2 KiB
Plaintext
esFrontLine
|
|
|
|
===========
|
|
|
|
|
|
|
|
Limit restful requests to backend ElasticSearch cluster: Queries only.
|
|
|
|
|
|
|
|
Requirements
|
|
|
|
------------
|
|
|
|
|
|
|
|
- Python 2.7
|
|
|
|
- An ElasticSearch cluster to forward queries to
|
|
|
|
|
|
|
|
Install
|
|
|
|
-------
|
|
|
|
|
|
|
|
I will assume you have Python installed (if not, here are `Windows7
|
|
|
|
instructions <https://github.com/klahnakoski/pyLibrary#windows-7-install-instructions->`__)
|
|
|
|
|
|
|
|
::
|
|
|
|
|
|
|
|
pip install esFrontLine
|
|
|
|
|
|
|
|
Setup
|
|
|
|
-----
|
|
|
|
|
|
|
|
You must write your own setting.json file with the following properties
|
|
|
|
set:
|
|
|
|
|
|
|
|
- **elasticsearch** - (Array of) ElasticSearch nodes
|
|
|
|
|
|
|
|
- **elasticsearch.host** - URL of the ElasticSearch node that will
|
|
|
|
accept query requests
|
|
|
|
|
|
|
|
- **elasticsearch.port** - port for ES (default = 9200)
|
|
|
|
|
|
|
|
- **flask** - flask.run() parameters (default port = 5000)
|
|
|
|
|
|
|
|
- **debug** - turn on debugging
|
|
|
|
|
|
|
|
- **whitelist** - list of indexes that are allowed
|
|
|
|
|
|
|
|
Here is an example of my ``settings.json`` file
|
|
|
|
|
|
|
|
::
|
|
|
|
|
|
|
|
{
|
|
|
|
"elasticsearch":[{
|
|
|
|
"host":"http://elasticsearch4.metrics.scl3.mozilla.com",
|
|
|
|
"port":9200
|
|
|
|
},{
|
|
|
|
"host":"http://elasticsearch5.metrics.scl3.mozilla.com",
|
|
|
|
"port":9200
|
|
|
|
},{
|
|
|
|
"host":"http://elasticsearch7.metrics.scl3.mozilla.com",
|
|
|
|
"port":9200
|
|
|
|
},{
|
|
|
|
"host":"http://elasticsearch8.metrics.scl3.mozilla.com",
|
|
|
|
"port":9200
|
|
|
|
}],
|
|
|
|
"flask":{
|
|
|
|
"host":"0.0.0.0",
|
|
|
|
"port":9292,
|
|
|
|
"debug":false,
|
|
|
|
"threaded":true,
|
|
|
|
"processes":1
|
|
|
|
},
|
|
|
|
"whitelist":["bugs", "org_chart", "bug_summary", "reviews"],
|
|
|
|
"debug":{
|
|
|
|
"log":[{
|
|
|
|
"filename": "./tests/results/logs/app.log",
|
|
|
|
"maxBytes": 10000000,
|
|
|
|
"backupCount": 200,
|
|
|
|
"encoding": "utf8"
|
|
|
|
},{
|
|
|
|
"stream":"sys.stdout"
|
|
|
|
}]
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Execution
|
|
|
|
---------
|
|
|
|
|
|
|
|
::
|
|
|
|
|
|
|
|
python app.py --settings-file <path_to_file_with_JSON_settings>
|
|
|
|
|
|
|
|
Code Source
|
|
|
|
-----------
|
|
|
|
|
|
|
|
https://github.com/klahnakoski/esFrontLine
|
|
|