Deploying Axual

Introduction

Axual Platform consists of multiple components wrapped in Docker containers. As for any generic Docker container, deployments poses some complexity on passing the correct environmental variables and network / persistence setup (port mapping, volume mapping).

In order to overcome this complexity we have created a tool called Axual Deploy that bootstraps the configuration and deploys the complete platform locally.

How you do local deployment is described in our Getting Started.

Troubleshooting

Troubleshooting the platform deployment can be done at multiple levels. The following scenarios can be referenced when attempting to troubleshoot your own deployment:

Axual Deploy scripts completed with errors

In this case, adding the -v flag would result in a verbose output on the console which it will make the debugging process easier. The command will look like:

./axual.sh -v start

Axual Deploy scripts completed successfully but some components are unreachable

Run the following command to check if all the applications have started and the port mappings are correct:

docker ps

If the platform started correctly, you should see a similar output:

CONTAINER ID        IMAGE                              COMMAND                  CREATED              STATUS              PORTS                                                                                                                                  NAMES
a7c7b082b7fa        axual/clusterapi:1.0.1             "/home/kafka/start-j…"   About a minute ago   Up About a minute   192.168.99.100:9080->9080/tcp, 192.168.99.100:4001->8081/tcp                                                                           cluster-api
046e11d87426        axual/instance-application:1.0.0   "/home/kafka/start-j…"   3 minutes ago        Up 3 minutes        192.168.99.100:9181->9181/tcp, 192.168.99.100:31000->31000/tcp                                                                         axual-local-instance-api
711704a1c458        axual/discovery-api:2.0.2          "/home/kafka/start-j…"   17 minutes ago       Up 17 minutes       192.168.99.100:29000->8080/tcp, 192.168.99.100:30000->8081/tcp, 192.168.99.100:443->8443/tcp                                           axual-local-discovery-api
6a7443c81309        axual/schemaregistry:3.5.0         "/home/kafka/start-s…"   18 minutes ago       Up 17 minutes       192.168.99.100:24000->24000/tcp, 192.168.99.100:25000->25000/tcp, 192.168.99.100:27000->27000/tcp, 192.168.99.100:26000->8088/tcp      axual-local-sr-slave
106eb3fc17e2        axual/schemaregistry:3.5.0         "/home/kafka/start-s…"   18 minutes ago       Up 18 minutes       127.0.0.1:20000->20000/tcp, 127.0.0.1:21000->21000/tcp, 192.168.99.100:23000->23000/tcp, 192.168.99.100:22000->8088/tcp                axual-local-sr-master
a6bb2f788cdd        axual/broker:5.0.2                 "/home/kafka/start-b…"   22 minutes ago       Up 22 minutes       192.168.99.100:9001->9001/tcp, 192.168.99.100:9092->9092/tcp, 192.168.99.100:9094-9096->9094-9096/tcp, 192.168.99.100:4003->8088/tcp   broker
3c015ffebbc6        axual/exhibitor:2.0.1              "/home/kafka/start-e…"   23 minutes ago       Up 23 minutes       192.168.99.100:2181->2181/tcp, 192.168.99.100:2888->2888/tcp, 192.168.99.100:3888->3888/tcp, 192.168.99.100:8082->8082/tcp             exhibitor

Please pay attention to the following columns:

  1. STATUS - all components should have an Up status (e.g. Up 10 minutes)

  2. PORTS - all components should be listening on ip 192.168.99.100 on the assigned ports

In the case that all components have a correct state but they are not accessible make sure to run ./initial-setup.sh -run script before running ./axual.sh start.

If there are any issues or questions regarding Axual Deploy you can always contact the support team using the Support Page

Monitoring

By default, monitoring is disabled in the local deployment, as it isn’t very insightful in that particular set up. There’s little or no load at all times and it consists of a single node.

The platform components export metrics at all times. If you do want to enable monitoring in your local cluster setup, change the local-config/clusters/local/nodes.sh file:

  1. Append, at the end of NODE1_MGMT_SERVICES=…​ line, the following: ,prometheus,grafana

  2. On linux machines only, at the end of the MONITORING_SERVICES=…​ line, append prometheus-node-exporter. This enables exporting of host-machine metrics, like CPU, RAM, IO usage.

By default, grafana is available at http://localhost:3000 and the credentials are: admin:admin, but they can be customised in platform-local/clusters/ local/mgmt-grafana.sh