License Server
Starting with version 5.17 Collectord can download the license from the remote URL. Using remote URL for storing license allows you upgrade the license in just one place.
Important details about using the remote license URL for providing the license:
- 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 license internally, so on second start, if the URL is not available, Collectord uses license from the cache.
- Collectord verifies every 30 minutes for the new license.
- If Remote URL provides a new license, Collectord uses it immediately.
- If the provided license requires internet verification, the license clients will be talking to 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 way is to save the license
key in the file, for example license
and start a HTTP server
python3 -m http.server 9199
Verify that you can download the license from the remote servers
curl http://license-server.example.local:9199/license
Using Collectord as a license server
Collectord can be used as a license server, the benefits of using Collectord as a license server, it will count for you the license usage.
To run Collectord as a license server, please use the following command, where you need replace the license ...
with your
license key, and remove the line about the basicAuth
or use some password in a format username:password
, in the example
below we use blank as a username, and password
as a 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.23.431 license-server
Verify with the curl
that you can download the license
curl -u :password http://license-server.example.local:9199/license
License server will publish on stdout the license usage reports every hours
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, now you can point it to the license URL (in the example
below we also use the basic authentication :password
, to be able to communicate with the license server running with
the help of Collectord that we configured above)
1 2 3 4 5 6 7 8 9 10 11 | [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.
-
Collector Configuration
- Collector 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 collector 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 fields 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 you can monitor multiple clusters.
- Learn how to set up ACL in Splunk.
-
Streaming Kubernetes Objects from the API Server
- Learn how you can 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 you can configure remote License URL for Collectord.
- Monitoring GPU
- Alerts
- Troubleshooting
- Release History
- Upgrade instructions
- Security
- FAQ and the common questions
- License agreement
- Pricing
- Contact