arrow-left

All pages
gitbookPowered by GitBook
1 of 4

Loading...

Loading...

Loading...

Loading...

Analytics Datastore - Elasticsearch

Elasticsearch is the datastore for the Elastic (ELK) Stack.

Environment Variables

Listed in this page are all environment variables needed to run and initialize Elasticsearch.

Variable Name
Type
Relevance
Required
Default

ES_ELASTIC

String

Elasticsearch super-user password

Yes

dev_password_only

ES_KIBANA_SYSTEM

String

The password for the user Kibana used to connect and communicate with Elasticsearch

Yes

dev_password_only

ES_LOGSTASH_SYSTEM

String

The password for the user Logstash used to map and transform the data before storing it in Elasticsearch

Yes

dev_password_only

ES_BEATS_SYSTEM

String

The password for the user the Beats use when storing monitoring information in Elasticsearch

Yes

dev_password_only

ES_REMOTE_MONITORING_USER

String

The password for the user Metricbeat used when collecting and storing monitoring information in Elasticsearch. It has the remote_monitoring_agent and remote_monitoring_collector built-in roles

Yes

dev_password_only

ES_APM_SYSTEM

String

The password for the user of the APM server used when storing monitoring information in Elasticsearch

Yes

dev_password_only

ES_LEADER_NODE

String

Specify the leader service name (the service name in case single mode and the leader service name in case cluster mode)

This is used for the config importer. Specifying the service name to initialize the mapping inside Elasticsearch

Yes

analytics-datastore-elastic-search

ES_HEAP_SIZE

String

The heap size is the amount of RAM allocated to the Java Virtual Machine of a node in Elasticsearch

It should be set -Xms and -Xmx to the same value (50% of the total available RAM to a maximum of 31GB)

No

-Xms2048m -Xmx2048m

ES_SSL

Boolean

This variable is used only for the config importer of Elasticsearch (internal connection between docker services the elastic and the importer)

No

false

ES_MEMORY_LIMIT

String

RAM usage limit of Elasticsearch service

No

3G

ES_MEMORY_RESERVE

String

Reserved RAM for Elasticsearch service

No

500M

ES_PATH_REPO

String

The path to the repository in the container to store Elasticsearch backup snapshots

No

/backups/elasticsearch

Running in Clustered Mode

hashtag
Pre-Deploy Configuration

If running in clustered mode, take note that each machine has to have the following vm.max_map_count setting:

sysctl -w vm.max_map_count=262144

Local Development

Elasticsearch is the datastore for the Elastic (ELK) Stack

hashtag
Launching

Launching this package follows different steps:

  • [Cluster mode] Creating certificates and configuring the nodes

  • Running Elasticsearch

  • Setting Elasticsearch passwords

  • Importing Elasticsearch index

hashtag
Importing

To initialize the index mapping in Elasticsearch, a helper container is launched to import a config file to Elasticsearch. The config importer looks for a field named fhir-enrich-report.json in <path to project packages>/analytics-datastore-elastic-search/importer.

The file fhir-enrich-report.json will contain the mapping of the index fhir-enrich-reports.

Elasticsearch will create a dynamic mapping for the incoming data if we don't specify one, this dynamic mapping may cause issues when we start sending the data as it doesn't necessarily conform 100% to the data types that we're expecting when querying the data out of Elasticsearch again.

Therefore, the mapping should be initialized in Elasticsearch using the config importer.

The file fhir-enrich-report.json is just an example, the name and the mapping can be overridden.

hashtag
Running in Dev Mode

When running in DEV mode, Elasticsearch is reachable at:

http://127.0.0.1:9201/

hashtag
Elasticsearch Backups

For detailed steps about creating backups see: .

Elasticsearch offers the functionality to save a backup in different ways, for further understanding, you can use this link: .

hashtag
Elasticsearch Restore

To see how to restore snapshots in Elasticsearch: .

Snapshot filesystem repository docsarrow-up-right
Register a snapshot repository docsarrow-up-right
Snapshot Restore docsarrow-up-right