Axibase Collector

Overview

The Axibase Collector is a Java-based ETL application that queries external data sources on a defined schedule and uploads the data as series, properties, messages, and files into the Axibase Time Series Database (ATSD).

Image Summary

Start Container

Using Collector to monitor Docker? Launch container in privileged mode as described in this document.

docker run \
 --detach \
 --publish-all \
 --restart=always \
 --name=axibase-collector \
 axibase/collector:latest

To automatically configure a connection to ATSD, add the -atsd-url parameter containing the ATSD hostname and https port (default 8443), as well as collector account credentials:

docker run \
 --detach \
 --publish-all \
 --restart=always \
 --name=axibase-collector \
 axibase/collector:latest \
  -atsd-url=https://collector-user:collector-password@atsd_host:atsd_https_port

If the user name or password contains a $, &, #, or ! character, escape it with backslash \.

The password must contain at least six (6) characters and is subject to the following requirements.

For example, for user adm-dev with the password my$pwd sending data to ATSD at https://10.102.0.6:8443, specify:

docker run \
 --detach \
 --publish-all \
 --restart=always \
 --name=axibase-collector \
 axibase/collector:latest \
  -atsd-url=https://adm-dev:my\$pwd@10.102.0.6:8443

Check Installation

docker logs -f axibase-collector

It may take up to 5 minutes to initialize the database.

You should see 'start completed' message at the end of the log:

 * [Collector] Starting ...
 * [Collector] Waiting for Collector to start, pid=45 ...
 * [Collector] Checking Collector web-interface port 9443 ...
 * [Collector] Waiting for Collector to bind to port 9443 ...( 1 of 30 )
...
 * [Collector] Collector web interface:
 * [Collector] https://172.17.0.3:9443
 * [Collector] https://127.0.0.1:9443
 * [Collector] Collector start completed.

Launch Parameters

Name Required Description
--detach Yes Run container in background and print container id.
--name No Assign a unique name to the container.
--restart No Auto-restart policy. Not supported in all Docker Engine versions.
--publish-all No Publish exposed https port (9443) to a random port.

To bind the collector to a particular port instead of a random one, replace --publish-all with --publish 10443:9443, where the first number indicates an available port on the Docker host.

Environment Variables

Name Required Description
ATSD_URL No URL (protocol://host:port) for the Axibase Time Series Database connection.
COLLECTOR_USER_NAME No User name for the data collector account.
COLLECTOR_USER_PASSWORD No Password for the data collector account.
ATSD_SERVICE_HOST No Axibase Time Series Database DNS name.
ATSD_SERVICE_PORT_HTTPS No ATSD https port. Default: 8443.
ATSD_SERVICE_PORT_TCP No ATSD TCP port for network commands. Default: 8081.
DOCKER_HOSTNAME No Hostname of the Docker host where Axibase Collector container is running.
JAVA_OPTS No Java VM options.
By default the collector starts with an option -Xmx256m

For example, for user adm-dev with the password my$pwd sending data to ATSD at https://10.102.0.6:8443, specify:

docker run \
 --detach \
 --publish-all \
 --restart=always \
 --name=axibase-collector \
 --env COLLECTOR_USER_NAME=adm-dev \
 --env COLLECTOR_USER_PASSWORD=my\$pwd \
 --env ATSD_URL=https://10.102.0.6:8443 \
 axibase/collector:latest

For example, to set the maximum Java heap size, specify:

docker run \
 --detach \
 --publish-all \
 --restart=always \
 --name=axibase-collector \
 --env JAVA_OPTS=-Xmx512m \
 axibase/collector:latest

Additional Parameters

Troubleshooting

Review the following log files for any errors:

docker exec -it axibase-collector tail -n 100 /opt/axibase-collector/logs/axibase-collector.log
docker exec -it axibase-collector tail -n 100 /opt/axibase-collector/logs/err-collector.log

Validation

docker ps | grep axibase-collector
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES
ee15099d9f88        axibase/collector   "/bin/bash /opt/axiba"   33 seconds ago      Up 32 seconds       0.0.0.0:32768->9443/tcp   axibase-collector

Take note of the public https port assigned to axibase-collector container, i.e. 32768 in the example above.

Login

Open https://docker_hostname:32768 in your browser and create an administrator account.

docker_hostname is the hostname or IP address of the Docker host and 32768 is the external port number assigned to the Collector container in the previous step.