Managing Properties on Docker Collector

Last updated on 14 December, 2023

LM 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

  1. Open and edit the lm-container-configuration.yaml file.
  2. Under the agentConf section, do the following:
    1. In the value or values parameter, enter the config value. 
    2. (Optional) In dontOverride property, set dontOverride to true to add more property values to the existing list. By default, the value is false.
    3. (Optional) In the coalesceFormat property, specify the CSV format.
    4. (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.
        - key: <Property Key>
          value: <Property Value>
          values: <Property values list/map>
          dontOverride: true/false
          coalesceFormat: csv
          discrete: true/false
  1. 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
  - 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
  - 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
  - - 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
In This Article