Elasticsearch/Kibana and Docker images
Elasticsearch and Kibana are Open-Source ELK Stack and will be used in our customers projects for storage, fast search, and visualization of data. O-tone Elastic: "With the Elastic Stack, you can capture reliable and secure data from any source and in any Format, and then the data in real time, browse, analyze, and visualize." We use the Elastic Stack for QNA data of our chat bots, EDI Tracking, Logging, and for applications of the data in real time, analyze and visualize.
Our development modules for customer projects are operated in the cloud. That's why we created a simple showcase for our customers to demonstrate the possibilities of the ELK Stack. There are already Docker Hub images that allow quick deployment with Docker, but unfortunately configuration via environment variables in Azure Container Instances (ACI) is limited. To deploy the Elasticsearch image to a single-node development environment, a discovery.type environment variable with a value of single-node is required. However, the Azure environment does not accept variable names with special characters (in this case, a period). Based on the original images, the values have been fixed in the configuration for the Docker image and can now be used in Azure without any problems.
The Deployment takes a few steps to a complete environment and can be used immediately.
In Azure, open the CloudShell and enter the following command:
code deploy aci.yaml
This YAML file defines a container group with the containers for Elasticsearch and Kibana, which is a public IP address, and three exposed Ports. The Container will be provided on the public Docker Hub Repository inSyca.
The lines below into the code editor to copy and customize. The following values need to be replaced with your own values:
– YOUR-AZURE-container-group-NAME (Name of the container group in Azure)
– YOUR-AZURE-DNS NAME (Name for the URL of the Container)
apiVersion: 2018-10-01
location: westeu
name: YOUR-AZURE-container-group-NAME
properties:
container:
- name: it-op-eu-00
properties:
image: docker.io/insyca/es-dev-azr:1.0
resources:
requests:
cpu: 1
memoryInGb: 1.5
ports:
port: 9200
port: 9300
name: kb-op-eu-00
properties:
image: docker.io/insyca/kb-dev-azr:1.0
resources:
requests:
cpu: 1
memoryInGb: 1.5
ports:
port: 5601
osType: Linux
ipAddress:
type: Public
ports:
- protocol: tcp
port: 5601
- protocol: tcp
port: 9200
- protocol: tcp
port: 9300
dnsNameLabel:
YOUR-AZURE-DNS NAME
tags: null
type: Microsoft.Container instance/container groups
Save the file with or via the menu and start the deployment with the following command. The value YOUR-RESSOURCEGROUP must be replaced with the name of an existing resource group in your Azure tenant.
az container create --resource-group YOUR-resource-group --file deploy aci.yaml
The deployment takes a few minutes, then Elasticsearch and Kibana are available:
In a few minutes you will receive an environment for client presentations and/or developers.
Related Links:
– Elastic
– Tutorial: Deploy a multi-container group using a YAML file