Introduction
The following guide will explain how to install a self contained azeti Engine on an Docker Host. It is a very fast way to get started.
Please note that this way is intended for demonstrations, test and PoC environments. Further steps are required to scale up an installation for hundreds or thousands of sites. Contact our Service Desk for further information.
Prerequisites
Resource | Further Information |
---|---|
| https://hub.docker.com/ |
Please refer to your DockerHub username when requesting the license. This allows azeti to unlock you for the software download. | https://azetinetworks.atlassian.net/servicedesk/customer/portal/1/create/8 |
We recommend Ubuntu LTS 16.04 as OS for Docker. | https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04 |
| https://docs.docker.com/compose/install/ |
Installation
Ensure that you got
docker-compose
installed.root@ubuntu:~# which docker-compose /usr/local/bin/docker-compose root@ubuntu:~# docker-compose -v docker-compose version 1.7.1, build 0a9ab35 root@ubuntu:~#
Extract the installation files
~/Downloads ❯❯❯ unzip demoStack-1.0.6.zip ... inflating: demo/init_stack.sh
Execute
init_stack.sh
and follow the instructions. It will automatically pull the required images and files from the azeti repository and set up the basic system.~/Downloads/demo ❯❯❯ ./init_stack.sh For this script to work, you need credentials for the DockerHub and you must have read access to the Azeti Organization! Enter DockerHub username and press [ENTER]:
Initial Setup
Organization Setup
- Open a web browser at http://<IP Address of Docker Host>
The setup wizard will guide you through the creation of the initial Organization and Super Admin User
Create a screenshot to memorize the Organization Short Name, Super Admin User and credentials as these are required further on.
WebSocket Configuration
The Web browser of the clients retrieve data through WebSocket protocol. This requires a server side setting matching the IP address of your new azeti Engine.
- Login to the Control Panel, e.g. http://192.168.207.210/SSCAdminApp#/login (change URL to match your IP address) as Super Admin (user you've created initially).
- Open System Parameters and search for net.azeti.cloud.mqtt.url
- Change the parameter to match your Docker Hosts IP address
License Upload
Fresh installations of the azeti Engine come without a valid license and will not allow to add further sites.
- To upload a license login as Super Admin
- Open License
- Click + Add and enter the license key without any trailing or leading white spaces and blanks.
- The License Status will change to OK if everything went good
Site Controller Software Upload
This step is optional but recommended. You can do this at a later stage if you don't have the necessary software package at hand. Template validation inside of the Control Panel requires a version of the Site Controller software you'll be using in your environment. It contains the XSD file required for the validation process.
- Login as Administrator into the Control Panel
- Open Config/Provisioning → Controller Software → Software Packages
- Upload the software package, click + Add
The package will be listed after a successful upload.
You can download the package at any time by clicking the button besides the Version column.
Docker Stack Administration
The azeti Engine stack comes with a collection of administrative scripts which wrap around docker-compose
. Change into the demo directory to access the scripts.
azeti@ubuntu:~/demo$ ll total 48 ... -rwxr-xr-x 1 azeti azeti 101 May 31 17:40 start_stack.sh* -rwxr-xr-x 1 azeti azeti 99 May 31 17:40 stop_stack.sh* -rwxr-xr-x 1 azeti azeti 915 May 31 17:40 update_stack.sh*
Starting and Stopping
Use the start and stop script.
azeti@ubuntu:~/demo$ sudo ./stop_stack.sh Stopping the full stack... Stopping sscdemo_influxdb_1 ... done Stopping sscdemo_db_1 ... done
Same for starting it up again.
azeti@ubuntu:~/demo$ sudo ./start_stack.sh Starting the full stack... Starting influxdb_data ... done Starting db_data ... done Starting db ... done Starting influxdb ... done ...
Update
You can easily update the full stack with the script, it does a docker-compose pull ...
and fetches the latest application builds. Make sure to create backups before hand.
azeti@ubuntu:~/demo$ sudo ./update_stack.sh Enter DockerHub username and press [ENTER]: Enter DockerHub password and press [ENTER]: Login Succeeded Stopping the full stack... Stopping sscdemo_tomcat_1 ... done Stopping sscdemo_activemq_1 ... done Stopping sscdemo_influxdb_1 ... done Stopping sscdemo_db_1 ... done Pulling tomcat (azeti/tomcat-data:latest)... latest: Pulling from azeti/tomcat-data 8b87079b7a06: Already exists .. Starting sscdemo_db_data_1 ...Starting activemq ... done Starting tomcat ... done
Log Rotation
Docker will not rotate container logfiles automatically. This can cause high disk usages and large amount of log file data. Check with your Docker Administrator if any log rotation is already configured. Below is an easy approach for regular rotation using logrotate
- Create a new Logrotate config file in
/etc/logrotate.d/docker-container
Enter the below configuration
var/lib/docker/containers/*/*.log { rotate 7 daily compress size=1M missingok delaycompress copytruncate }
Start
logrotate
with the new configurationlogrotate -fv /etc/logrotate.d/docker-container
This article describes the approach further and the above config was found in this good article from Sandro Keil. Read this very good RedHat article for further information on how to identify large docker logs, clear them up and rotate files.
Next Steps
Check out the Knowledge Base Articles in our Service Desk explaining next steps for operation and administration.