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.
Links
- Installation
- Start monitoring your Kubernetes environments in under 10 minutes.
- Automatically forward host, container and application logs.
- Test our solution with the embedded 30 days evaluation license.
- Collectord Configuration
- Collectord configuration reference.
- Annotations
- Changing index, source, sourcetype for namespaces, workloads and pods.
- Forwarding application logs.
- Multi-line container logs.
- Fields extraction for application and container logs (including timestamp extractions).
- Hiding sensitive data, stripping terminal escape codes and colors.
- Forwarding Prometheus metrics from Pods.
- Audit Logs
- Configure audit logs.
- Forwarding audit logs.
- Prometheus metrics
- Collect metrics from control plane (etcd cluster, API server, kubelet, scheduler, controller).
- Configure the collectord to forward metrics from the services in Prometheus format.
- Configuring Splunk Indexes
- Using not default HTTP Event Collector index.
- Configure the Splunk application to use not searchable by default indexes.
- Splunk fields extraction for container logs
- Configure search-time field extractions for container logs.
- Container logs source pattern.
- Configurations for Splunk HTTP Event Collector
- Configure multiple HTTP Event Collector endpoints for Load Balancing and Fail-overs.
- Secure HTTP Event Collector endpoint.
- Configure the Proxy for HTTP Event Collector endpoint.
- Monitoring multiple clusters
- Learn how to monitor multiple clusters.
- Learn how to set up ACL in Splunk.
- Streaming Kubernetes Objects from the API Server
- Learn how to stream all changes from the Kubernetes API Server.
- Stream changes and objects from Kubernetes API Server, including Pods, Deployments or ConfigMaps.
- License Server
- Learn how to configure a remote License URL for Collectord.
- Monitoring GPU
- Alerts
- Troubleshooting
- Release History
- Upgrade instructions
- Security
- FAQ and the common questions
- License agreement
- Pricing
- Contact