This section explains the installation and testing of Elasticsearch (ES) in Windows.
Installation with zip file
...
Install and configure ES on HTTPS (with authentication using username and password)
Download Elasticsearch 8.6.2
Unzip the file in the preferred location.
Open the command prompt as administrator , and go to {directory}\elasticsearch-8.6.2\bin path.
Run Elasticsearch ES with the elasticsearch.bat command.
When you run Elasticsearch ES in a terminal for the first time, you get a password on the terminal as below:. You must note down the password for future reference.Run https://localhost:9200 in browser with default user 'elastic'. Use the ES password that you get after running ES first timein step4.
Configure Zephyr with https://localhost:9200 ES URL. configure in what?where?
Stop the Zephyr application and make changes mentioned belownavigate to the {ZephyrDir}/tomcat/webapps/flex/WEB-INF/classes location.
Make changes as mentioned below steps, in the jdbc.properties for ES running on HTTPS.
Uncomment elastic.rest.prop.xpack.security.user and change password after colon(:) with the ES password you got after running ES the first time.
Code Block |
---|
transport.nodes=https://localhost:9200 rest.nodes=https://localhost:9200 elastic.rest.prop.xpack.security.user=elastic:e16AISb=rYSvNBK36DSz |
9. Start the Zephyr application after making these changes.
...
Install and configure Elasticsearch on HTTP(without authentication)
Download Elasticsearch 8.6.2
Unzip the file in the preferred location.
Open the command prompt as administrator and go to {directory}\elasticsearch-8.6.2\bin path.
Run ES with the elasticsearch.bat command.
Stop the Elasticsearch.
Change the SSL security to false in elasticsearch.yml file in config folder as mentioned in the following sample.
Code Block # Enable security featurescluster.name: zephyr node.name: node-1 http.port: 9200 network.host: 192.168.0.1 xpack.security.enabled: false xpack.security.enrollment.enabled: false # Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agentsxpack.security.http.ssl: enabled: false xpack.security.httptransport.ssl: enabled: false keystorehttp.pathhost: certs/http.p12 # Enable encryption and mutual authentication between cluster nodes xpack.security.transport.ssl: enabled: false
3. Run Elasticsearch and build the Zephyr application.
...
0.0.0.0 indices.query.bool.max_clause_count: 9024 action.auto_create_index: ".watches,.triggered_watches,.watcher-history-*,-zephyr*,+*"
7. Run Elasticsearch.
8. Now install zephyr with Elasticsearch URL http://localhost:9200
Install Elasticsearch on HTTPS (using id and secret key)
Execute the below given CURL to generate an API key:
Code Block curl --location --request POST 'https://localhost:9200/_security/api_key' \ --header 'Authorization: Basic ZWxhc3RpYzpwYXNzd29yZA==' \ --header 'Content-Type: application/json' \ --data-raw '{ "name": "my-api-key", "role_descriptors": { "role-zephyr": { "cluster": [ "all" ], "index": [ { "names": [ "zephyr-*" ], "privileges": [ "all" ] } ] } } }'
Refer to the generated API key response:
Code Block { "id": "i_n-KIgBbJC5TV1xKsjr", "name": "my-api-key", "api_key": "oSkuars1Rh-m4diuKe18hw", "encoded": "aV9uLUtJZ0JiSkM1VFYxeEtzanI6b1NrdWFyczFSaC1tNGRpdUtlMThodw==" }
The <apiKey> would be base64 encoding of id:api_key i.e. base64 encoding of
o3PG-n0Bf9efLymhVjzN:eR9bKD5OTeywOxovC7It2Q
. We can use online utility like this(Base64 Encode and Decode - Online ) for base64 encoding.Build the Zephyr application.
Stop Zephyr. Make changes in jdbc.properties file as mentioned below.
Add following properties in jdbc.properties file:
Code Block elastic.rest.prop.api.key.id=<id> elastic.rest.prop.api.key.secret=<api_key>
Start the Zephyr service.