Outcold Solutions - Monitoring Kubernetes, OpenShift and Docker in Splunk

Monitoring Kubernetes

License Server

Starting with version 5.17, Collectord can download the license from a remote URL. Using a remote URL for storing the license allows you to upgrade the license in just one place.

Important details about using a remote license URL for providing the license:

  • A local license server only serves the purpose of distributing the license between your clusters and nodes.
  • Collectord needs to have access to this remote URL on first start. If Collectord fails to load the license, it will fail to start.
  • Collectord caches the license internally, so on the second start, if the URL is not available, Collectord uses the license from the cache.
  • Collectord checks every 30 minutes for a new license.
  • If the remote URL provides a new license, Collectord uses it immediately.
  • If the provided license requires internet verification, the license clients will communicate with the License Server hosted by Outcold Solutions.

Configure remote URL with the license key

Using own HTTP server to serve the license

Collectord does not have requirements for how you want to provide the license. One of the easiest ways is to save the license key in a file, for example license, and start an HTTP server

python3 -m http.server 9199

Verify that you can download the license from the remote server

curl http://license-server.example.local:9199/license

Using Collectord as a license server

Collectord can be used as a license server. The benefit of using Collectord as a license server is that it will count the license usage for you.

To run Collectord as a license server, please use the following command, where you need to replace the license ... with your license key, and remove the line about basicAuth or use some password in the format username:password. In the example below, we use blank as a username and password as the password.

docker run -d \
  --name collectordlicenseserver \
  --cpus=0.5 \
  --cpu-shares=102 \
  --memory=64M \
  --restart=always \
  --publish 9199:9199 \
  --env "COLLECTOR__ACCEPTLICENSE=general__acceptLicense=true" \
  --env "COLLECTOR__HTTP_BINDING=general__httpServerBinding=0.0.0.0:9199" \
  --env "COLLECTOR__LICENSE_KEY=general__license=..." \
  --env "COLLECTOR__LICENSESERVER_BASICAUTH=license.server__basicAuth=:password" \
  --entrypoint /collectord \
  outcoldsolutions/collectorfordocker:5.24.443 license-server

Verify with the curl that you can download the license

curl -u :password http://license-server.example.local:9199/license

The license server will publish license usage reports to stdout every hour

INFO 2021/10/15 18:36:32.205219 outcoldsolutions.com/collectord/license_server.go:71: LicenseID: C5KBS5R69NH9G, Expiration: 1642116759, Limit: 200, Count: 54

Configuring collectorforkubernetes using the remote license URL

Instead of configuring the license key in the ConfigMap, you can now point it to the license URL (in the example below, we also use basic authentication :password to be able to communicate with the license server running with the help of Collectord that we configured above)

[license.client]
# point to the license located on the HTTP web server, or a hosted by the Collectord running as license server
url = http://license-server.example.local:9199/license
# basic authentication for the HTTP server
basicAuth = :password
# if SSL, ignore the certificate verification
insecure = false
# CA Path for the Server certificate
capath =
# CA Name fot the Server certificate
caname =

Updating the license with the License Server

To update the license for all Collectord instances that read the license from the remote URL, you just need to replace the license in one place: on the License Server. Just restart the license server with the new valid License Key to update the license on all of your clusters.


About Outcold Solutions

Outcold Solutions provides solutions for monitoring Kubernetes, OpenShift and Docker clusters in Splunk Enterprise and Splunk Cloud. We offer certified Splunk applications, which give you insights across all container environments. We are helping businesses reduce complexity related to logging and monitoring by providing easy-to-use and easy-to-deploy solutions for Linux and Windows containers. We deliver applications, which help developers monitor their applications and help operators keep their clusters healthy. With the power of Splunk Enterprise and Splunk Cloud, we offer one solution to help you keep all the metrics and logs in one place, allowing you to quickly address complex questions on container performance.