Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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)

  1. Download Elasticsearch 8.6.2

  2. Unzip the file in the preferred location.

  3. Open the command prompt as administrator , and go to {directory}\elasticsearch-8.6.2\bin path.

  4. 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.

  5. Run https://localhost:9200 in browser with default user 'elastic'. Use the ES password that you get after running ES first timein step4.

    Image RemovedImage RemovedImage AddedImage Added
  6. Configure Zephyr with https://localhost:9200 ES URL. configure in what?where?

  7. Stop the Zephyr application and make changes mentioned belownavigate to the {ZephyrDir}/tomcat/webapps/flex/WEB-INF/classes location.

  8. Make changes as mentioned below steps, in the jdbc.properties for ES running on HTTPS.

  9. 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)

  1. Download Elasticsearch 8.6.2

  2. Unzip the file in the preferred location.

  3. Open the command prompt as administrator and go to {directory}\elasticsearch-8.6.2\bin path.

  4. Run ES with the elasticsearch.bat command.

  5. Stop the Elasticsearch.

  6. 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.

...

  1. 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)

  1. 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"
                        ]
                    }
                ]
            }
        }
    }'
  2. Refer to the generated API key response:

    Code Block
    {
        "id": "i_n-KIgBbJC5TV1xKsjr",
        "name": "my-api-key",
        "api_key": "oSkuars1Rh-m4diuKe18hw",
        "encoded": "aV9uLUtJZ0JiSkM1VFYxeEtzanI6b1NrdWFyczFSaC1tNGRpdUtlMThodw=="
    }
  3. 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.

  4. Build the Zephyr application.

  5. 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>
  6. Start the Zephyr service.