The license server allows Traffic Parrot instances to start up and make use of the licenses that were purchased.
Each Traffic Parrot instance will consume one of the purchased licenses until it is shut down.
There are 3 key states of a Traffic Parrot instance when connecting to the usage server:
Traffic Parrot License Server has the following minimum requirements. Customers with a large number of Traffic Parrot instances or with intensive usage may exceed these minimum requirements.
user.interface.port=8050 user.interface.port.enabled=true
user.interface.https.port=8051 user.interface.https.port.enabled=true user.interface.https.jks.path=certs/user-interface-https.jks user.interface.https.jks.password=trafficparrot
license.usage.port=8040 license.usage.port.ssl.enabled=true
You may optionally use Docker to run the license server using the following steps:
FROM eclipse-temurin:8u352-b08-jre RUN apt-get update && apt-get install unzip -y WORKDIR /opt COPY trafficparrot-license-usage-*.zip trafficparrot-license-usage.zip RUN unzip trafficparrot-license-usage.zip && rm trafficparrot-license-usage.zip && mv trafficparrot-license-usage-* trafficparrot-license-usage COPY trafficparrot.usage.license /opt/trafficparrot-license-usage RUN chgrp -R 0 /opt/trafficparrot-license-usage && chmod -R g=u /opt/trafficparrot-license-usage WORKDIR /opt/trafficparrot-license-usage VOLUME ["/opt/trafficparrot-license-usage/data"] CMD ["./start.sh"]
FROM alpine:3.17.2 RUN apk add --no-cache openjdk8-jre bash libc6-compat gcompat WORKDIR /opt COPY trafficparrot-license-usage-*.zip trafficparrot-license-usage.zip RUN unzip trafficparrot-license-usage.zip && rm trafficparrot-license-usage.zip && mv trafficparrot-license-usage-* trafficparrot-license-usage COPY trafficparrot.usage.license /opt/trafficparrot-license-usage RUN chgrp -R 0 /opt/trafficparrot-license-usage && chmod -R g=u /opt/trafficparrot-license-usage ENV LD_LIBRARY_PATH=/usr/lib:/opt/trafficparrot-license-usage/jre/lib/amd64/server:/opt/trafficparrot-license-usage/jre/lib/amd64 WORKDIR /opt/trafficparrot-license-usage VOLUME ["/opt/trafficparrot-license-usage/data"] CMD ["./start.sh"]
docker build -t trafficparrot-license-usage:latest -t trafficparrot-license-usage:$(date '+%d-%b-%YT%H-%M-%S') .
docker run -p 8050:8050 -p 8040:8040 -v /opt/data:/opt/trafficparrot-license-usage/data trafficparrot-license-usage:latest
You may optionally use OpenShift to run the license server using the following steps:
We also have a sample Helm chart that can be used to help you get started, you can download it here and follow the included instructions.
Before Traffic Parrot instances can successfully connect to the license server, it must be activated.
Please note that this is a one time only operation that should only be performed on a production ready license server that has been assigned a permanent persistent data volume and the installation directory or Docker image will no longer be changing.
Please follow the steps below to perform activation:
Now the license server is deployed, we can connect Traffic Parrot instances to it:
trafficparrot.license.usage.server=licensehost:8040
trafficparrot.license.usage.server=https://proxyhost/some/pathwith the proxy server routing to https://licensehost:8040 and license server licenseusage.properties
license.usage.port.ssl.enabled=true
trafficparrot.license.usage.server=https://proxyhost/some/pathwith the proxy server routing to http://licensehost:8040 and license server licenseusage.properties
license.usage.port.ssl.enabled=false
trafficparrot.license.usage.custom.headers=ExampleA:ValueA,ExampleB:ValueB
Checking out initial license usage token Checked out initial license usage token PWEZWDW8S7E6EWOG with expiry 2020-11-15T13:37:54.465Z License usage token PWEZWDW8S7E6EWOG renewed with expiry 2020-11-15T13:42:54.523Z Checking in license usage token PWEZWDW8S7E6EWOG before shutdown Checked in license usage token PWEZWDW8S7E6EWOG
./upgrade.sh /path/to/previous-trafficparrot
upgrade.exe "C:\path\to\previous-trafficparrot"
pkill -f ".*com.trafficparrot.licenseusage.api.LicenseUsageMain"
$filter = "commandline like '%com.trafficparrot.licenseusage.api.LicenseUsageMain%'" Get-WmiObject Win32_Process -Filter $filter | ForEach-Object { $_.Terminate() }
Customers with an on premise license server are requested to provide usage reports to Traffic Parrot via email. To export a CSV report:
Date,Peak license usage in hour 2020-10-16-00,3 2020-10-16-01,2 2020-10-16-02,2 2020-10-16-03,0 2020-10-16-05,1 2020-10-16-06,4 ...