Skip to content

Configuration of BS-Query

Common cluster configuration

This configuration depends on other cluster services and must align with the cluster architecture.

Locations of the Zookeeper server in the cluster.

[zookeeper]
servers=zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181

Layers of the Library.

[library]
providers=zk:///library

Telemetry.

[asab:metrics]
Visit ASAB docs to learn more about metrics.

Data sources

Here are some example configuration sections needed for data source connection.

[mongodb]
mongodb_uri=mongodb://mongo-1/?replicaSet=rs0
[elasticsearch]
url=
    http://es01:9200
    http://es02:9200
    http://es03:9200
[kafka]
bootstrap_servers=kafka-1:9092,kafka-2:9092,kafka-3:9092
[pyppeteer]
url=http://<example_url>
username=<pyppeteer_username>
password=<pyppeteer_password>

Authorization

[auth]
See ASAB documentation.

BS-Query specific configuration

Directory to store all exports.

[storage]
path=/data/bsquery

Provide URL to ASAB Iris microservice and the default email template present in /Templates/Email folder of the Library. The File size limit is in bytes and the default setting is 50 MB.

[target:email]
url=http://<example_url>
template=bsquery.md
file_size_limit=52 000 000

Name of a directory shared with Jupyter Notebook. To configure jupyter target, Jupyter Notebook and BS-Query must share a common directory on the filesystem.

[target:juptyer]
path=/data/jupyter

There is a default limit of rows for exports in Excel format of 50 000 rows. Be aware that this limit protects BS-Query from loading too much data in memory.

[xlsx]
limit=60000

BS-Query reads custom tenant configuration from ASAB Config. If tenant configuration is not available it defaults to this configuration of time zone and used Schema. It defaults to UTC and ECS Schema. Expiration says in how many days a finished export gets deleted. Default is 30 days.

[default]
schema=/Schemas/ECS.yaml
timezone=UTC
expiration=30

Provide a secret key and expiration of a download link in seconds. The key is a random string. Keep the expiration as short as possible. A default expiration configuration is recommended.

[download]
secret_key=<custom_secret_key>
expiration=5