Managing Properties on Docker Collector
Last updated on 14 December, 2023LM Container allows you to configure the underlying collector through Helm Chart configuration values. The collector is responsible for collecting metrics and logs from the cluster resources using the configuration specification format of the collector. For more information, see agent. conf.
You must use the Helm chart configuration to set up the collector. This ensures a permanent configuration, unlike the manual configuration on the collector pod. For example, a pod restart operation can erase the configured state and revert the configuration to the default state, making Helm chart configuration a more reliable option.
Requirements for Managing Properties on Docker Collector
Ensure you have LM Container Helm Charts 4.0.0 or later installed.
Adding agent.conf Properties on your Docker Collector
- Open and edit the
lm-container-configuration.yaml
file. - Under the
agentConf
section, do the following:- In the value or values parameter, enter the config value.
- (Optional) In dontOverride property, set dontOverride to
true
to add more property values to the existing list. By default, the value isfalse
. - (Optional) In the coalesceFormat property, specify the CSV format.
- (Optional) In the discrete property, set the discrete to true to pass the values array corresponding to each item for each collector.
The following is an example of these values.
argus:
collector:
collectorConf:
agentConf:
- key: <Property Key>
value: <Property Value>
values: <Property values list/map>
dontOverride: true/false
coalesceFormat: csv
discrete: true/false
- Run the following Helm upgrade command:
helm upgrade \
--reuse-values \
--namespace=<namespace> \
-f lm-container-configuration.yaml \
lm-container logicmonitor/lm-container
Example of Adding Identical Configurations
You can apply identical configurations on each collector of the set. Following are the different examples of the input properties in the lm-container-configuration.yaml
file:
- Singular value in string, number, or boolean format
key: EnforceLogicMonitorSSL
value: false
- Multi-valued properties in CSV format
key: collector.defines
value:
- ping
- script
- snmp
- webpage
coalesceFormat: csv
The resultant property displays as collector.defines=ping,script,snmp,webpage
in the agent.conf
when you have not set the dontOverride to true. If you have set the dontOverride to true, then the resultant property is appended with config parameter values and displays as collector.defines=ping,script,snmp,webpage,jdbc,perfmon,wmi,netapp,jmx,datapump,memcached,dns,esx,xen,udp,tcp,cim,awscloudwatch,awsdynamodb,awsbilling,awss3,awssqs,batchscript,sdkscript,openmetrics,syntheticsselenium
.
Example of Adding Discrete Configurations
You can define different property values on every collector using discrete flag. Following are the different examples of how the properties display in the agent.conf
file:
- Singular value in string, number, or boolean format
key: logger.watchdog
discrete: true
values:
- debug
- info
- info
The above configuration enables debug logs on the first collector out of 3 whose index is 0 and info logs to the remaining.
- Multi-valued properties in CSV format
For example, you want to change the preferred authentication on the second collector (password first priority) keeping the remaining on default order.
key: ssh.preferredauthentications
discrete: true
values:
- - publickey
- keyboard-interactive
- password
- - password
- keyboard-interactive
- publickey
- - publickey
- keyboard-interactive
- password
coalesceFormat: csv
The resultant property for individual collectors considering you have 3 replica displays as follows:
- Replica indexed 0 resultant property displays as
ssh.preferredauthentications=publickey,keyboard-interactive,password
- Replica indexed 1 resultant property displays as
ssh.preferredauthentications=password,publickey,keyboard-interactive
- Replica indexed 2 resultant property displays as
ssh.preferredauthentications=publickey,keyboard-interactive,password