First run of Canarytrace

What you’ll learn#

  • You will know how to run Canarytrace Smoke
  • You will know what data it collects
  • You will be know how to prepare the environment for data storage and visualization
  • You get a dashboards with visualizations

Welcome to Canarytrace#

This tutorial introduces you to the essentials of Canarytrace community edition by walking you through run first smoke on your localhost.

Canarytrace is a Plug’n'Play stack for testing, monitoring availability and measuring the loading speed your web application from user perspective. The canarytrace design is designed to be easy to run and maintenance-free. So you only need 5 minutes 👌

Prerequisites#

Only Docker. If you don't know the docker, take a look at our examples.

Step-by-step#

We will go step by step to start testing successfully.

Run Elasticsearch in a Docker#

Data from Canarytrace are continuously stored to Elasticsearch.

Create a user-defined bridges

docker network create canary
  • Elasticsearch is the distributed search and analytics engine at the heart of the Elastic Stack.
docker run --name elasticsearch --net canary --rm -d -p 9200:9200 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.10.0 bin/elasticsearch -Enetwork.host=0.0.0.0

Run Kibana in a Docker#

Kibana is a web application with GUI for viewing data stored in Elasticsearch.

docker run --name kibana --net canary --rm -d -p 5601:5601 docker.elastic.co/kibana/kibana:7.10.0

Setup Elasticsearch and Kibana#

docker run --name installer --net canary --rm quay.io/canarytrace/installer:7.3

Prepare script for run Canarytrace Smoke#

For this demo we use docker-compose. Create file with name docker-compose.yaml with code:

version: "3.8"
services:
browser:
image: selenium/standalone-chrome:3.141.59-20200730
ports:
- "4444:4444"
network_mode: "host"
volumes:
- /dev/shm:/dev/shm
canarytrace:
image: quay.io/canarytrace/smoke:3.0.5
depends_on:
- browser
network_mode: "host"
environment:
BASE_URL: 'https://canarytrace.com/;https://www.teststack.cz/'
ELASTIC_CLUSTER: http://localhost:9200

Run Canarytrace Smoke. Run our first smoke with two URLs.#

In this same location where is your docker-compose.yaml run docker compose

docker-compose up

If you have problem with docker-compose look at the bugs #44, #45 from the community

What data is stored into Elasticsearch#

Canarytrace Smoke is community edition collect these data

  • c.report-* index with test step name and function result passed / false
  • c.performance-entries-* index with collected list of all PerformanceEntry objects for the tested page.
  • c.smoke-title-* index with entryURL, responseUrl, title, responseStatus and responseStatusText

View the result in Kibana#

That's all 🎉 Now you can explore dashboard and visualizations in Kibana. Open http://localhost:5601/ in your browser and navigate to Dashboard / Canarytrace Smoke Overview

Architecture

For real use or for production use start your Canarytrace Smoke on cloud in Kubernetes.