Software under Test

ElasTest supports two deployment modes of SuT:

  • SuT deployed by ElasTest: your software is packaged as Docker container/s. It can be a single Docker image or a docker-compose.
  • SuT deployed outside ElasTest: your software is already deployed somewhere.

When creating a new SuT you are able to defined what mode of deployment ElasTest should work with.

With Commands Container

Your SuT is packaged as a Docker image. You must write the Commands Container Image and the commands below. These commands will run like the docker image CMD.

Fields to declare:

  • Commands container images: name of the container image
  • Commands: commands to execute
  • Port: port that ElasTest should wait for to be available before running your TJobs
  • Protocol: protocol of the SuT url. Only Http and Https are available.

Furthermore you can choose between three options into With Commands Container:

SuT In Commands Container

You can start a SuT from commands. For example, you can clone and build maven project from GitHub and after start generated java jar file.

SuT In New Container

You can start a SuT from docker image. The difference with With Docker Image option is that you can generate a docker image in execution time. For example, you can clone a project from GitHub and after generate docker image and start it.

It's necessary sets on docker run command the --name parameter with the $ET_SUT_CONTAINER_NAME environment variable.

SuT In Docker Compose

You can start a SuT from docker compose. The difference with With Docker Compose option is that you can use a docker-compose file stored, for example, into GitHub instead of copy and paste it into ElasTest.

It's necessary sets on docker-compose up command the -p parameter with the $ET_SUT_CONTAINER_NAME environment variable.

With Docker image

Your SuT is packaged as a Docker image. ElasTest will pull it from DockerHub and run it as the Dockerfile states.

Fields to declare:

  • Docker image: name of the image (tagged or untagged)
  • Port: port that ElasTest should wait for to be available before running your TJobs
  • Protocol: protocol of the SuT url. Only Http and Https are available.

With docker-compose

Your SuT is declared as a docker-compose. ElasTest will pull all the necessary images from DockerHub and run them as the field Docker Compose states

Fields to declare:

  • Docker Compose: your docker-compose.yml file. Simply copy-paste its content here
  • Main Service Name: the name of the service that ElasTest should wait for to be up before running your TJobs (the specific port is declared in the next field Port)
  • Port: port that ElasTest should wait for to be available before running your TJobs (applied to the service declared in the previous field Main Service Name)
  • Protocol: protocol of the SuT url. Only Http and Https are available.

No instrumentation

Your SuT is already deployed on an external server and you don't want to send any logs or metrics to ElasTest.

Fields to declare:

  • SuT IP: IP or DNS of your SuT. Thanks to this field your TJobs may know how to reach your SuT through environment variable ET_SUT_HOST. Check Environment variables to learn more.
  • SuT Protocol: Protocol of your SuT. http is selected by default.

Optional Fields:

  • SuT Port: Port of your SuT.

Manual instrumentation

Your SuT is already deployed on an external server and you want to manually send its logs and metrics to ElasTest.

Fields to declare:

  • SuT IP: IP or DNS of your SuT. Thanks to this field your TJobs may know how to reach your SuT through environment variable ET_SUT_HOST. Check Environment variables to learn more.
  • SuT Protocol: Protocol of your SuT. http is selected by default.

Optional Fields:

  • SuT Port: Port of your SuT.

After filling SuT name and description fields, click on Save and get monitoring details button to get all the necessary fields to manually instrument your server following these instructions.

Instrumented by ElasTest

Your SuT is already deployed on an external server and you want to automatically send its logs and metrics to ElasTest. Elastest will be responsible for accessing your Sut to send monitoring traces.

Fields to declare:

  • SuT IP: IP or DNS of your SuT. Thanks to this field your TJobs may know how to reach your SuT through environment variable ET_SUT_HOST. Check Environment variables to learn more.
  • SuT Protocol: Protocol of your SuT. http is selected by default.
  • User: The user for access to your SuT.
  • Private Key: The Private Key for access to your SuT.
  • Instrumentalize: If is checked, the Sut will be instrumented once the configuration is saved and it will start sending monitoring traces to ElasTest.
  • Sut Logs Path: Full path where the logs that you want to monitor are located. One or more routes can be indicated.

Optional Fields:

  • SuT Port: Port of your SuT.
  • Password: Password of your SuT.

Use external Elasticsearch

Your SuT is already deployed on an external server and you store your monitoring traces in your own Elasticsearch. Elastest will be responsible for accessing your Elasticsearch to get monitoring traces.

Fields to declare:

  • SuT IP: IP or DNS of your SuT. Thanks to this field your TJobs may know how to reach your SuT through environment variable ET_SUT_HOST. Check Environment variables to learn more.
  • SuT Protocol: Protocol of your SuT. http is selected by default.
  • Elasticsearch IP: IP or DNS of your Elasticsearch.
  • Elasticsearch Port: Port of your Elasticsearch.
  • ES Indices: Elasticsearch indices where the Sut monitoring traces be stored. If there are more than one index, type them separated by commas.

Optional Fields:

  • SuT Port: Port of your SuT.
  • Elasticsearch User: The User of your Elasticsearch.
  • Elasticsearch Pass: The Password of your Elasticsearch.
  • Use Indices by Execution: If checked, a parameter with the indices will be added. For each TJob Execution, you can to indicate the inidices.