Installing the Collector in a Container
Last updated on 18 July, 2025LogicMonitor supports installing and running the Collector in a Docker container for the following services:
- Microsoft Azure Kubernetes Service (AKS)
- Amazon Elastic Kubernetes Service (EKS)
- Google Kubernetes Service (GKS)
Installation of a containerized Collector does not support all options–These are noted under Limitations. See Dockerhub to find the Docker image for running the LogicMonitor Collector.
Prerequisites
- LogicMonitor API Token Access ID and Access Key with sufficient permissions to perform the requested actions.
Limitations
- The installation does not support the “bootstrap” option. You can only run the “full package” installation.
- The collector deployed in a Docker Container is based on Linux. Linux collectors do not monitor Windows-based WMI collectors.
Installation Example
The following example creates a new Collector named “lm-collector”, that is a large Collector with the latest version:
docker run --name lm-collector -d \
-e account=<your portal name> \
-e access_id=<your api access id> \
-e access_key=<your api access key> \
-e backup_collector_id=<backup-collector-id> \
-e COLLECTOR_NON_ROOT=false \
-e collector_group=DockerCollectors \
-e collector_size=large \
-e description='My Dockerized Collector' \
-e enable_fail_back=yes \
-e escalating_chain_id=1 \
-e resend_interval=60 \
-e suppress_alert_clear=no \
-e cleanup=true \
-e proxy_url=<your proxy url> \
-e proxy_user=<your proxy user> \
-e proxy_pass=<your proxy password> \
logicmonitor/collector:latest
Required Parameters
Parameter | Description | Default |
account | LogicMonitor portal account name. | N/A |
access_id | LogicMonitor API Token Access ID. | N/A |
access_key | LogicMonitor API Token Access Key. | N/A |
Optional Parameters
Parameter | Description | Default |
backup_collector_id | The ID of the failover Collector configured for this collector. | N/A |
cleanup | If true, LogicMonitor will remove the Collector from the portal when the container is stopped. | false |
collector_group | The ID of the group that the Collector is in. If a Collector with the same description already exists, use that Collector ID. | N/A |
collector_id | The ID of an existing Collector provision. The specified Collector ID must already exist. | N/A |
COLLECTOR_NON_ROOT | Use this property to run Collector as non-root user. The collector version must be GD Collector 34.002 or later.
|
false |
collector_size | The size of the Collector to install: nano, small, medium, large, extra_large, double_extra_large. See Memory requirements |
small |
collector_version | The version of the collector to install without periods or other characters. For example, version 29.107 should be written 29107. See Collector Versions. |
N/A |
description | The Collector’s description. | N/A |
enable_fail_back | If true, enables automatic failback for the Collector. | false |
escalation_chain_id | The ID of the escalation chain associated with this Collector. | 1 |
proxy_pass | The password to authenticate to the proxy server. | N/A |
proxy_url | The URL of the proxy server. | N/A |
proxy_user | The username to authenticate to the proxy server. | N/A |
resend_interval | The interval in minutes, after which alert notifications for the Collector will be resent. | 15 |
suppress_alert_clear | If true, suppresses alert clear notifications for the Collector. | false |
use_ea | If true, the latest EA Collector version will be installed. | false |
use_gd | If true, the latest GD Collector version will be installed. | true |
use_mgd | If true, the latest MGD Collector version will be installed. | false |
Configuring agent.conf
Properties for the Collector
You can dynamically configure certain advanced Collector parameters by mounting a YAML configuration file inside the container.
This method is useful for setting agent.conf
properties that are not easily controlled through environment variables.
- Create a file named
collector-conf.yaml
in the following format:
debugIndex: 0
agentConf:
- key: resend_interval
value: 2
- key: service.read_timeout
value: 180
- key: escalationChainId
value: 2
Note: debugIndex is used to assign a unique identifier to each Collector in a multi-Collector (replicated) setup. This helps distinguish Collectors in logs and during debugging. For example:
Collector 1: debugIndex: 0
Collector 2: debugIndex: 1
- Mount the file when deplyoing your Collector container as follows:
docker run \
-v ~/collector-conf.yaml:/etc/collector/collector-conf.yaml \
logicmonitor/collector:latest
Note:
- Mounted YAML file settings override values set via environment variables for the same keys.
- Ensure the file path and structure are correct. Invalid YAML syntax or incorrect mount paths may prevent the Collector from starting properly.
Memory Requirements
The containerized Collector installation supports all Collector sizes. The size of the Collector you choose to install has the following minimum memory requirements:
Collector Size | Minimum Memory Requirements: Collector |
Minimum Memory Requirements: YAML file |
Nano | < 2GB | < 2GB |
Small | 2GB | 2GB |
Medium | 4GB | 3.75GB |
Large | 8GB | 7.5GB |
Extra Large | 16GB | 15GB |
Double Extra Large | 32GB | 30GB |
For more information, see Collector Capacity.