In addition to the standard interactive Collector installation process, there is also a non-interactive “Silent” installation mode. The Silent mode is convenient if you are automating installation and are not around to manually answer prompts about user and proxy details.
In this article, we have explained the steps to install Windows and Linux Collectors. We recommend that you read the support article Installing Collectors to understand all the details about Collector installation.
Installing Windows Collectors
Before you install Windows Collectors, you must consider the following points:
- Ensure to specify the Collector to run as a privileged user. If you do not, the Collector will install and run as a local system. The local system may not have sufficient permissions to monitor other Windows hosts remotely.
- Ensure that there is no space following any colon when you specify the parameters.
For example, /p:’Ex@ml!eP@5Sw0rd’ is acceptable but /p: ’Ex@ml!eP@5Sw0rd’ is not. - Ensure to use single quotes if the system password or the proxy password has special characters. For example, /p:’Mycroft+Holmes‘
- These parameters can be passed either after the Collector installer .exe or after the PowerShell installation URL (either bootstrap or full package installation). Ensure that the PowerShell window is open in the Administrator mode.
- The parameter /s: can be included if the Collector version is 30.102 or higher.
To install Windows Collectors in Silent mode, follow these steps:
- In your LogicMonitor portal, navigate to Settings | Collectors | Add | Collector.
- In the Add a Collector dialog, select Windows 64-bit and specify the version and memory details.
- Select >_PowerShell and copy the PowerShell URL.
- Launch PowerShell in Administrator mode and paste the copied URL to append the parameters.
[powershell URL or .exe] [/k] [/r:] [/d:] [/q] [/s:] [/a:] [/p:] [/m] [/PROXYHOST:] [/PROXYPORT:] [/PROXYUSER:] [/PROXYPASS:]
Example:
LogicMonitorSetup_6207.exe /q /a:Administrator /p:'Mycroft+Holmes' /PROXYHOST:10.55.21.60 /PROXYPORT:3128 /PROXYUSER:SherlockHolmes /PROXYPASS:'221_B@BakerStreet'
For Windows Collector, the following parameters are supported:
Parameter | Description |
/q | Indicates to the installer that the installation should be done in Silent mode. |
/k | (Optional) Ignores ssl errors when downloading a file. |
/r: | (Optional) Sets the retry attempt when downloading a file. Default = 2 retry attempts. |
/d: | (Optional) Indicates the path to install a Collector. It defaults to C:\Program Files\LogicMonitor\Agent |
/s: | (Optional) Installs custom Collector size (nano, small, medium, large, extra_large, and double_extra_large). It defaults to the Collector size selected in the Logicmonitor portal. |
/a: | (Optional) Indicates the account the Windows service will run as. It defaults to LocalSystem. The installer requires a Domain\User format. For example, /a:’Domain\User’ |
/p: | (Required if /a: is given) Indicates a password of the specified user account. For example, /p:’p@$$w0rd’ |
/m | (Optional) If this is set, the installer does not check if the total physical memory meets the minimum memory requirement. |
/np | (Optional) If this is set, the installer does not install the Npcap module. Npcap is a packet capturing module which monitors raw packets needed for NetScan detection. |
/NAP | (Optional) When using the /a: with a non-admin account, if this parameter is set, permissions are assigned to a non-admin account to run the Collector. |
/PROXYHOST: | (Optional) Indicates the proxy server address. For example, /PROXYHOST:”proxy.net” |
/PROXYPORT: | (Optional) Indicates the proxy server port. |
/PROXYUSER: | (Optional) Indicates the username to authenticate the proxy server, if any. |
/PROXYPASS: | (Optional) Indicates the password to authenticate the proxy server, if required. |
Once the installation is complete, a message confirming successful installation is displayed on the PowerShell terminal.
Installing Linux Collectors
Before you install Linux Collectors, you must consider the following point:
- The parameters work for both bootstrap and full installation methods. Ensure that you first make the binaries executable (using chmod) before passing the parameters.
- The parameter -s can be included if the Collector version is 30.102 or higher.
To install Linux Collectors in Silent mode, follow these steps:
- In your LogicMonitor portal, navigate to Settings | Collectors | Add | Collector.
- In the Add a Collector dialog, select Linux-64 bit and specify the version and memory details.
- Select Get cURL cmd and copy the URL.
- In the terminal, paste the copied URL and append the necessary parameters to the installation URL.
./LogicmonitorSetup123.bin [-n] [-h] [-y] [-m] [-s size] [-d install path] [-u install user] [-p proxyHost:port] [-U proxyUser] [-P proxyPass]
Example:
sudo chmod +x LogicmonitorSetup123.bin
sudo ./LogicmonitorSetup123.bin -y -p 10.55.21.60:3128 -U SherlockHolmes -P 221BBakerStreet
For Linux Collectors, the following parameters are supported:
Parameter | Description |
-h | (Optional) Indicates help. It displays a list of flags, their defaults, and their options. |
-n | (Optional) Displays the Collector’s release version number. |
-y | (Optional) Installs the Collector silently (does not prompt any questions). Default = false |
-d | (Optional) Indicates the installation path for the Collector. Default = /usr/local/logicmonitor |
-s | (Optional) Installs custom Collector size (nano, small, medium, large, extra_large, and double_extra_large). It defaults to the Collector size selected in the Logicmonitor portal. |
-u | (Optional) – Installation user or root, defaults to logicmonitor. |
-p | (Optional) – Indicates the proxy server (proxyAddr:port) in the form of address:port. For example, 127.0.0.1:8080 |
-U | (Optional) Indicates the username (proxyUser) to authenticate the proxy server, if any. |
-P | (Optional) Indicates the password (proxyPass) to authenticate the proxy server, if required. |
-m | (Optional) If this is set, the installer does not check if the total physical memory meets the minimum memory requirement. |
Once the installation is complete, a message confirming successful installation is displayed on the terminal.
Verifying the Installation
The steps to verify the installation for both Windows and Linux are similar.
To verify, follow these steps:
- On the Add a Collector dialog box, under 4. Verify Connection, select the Collector installation successfully completed check box.
- Click Verify Connection.
A pop-up message confirming successful installation is displayed. This message indicates that the Collector is connected to your portal.
Note: Thycotic has now been rebranded as ‘Delinea’. Although we have replaced Thycotic with Delinea in Support documentation, you will still find ‘Thycotic’ in some configuration properties.
LogicMonitor stores sensitive information including credentials, secrets, etc., for hosts, devices, services. LogicMonitor also offers integration with Credential Vault and provides better control over credentials management to users using their own Credential Vault. The LogicMonitor Collector provides the integration with Delinea as a Credential Vault solution. For more information, see Delinea Secret Server documentation.
Prerequisites
- The Delinea Vault Integration requires EA Collector versions 30.102 or higher. For more information on integrating the Delinea Vault with LogicMonitor Collector, see Integrating Credential Vault Properties.
- Verify access of Delinea Secret Server API using Postman client. For more information, see Delinea Secret Server REST API.
Delinea Secret Server REST API:
The Delinea Secret Server publishes REST API to manage various entities. For more information, see https://docs.delinea.com/secrets/current/api-scripting/rest-api-reference-download/index.md.
The Secret Server (SS) REST API guides are version-specific. Please ensure you refer to the correct version Secret Server guide.
The LM Delinea Secret Server integration uses the OAuth2 token-based REST API of the Delinea Secret Server. In this approach, you receive the OAuth2 token for authentication, which is used to perform the various entity operations of the Delinea Secret Server.
Configuring Delinea Vault
To configure the Delinea vault, complete the following steps:
1. Configure the vault properties on the devices. The properties consist of the vault metadata and vault keys. For more information, see the Delinea Vault properties section.
2. Once the vault properties are configured, set the vault.bypass agent configuration as false.

Note: You can change the default agent configuration settings as required. For more information, see Delinea Collector Agent Configuration Settings
Delinea Collector Agent Configuration Settings:
The below table contains the collector agent configuration related to the vault.
Agent Configuration Property/Type | Type | Default Values | Description |
vault.bypass | Boolean | True | If the value is set as true, the vault API will not be called. If the value is set as false, the vault API would be called. |
vault.thycotic.session.timeout | Integer | 20 minutes | The property specifies the interval in the minutes, for which the OAuth2 access token is valid. Once this duration has elapsed, the token becomes invalid. |
vault.thycotic.max.tokenrefresh.allowed | Integer | 3 | The property specifies the maximum number of token refreshes allowed. The token refresh can be done to get the access token for the user using the refresh_token information(without using the user credentials). |
vault.thyotic.secret.path.name.id.cache.expiration | Integer | 20 minutes | The property specifies the expiration duration for the cache that maintains the Secret Path (FolderName, SecretName) → Secret Id mapping. The Secret Path mapping approach of the lmvault keys uses this cache internally to retrieve the secret id based on the secret path. |
You can view the agent configuration properties by navigating to Settings > Collector > click the gear next to the required collector name > Support > Collector Configuration.
Delinea Vault properties
Vault properties, such as Vault Metadata and Vault Keys for the Collector, can be configured at the device or device group level.
Vault Metadata
The following table lists the Vault Metadata properties.
Vault Metadata | Description |
vault.meta.url | The URL of the vault. This URL should contain the folder and application ID only. |
vault.meta.type | The type of the vault. Use the value as Thycotic to connect to the Delinea Secret Server. |
vault.meta.th.user.pass | The password for the Delinea Secret Server account. This password would be used to get the bearer authentication token using Secret Server OAuth2 API. |
vault.meta.th.user.name | The username for the Delinea Secret Server account. This username would be used to get the bearer authentication token using Secret Server OAuth2 API. |
vault.meta.header | The headers required for HTTP Get Request. The value for this custom property would be the header separated with “&“ the header key value would be separated with “=” as shown in the below example:vault.meta.header – Content-Type=application/json&Accept-Encoding=gzip, deflate, br |
Configuring Delinea lmvault.keys
You can configure lmvault.keys in the following three ways: secret id, secret path, and a combination of secret id and secret path.
- Secret id—lmvault key value can be configured with the secret id. This is the most efficient method and is recommended by Delinea.
- Secret path—LogicMonitor provides another out-of-the-box approach for configuring the lmvault.key value. lmvault value consists of the secret path and secret name.
LogicMonitor calls the Delinea API to get the secret id for these secret paths, and these secret ids are further used for the credentials retrieval.
Note: As this approach requires additional API calls, you must use this approach only when required.
Example:
LogicMonitor provides the two approaches for the secret id retrieval using the secret path:
- Default Approach—LogicMonitor searches for the folder and Secrets. In this approach, the folders and the secrets are searched to form the secret_path_name relation with secret id.
- Delinea Reporting—LogicMonitor uses Delinea reporting to retrieve the secret id using a secret path. This is an efficient approach for the secret path as compared to the Default Approach.
Note: Ensure that you can access the Delinea Report “What secrets a user can see” in the Delinea Secret Server portal. For more information on configuring the Delinea reports, see Configuring Delinea Report Properties.

- A combination of secret ID or secret path along with a Delinea field—You can configure devices to pull the secret values for a property from the secret ID or secret path. The field name is attached to the property to fetch the secret value from the Delinea field. The
.lmvault
property is configured to have the information of the Delinea field appended within the enclosed symbol “<>” at the end. You can use the templateRecordID<FieldName>
/RecordPath:Name<FieldName>
. For example,
Vault Property | Customised Field |
ssh.user.lmvault | 9<username> |
ssh.pass.lmvault | 9<password> |
snmp.security.lmvault | 15<snmpsecurity> |
snmp.privToken.lmvault | 15<privtoken> |
ssh.pass.lmvault | \allsecrets\ssh:ssh.pass<password> |
Configuring Delinea Report Properties
To configure Delinea report properties, complete the following steps:
1. Navigate to Settings > Collector > select the required collector and click the Gear icon.
2. On the Manage Collector dialog box, select Collector Configuration from the Support drop-down list.

3. Click the Agent Configurations tab and enter the following Delinea report properties :
Name | Type | Default | Details |
vault.thycotic.secret.report.access.enabled | Boolean | false | The property specifies whether Delinea secret server report access is enabled or not. Ensure that all the access for the reporting is granted before enabling this boolean property, Otherwise, it may result in an API Access Denied issue. This access consists of access to users, reports, etc. |
vault.thycotic.secret.report.id | Integer | Note: You must provide the correct report id value. | The property specifies the value of the report id of the report “What Secrets a User can see”, which is a system report for secrets. |
Troubleshooting
1. How to confirm API using postman?
Ans: The LogicMonitor Delinea Secret Server integration uses the OAuth2 token-based REST API of the Delinea Secret Server. You will receive the OAuth2 token for authentication, which is used to perform the various entity operations of the Delinea Secret Server. The APIs can be confirmed using the postman. To confirm APIs using Postman, refer to the following images:


Note: For more information on REST APIs, see Delinea Secret Server REST API.
2. How to get collector vault logs?
Ans: To get the collector vault logs, use the !tail debug command. The vault logs are a part of the wrapper.log file, which you can directly access. For more details, refer to the following screenshot:

3. How to enable the debug logs for the vault to get more data?
Ans: To enable the debug logs for the vault, complete the following steps:
1. Navigate to Settings > Collectors > select the required collector.
2. On the Manage Collector, select Collector Configuration from the Support drop-down list.
3. Click the Agent Config tab and set the logger.level value as debug
.
4. Once you have added the configuration details, click on Save and Restart.
Refer to the following image:

LogicMonitor stores sensitive information including credentials, secrets, etc for hosts, devices, services. The LogicMonitor Collector provides the integration with CyberArk as a Vault solution. For more information, see CyberArk documentation.
To integrate the CyberArk Vault with LogicMonitor Collector, see Integrating Credential Vault Properties.
Prerequisites
- The CyberArk Vault Integration requires EA Collector versions 29.108 or higher. Note that support for the vault integrations are not yet available in GD Collector versions.
CyberArk Application Authentication Methods
The CyberArk Credential Provider provides multiple methods to authenticate applications. For more information, see CyberArk documentation on Application authentication methods and Add applications.
LogicMonitor Collector and CyberArk integration support the following methods for the application authentication:
1. Allowed Machines
2. Path
3. Hash
4. Client Certificates.
Note: We recommend configuring Dual Accounts in CyberArk for widely-used, frequently rotated credentials to avoid account lockouts during rotation. For more information, see CyberArk documentation on Configure dual accounts.
Authentication to Privileged Access Security (PAS) Solution
The CyberArk AIMWebService application is deployed on the IIS Server. LogicMonitor Collector and CyberArk integration uses Basic Authentication to the IIS Server.
You can log on to the Vault by using the password that is provided to you. After logging into the Vault, we recommend that you change your password.
CyberArk Collector Agent Configuration Settings
The following table contains the collector agent configuration related to the Vault:
Name | Type | Default | Details |
vault.bypass | Boolean | True | If the value is set as true, the vault API will not be called. If the value is set as false, the vault API would be called. |
vault.credentials.cache.expirationtime | Integer | 60 minutes | Expiration timeout (in minutes) for credentials in vault cache. After this time, the credentials in the vault cache expires and would have to be re-fetched from the Vault. |
vault.credentials.refresh.delay | Integer | 15 seconds | The amount of time delay (in seconds) after credentials cache expiration time. Refresh the task after the cache expiration time.Note: You may customize the amount of time delay while installing the Collector. For more information, see agent.conf Collector Settings. |
Vault properties
Vault properties, such as Vault Metadata and Vault Keys for the Collector, can be configured at the device or device group level.
CyberArk does not allow special characters, such as \ / : * ? ” < >
, to be used in Safe names and object names.
Vault Metadata
The following table lists the Vault Metadata properties.
Vault Metadata | Description |
vault.meta.url | URL of the vault. This URL must contain the folder and application id only. |
vault.meta.safe | Safe (Applicable only in case of CyberArk). A device can have only a single safe. |
vault.meta.type | The type of the Vault. Currently, only the “CyberArk” vault integration is supported in the Collector. |
vault.meta.header | The headers required for HTTP Get Request. The value for this custom property would be the header separated with “&“ the header key value would be separated with “=” as shown in the below example:vault.meta.header – Content-Type=application/json&Accept-Encoding=gzip, deflate, br |
vault.meta.keystore.type | Type of the key store. If the key store type is not specified, the default type for the key store is JKS. |
vault.meta.keystore.path | Path of the Keystore file. |
vault.meta.keystore.pass | Password for the Keystore. |
Vault Keys
Vault keys need to be specified at the device level with suffix .lmvault
. For example, ssh.user
information should have the key specified as ssh.user.lmvault.
Vault Keys | Description |
Property suffixed with .lmvault | The custom property for which value must be retrieved from the Vault and must be specified at the device level by adding suffix .lmvault. The value of such property would be the path of the key in the Vault.For example: ssh.user.lmvault = ssh\ssh.userFor ssh.user.lmvault, the property should be retrieved from the Vault. The value of this property “ssh\ssh.user” represents the path in the Vault where the credential is stored. |
Property suffixed with .lmvault : Multi-Safe | The multi-Safe approach allows fetching the values for lmvault properties from different safes within the Vault. The LM vault property value should be specified in the format safe:path.For example, the property referring to the safe sshcreds and object path as ssh\ssh.user can be specified as: ssh.user.lmvault = sshcreds:ssh\ssh.userThe Safe specified at the property level would override the value specified at the device level through the “vault.meta.safe” property. |
LogicMonitor Collector and CyberArk Vault integration
1. Multi-Safe support: Specify the multiple safes under a device to retrieve the credentials from Multiple Safe.

2. Multi-Vault support: You can use multiple vaults for the devices under the collector. Each of the devices can point to a single Vault.
3. You can call Vault API over HTTP or HTTPS. However, if you are calling the Vault APIs over HTTPS, you must configure the RootCA cert. For more information, see RootCA cert.
4. You must complete the CyberArk Authentication. For more information, see CyberArk Application Authentication Methods section.
Note: Device-specific cache is implemented at the Collector to avoid frequent requests to the Vault API.
Configuring CyberArk certificates
You must configure the following CyberArk files at the requesting application side:
- RootCA cert
- client.pfx file
- client.cert and client.pem files
RootCA cert
You must enable the Require SSL checkbox for including the RootCA cert file in the trust store of the requesting application’s server.
To import RootCA cert for the collector, complete the following steps:
- Windows: RootCA cert must be imported in the collector’s trust store in JRE within the Collector installation folder. By this, the CyberArk endpoint will be considered a trusted source.

- Collector’s installation directory. The default file path is:
- Linux Collectors: /usr/local/logicmonitor/agent/conf /agent.conf
- Windows Collectors: C:\Program Files (x86)\LogicMonitor\Agent\conf\agent.conf
To import RootCA certificate in the collector’s jre default trust store, use the command:
keytool -importcert -file Path_For_Root_CA_Folder/RootCA.crt -alias CyberArkRootCA -keystore /usr/local/logicmonitor/agent/jre/lib/security/cacert -storepass Store_Password
client.pfx file
CyberArk provides client.pfx file which is a pkcs12 file containing the client certificate and client key. The client certificate and client key must be present in the HTTP request to authenticate the application request to IIS. As the client.pfx is a key store containing the client certificate and client key, this file can be directly used to authenticate the collector’s request with Vault Service deployed on IIS.
To use the client.pfx file, set the below properties at the device/device group level at the Santaba:
vault.meta.keystore.path=Path_For_Client_Keystore_Folder/client.pfx
vault.meta.keystore.pass=Password_For_Client_Keystore
Note: The default keystore password for client.px store is CyberArk 1. We recommend that you change this password.
client.cert and client.pem files
Though CyberArk provides the client.pfx key store containing the client certificate and client key, it still provides the client.cert and client.pem files. These files can be used to create the custom key store. Such a custom key store can be used to authenticate the applications/collector’s request to the IIS server on which Vault Credential Service is deployed.
To create the key store using client.cert and client.pem files, use the below command.
openssl pcks12 -export -in Client_Cert_Folder/client.crt -inkey Client_Key_Folder/client.pem -out myclient.pfx -passout pass:Password_For_Generated_Keystore
The Credential Vault integration for the LogicMonitor Collector makes it possible to store and manage sensitive information (including credentials and secrets for hosts, devices, services, etc.) in an external credential vault.
LogicMonitor Collector supports the following vault integrations:
Note: Support for the Credential Vault Integration was added in EA Collector 29.108. Refer to the relevant vault integration topics for supported Collector versions.
Integrating Credential Vault Properties
- In LogicMonitor, navigate to Resources > Device> required Collector > Info tab.
For more information on vault properties, see Adding Vault Properties. - Click Settings on the left panel and select Collectors.
- Select the required Collector and click the Settings icon under the Manage column.
- On the Manage Collector dialog box, select Collector Configuration from the Support drop-down list.
- Ensure to set the vault.bypass value to false in agent.conf. Additionally, you can add the required agent configuration properties to set the Collector. For more information, see Collector Configurations.
Collector Configurations
The following table lists the configuration properties to set in the Collector agent.conf.
Property | Type | Default | Description |
vault.bypass | Boolean | TRUE | If the value for the property is true, the vault API calls won’t happen. Note: You must set the property to false, to enable the vault API calls. |
vault.credentials.cache.expirationtime | Integer | 60 | The property specifies the value in minutes for the expiry of the credential in the vault cache on the collector. After this time, the credentials in the vault cache will expire. |
vault.credentials.refresh.delay | Integer | 15 | Controls the Credential Vault integration cache expiration refresh delay in seconds. |
vault.url.cache.enabled | Boolean | FALSE | The property specifies whether the URL cache is enabled or not. By default the property is set as false; however, if the property is set to true the collector caches the URL and secret value. If the URL for lmvault property is found in the URL cache, the respective secret value is returned, else the API call is made to fetch the secret from the vault. Setting this property to ‘true’ should resolve API rate-limiting issues. |
vault.url.cache.max.size | Integer | 1000 | The property defines the number of URLs that will be stored in the cache. |
Adding Vault Properties
For adding vault properties, such as Vault Metadata and Vault Keys, navigate to Resources > Device > Collector, click Info on the Collector page.
Vault Metadata
The following table lists the Vault Metadata properties.
Property | Description |
vault.meta.url | The URL of the vault. |
vault.meta.type | The type of vault. |
vault.meta.header | The headers are required for HTTP Get Request. The value for this custom property would be the header separated with & and the header key value separated with = as shown in the below example: vault.meta.header – Content-Type=application/json&Accept-Encoding=gzip, deflate, br |
Vault Keys
Vault keys need to be specified at the device level with suffix .lmvault.
Property | Description |
.lmvault | The custom property for which value should be retrieved from the Vault must be specified at the device level by adding suffix .lmvault. The value of such property would be the path of the key in the Vault. For example: ssh.user.lmvault = ssh\ssh.user |
LogicMonitor 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.
LogicMonitor Collectors have configuration files that can be used to control their behavior. The most robust of these configuration files is the agent.conf file. Data collection, Active Discovery, auto properties, event collection, and many other Collector-specific behavior settings are maintained by this configuration file.
The agent.conf file is located in the Collector’s installation directory. The default file path is:
- Linux Collectors: /usr/local/logicmonitor/agent/conf/agent.conf
- Windows Collectors: C:\Program Files\LogicMonitor\Agent\conf\agent.conf
As discussed in Editing the Collector Config Files, it is highly recommended that any changes or additions to the agent.conf file be made via the LogicMonitor UI (from the Collectors page) as there are safeguards in place to prevent errors. Manually modifying this file from the local Collector is not recommended and is performed at your own risk.
There are more than 600 settings that can be configured in the agent.conf file, providing you with very granular control of your Collector’s behavior and operations. Some settings display in the file by default; some may need to be added if you’d like to override the default values that are defined in the code. All values declared in the agent.conf file supersede values defined in the code.
Note: In the majority of cases, your Collector will run as needed out of the box as long as it is appropriately sized. As a general rule, we recommend approaching the customization of agent.conf settings with caution and, ideally, at the direction of a support representative.
Settings are listed next, organized by function.
General Collector Settings
Property | Type | Default | Description |
agentmonitorwatchdog | Boolean | TRUE | If TRUE, the Collector will watch watchdog processes and restart the watchdog service if issues arise. |
agent.autoupgrade | Boolean | TRUE | If TRUE, the watchdog service will upgrade the Collector when a Collector upgrade is initiated. |
keep.alive.check.times | Integer | 2 | The number of times (per 5 second) a Collector checks to see if the watchdog service is working. |
agent.min.usable.space | Integer | 1024 | The minimum usable space (in megabytes) for the Collector. |
agent.restart | Integer | 0 | Assigns the restart interval of the Collector (in hours). By default the Collector restarts after credential rotation (every 24 hours). To update this restart interval without credential rotation, update this setting. |
agent.status.port | Integer | 7212 | The agent status listening port (i.e. the port over which the Watchdog service communicates to the Collector service). |
asyncProcessWaiter.readSleep.enable | Boolean | TRUE | If TRUE, non-blocking IO is enabled. |
asyncProcessWaiter.readSleep.intervalInMills | Integer | 300 | Assigns the interval of checking and read operations in async process waiter (in milliseconds). As this value decreases, CPU usage may increase; as this value increases, throughput may decrease. |
collector.auto.restart.enable | Boolean | TRUE | If TRUE, the Collector will be automatically restarted if it is not working as expected. |
collector.auto.restart.min.interval.in.minutes | Integer | 60 | Assigns the minimum auto restart interval (in minutes). |
collector.convertLocaleEnglish.enable | Boolean | FALSE | If TRUE, locale number formatting will be applied. |
collector.dump.thread.times.before.restart | Integer | 2 | Indicates the number of times a Collector will attempt to dump threads if it is experiencing issues before restarting. 0 indicates no thread dump before restarting. |
collector.dump.thread.interval.in.seconds | Integer | 10 | If the collector.dump.thread.times.before.restart setting is >1, this setting controls the interval (in seconds) in which the Collector will attempt to dump threads. |
collector.dump.thread.files.count | Integer | 5 | The maximum file count of a thread dump. |
collector.heartbeat.hang.stacktrace | Boolean | TRUE | If TRUE, the check thread will print the stack trace for heartbeat task if heartbeat task hangs. |
collector.heartbeat.clear.hang.task | Boolean | TRUE | If TRUE, clears all heartbeat tasks if all heartbeats are hung. |
collector.heartbeat.hang.restart | Boolean | TRUE | If TRUE, the Collector will be restarted when all heartbeat tasks are hung. |
collector.jvm.locale | String | us-en | Allows tweaking of JVM locale. Tweaking is sometimes needed to correct date parsing in some locales. |
collector.scheduler.thread.count | Integer | 4 | The number of threads devoted to scheduling tasks on the Collector. |
collector.size | String | <size> | The size of the Collector. Automatically assigned by the installer. |
company | String | <company> | The company the Collector is associated with. Automatically assigned by the installer. |
connection.manager.size | Integer | 4 | The number of threads to use per-processor for web page tasks |
connection.manager.threshold | Integer | 500 | The threshold for the number of threads to be created for webpage tasks. |
credential | String | <credential> | The credential the Collector uses to authenticate itself to the LogicMonitor platform. This credential is automatically assigned by the installer and undergoes rotation every 24 hours. |
credential.isencrypted | Boolean | TRUE | If TRUE then credential the Collector uses to authenticate is encrypted. |
debug.disable | Boolean | FALSE | If TRUE, remote debug commands will be prevented from operating on the Collector. This may be useful for Collectors installed on systems in secure zones. |
discover.instance.wmi.timeout.seconds | Integer | 30 | Timeout (in seconds) is explicitly used in case of adding additional monitoring. This property is not added by default to the agent.conf. Customers who face the timeout issue can add this property with the desired timeout value. |
dns.nameserver | String | 8.8.8.8 | If dns.provider is set to “dnsjava”, this setting indicates the name server being used. |
dns.provider | String | system | DNS provider type. Alternate value accepted is “dnsjava”. If set to “system”, system DNS settings are used. If set to “dnsjava”, the value provided for dns.nameserver is used. |
feed.version.check.intervalInSec | Integer | 5 | Interval (in seconds) that feed version is checked for updates. 5 is the minimum value that can be assigned. |
groovy.expect.timeout.in.second | Integer | 60 | The connection timeout period (in seconds) for the Groovy Expect library. |
hotthreaddetector.enable | Boolean | FALSE | If TRUE, hot thread and memory usage detection is enabled. |
hotthreaddetector.cpuDetectionsOnExit | Integer | 0 | Indicates the consecutive number of times CPU usage needs to be exceeded (as defined by hotthreaddetector.cpuThreshold) in order to trigger Collector restart. 0 indicates no Collector restart. |
hotthreaddetector.cpuThreshold | Integer | 5 | The CPU usage threshold (as a percentage). If usage exceeds this setting’s value, the thread is identified as a ‘hot’ thread. |
hotthreaddetector.memDetectionsOnExit | Integer | 0 | Indicates the consecutive number of times JVM old gen memory usage needs to be exceeded (as defined by hotthreaddetector.cpuThreshold) in order to trigger Collector restart. 0 indicates no Collector restart. |
hotthreaddetector.memThreshold | Integer | 95 | The JVM old gen memory usage threshold (as a percentage). If usage exceeds this setting’s value, the Collector reports a collection status of BUSY. |
hotthreaddetector.interval | Integer | 30 | The interval (in seconds) between checking for hot threads. |
httpd.port | Integer | 7214 | The HTTPd listening port (i.e. the port over which custom JobMonitors communicate to the Collector service). |
id | Integer | <id> | The Collector’s ID. Automatically assigned by the installer. |
installer.version | Integer | 0 | Installer version. Cannot be modified. |
netscan.probe.queue.capacity | Integer | 5000 | The capacity of the probing task queue. |
netscan.script.timeout.inSeconds | Integer | 300 | The script timeout period (in seconds) for any scripted NetScan. The minimum value that can be assigned to this setting is 60. |
script.notfound.file.redownload.interval | Integer | 10 | The interval (in minutes) at which uploaded scripts are redownloaded if not found. |
script.check.modification.interval.in.minute | Integer | 5 | The interval (in minutes) at which the Collector checks for modified scripts on the LM platform. |
server | String | <server> | The portal the Collector is associated with (e.g. <x>.logicmonitor.com). Automatically assigned by the installer. |
service.connect_timeout | Integer | 5 | The timeout period (in seconds) for connecting to the platform server. |
service.read_timeout | Integer | 30 | The timeout period (in seconds) for sending/reading feeds to/from the platform server. |
service.verify_cert_by_host_header | Boolean | FALSE | If TRUE, verify certificate using host in header instead of host in URL. |
service.trustall | Boolean | TRUE | If TRUE, the Collector will not verify the certificate when connecting to the platform. |
shutdown.checkingPort | Integer | 0 | Indicates the port, if any, that must be closed before the watchdog attempts to restart the Collector. This is helpful if antivirus software is holding Collector ports (SNMP trap, syslog, and so on) open after the Collector has closed them, causing the watchdog to fail to restart the Collector. |
ssh.preferredauthentications | String | publickey,keyboard-interactive,password | Indicates the preferred methods for SSH authentication. Authentication methods are selected in order; publickey is attempted first, if that fails keyboard-interactive is attempted next, and so on. |
startup.delay | Integer | 0 | Collector initialization delay in seconds. |
startup.timeout | Integer | 180 | The timeout period (in seconds) for Collector startup. |
upgrader.delay.exit | Integer | 0 | The amount of time to delay on exit (in seconds) after upgrade. |
upgrade.download.timeout | Integer | 30 | Upgrade download timeout (in seconds). |
upgrader.wait | Integer | 10 | Upgrade wait (in seconds). |
Data Collection Method Settings
Data collection settings are organized by the following data collection methods:
Global Data Collection Settings
Name | Type | Default | Details |
collecting.history.maxItem | Integer | 3 | The maximum number of collection tasks to keep in-memory history. This information is visible with !tlist and !detail debug commands. |
collector.data.collection.retry.count.max | Integer | 1 | The number of times to retry a WMI, script, or batchscript task if not executed due to sbproxy not being ready or cache is invalid. |
collector.data.collection.retry.interval.in.seconds.min | Integer | 60 | Minimum interval delay (in seconds) for retrying a collection task. |
Collector.data.collection.retry.interval.in.seconds.max | Integer | 600 | Maximum interval delay (in seconds) for retrying a collection task. |
collector.defines | String | ping,script,snmp,webpage,jdbc,perfmon,wmi,netapp,jmx,datapump,memcached,dns,esx,xen,udp,tcp,mongo,cim,awscloudwatch,awsdynamodb,awsbilling,awss3,awssqs,batchscript | Defines the collection methods that are supported by the Collector. |
poll.now.diagnose.command.timeout.in.seconds | Integer | 50 | The timeout period (in seconds) for Poll now Diagnose command. |
poll.now.queue.size | Integer | 50 | The queue size of poll now to process requests simultaneously. |
poll.now.test.script.timeout | Integer | 50 | The timeout period (in seconds) for test script. |
poll.now.threadpool | Integer | 2 | The poll now thread pool size. |
ratelimit.enable | Boolean | FALSE | If TRUE, requests sent to a host that is up (e.g. via ping), but not responding to a protocol request (e.g. SNMP or WMI), will have rate limiting applied (using other ratelimit.<x>.<x> settings) to limit the number of requests on the failing protocol. This can help ensure that the host doesn’t tie up too many collection threads, impacting data collection on other hosts. |
ratelimit.detect.period | Integer | 1 | The interval (in minutes) in which protocol detection requests will be sent to the host. This setting is active when ratelimit.enable is set to TRUE. |
ratelimit.deactive.time | Integer | 10 | The amount of time (in minutes) in which the host will be marked as inactive if it repeatedly fails to respond to the protocol request. This setting is active when ratelimit.enable is set to TRUE. |
script.stopThread.useThreadStop | Boolean | FALSE | If TRUE, the JAVA thread.stop method will be used to force stop the script. This method is deprecated and may cause issues as a result of an inconsistent state. If FALSE, thread.interrupt is called, which may not stop some threads. |
AWS Data Collection Settings
Name | Type | Default | Details |
collector.aws.timeoutSeconds | Integer | 5 | AWS timeout (in seconds). |
BatchScript Data Collection Settings
Name | Type | Default | Details |
collector.batchscript.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.batchscript.threadpool | Integer | 20 | Batchscript threadpool size. |
collector.batchscript.timeout | Integer | 120 | The timeout period (in seconds) for handling a batchscript data collection task. |
collector.batchscript.improve.enable | Boolean | TRUE | If TRUE, the Batchscript data collection method will be improved after refactoring it. |
collector.batchscript.max.expiration.in.seconds | Integer | 3600 | Collector Batchscript max timeout (in seconds). |
CIM Data Collection Settings
Name | Type | Default | Details |
collector.cim.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines or eventcollector.defines setting). |
collector.cim.threadpool | Integer | 20 | The thread count in the pool. |
collector.cim.timeout | Integer | 30 | The timeout period (in seconds) for handling a CIM data collection task. |
cim.ssl.protocol | String | SSL | SSL protocol for CIM data collection method. |
groovy.script.runner | String | agent | Based on the value set in this property, the embedded groovy script in LogicModules use either the Standalone Scripting Engine (SSE) process, or a separate agent collector process to collect data. Note: We have temporarily disabled “sse”. Starting with EA Collector 31.200, for all new Collector installations for Windows and Linux (bootstrap and full-package) the default configuration value has been set to “agent”. |
Data Pump Data Collection Settings
Name | Type | Default | Details |
collector.datapump.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.datapump.threadpool | Integer | 1 | The thread count in the pool. |
collector.datapump.timeout | Integer | 5 | The timeout period (in seconds) for handling a Data Pump data collection task. |
DNS Data Collection Settings
Name | Type | Default | Details |
collector.dns.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.dns.threadpool | Integer | 1 | The thread count in the pool. |
collector.dns.timeout | Integer | 1 | The timeout period (in seconds) for handling a DNS data collection task. |
ESX Data Collection Settings
Name | Type | Default | Details |
collector.esx.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.esx.threadpool | Integer | 50 | The thread count in the pool. |
collector.esx.timeout | Integer | 30 | The timeout period (in seconds) for handling an ESX data collection task. |
collector.esx.connect.timeout.in.seconds | Integer | 10 | The connect timeout period (in seconds) for ESX data collection. |
collector.esx.read.timeout.in.seconds | Integer | 30 | The read timeout period (in seconds) for ESX data collection. |
collector.esx.report.connectFailure.times | Integer | 3 | Reports NaN when connection failure occurs for the number of times indicated here. |
collector.esx.customizedCommunicationInstance | Boolean | TRUE | If TRUE, the cipher algorithms indicated by collector.esx.disabled.cipherlist will be filtered out. |
collector.esx.disabled.cipherlist | String | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256 | This setting is only considered when collector.esx.customizedCommunicationInstance is TRUE. |
See AutoProperties Settings for an additional setting that relates to ESX data collection. |
JDBC Data Collection Settings
Name | Type | Default | Details |
collector.jdbc.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.jdbc.threadpool | Integer | 50 | The thread count in the pool. |
collector.jdbc.timeout | Integer | 10 | The timeout period (in seconds) for handling a JDBC data collection task. |
mysql.jdbc.driver | String | org.mariadb.jdbc.Driver | Sets the MySQL JDBC driver. Ensure that the related jar is added in wrapper.conf before changing this setting. |
startup.jdbc.delay | Integer | 0 | Startup delay (in seconds) for JDBC. |
custom.jdbc.drivers | String | Null | Displays a list of comma separated custom JDBC drivers that are loaded by collector. |
forced.register.jdbc.drivers.enable | Boolean | False | Enables JDBC drivers forcefully. |
forced.register.jdbc.drivers.list | String | Empty String | Displays a list of comma separated JDBC drivers that are forcefully loaded by collector. |
See AutoProperties Settings for additional settings that relate to JDBC data collection. |
JMX Data Collection Settings
Name | Type | Default | Details |
collector.jmx.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.jmx.threadpool | Integer | 200 | The thread counts in the pool. |
collector.jmx.timeout | Integer | 5 | The timeout period (in seconds) for handling a JMX data collection task. |
collector.jmx.batch.enable | Boolean | TRUE | If TRUE, data collected via JMX is batched. |
collector.jmx.onebyone.in.batch.enable | Boolean | TRUE | If TRUE, data attributes are collected via JMX one by one. |
collector.jmx.cache.connection.state.enable | Boolean | TRUE | If TRUE, the JMX connection state is cached. |
collector.jmx.cache.connection | Boolean | TRUE | If TRUE, JMX cache connection is enabled. |
collector.jmx.cache.connection.max | Integer | 100 | The maximum connections per URL with username and password. If the value is < 1, the connection count is not limited. |
collector.jmx.cache.connection.url.max | Integer | 10000 | The maximum cached JMX connection URL (username + password). |
collector.jmx.cache.connection.wait.timeout.in.second | Integer | 5 | The timeout period (in seconds) to wait for a free cache JMX connection. |
collector.jmx.connection.check.period.in.millisecond | Integer | 0 | Check JMX connection period (in milliseconds). If value is 0, no threads will be created to check JMX connection. |
collector.jmx.read.timeout.in.seconds | Integer | 30 | The JMX read timeout period (in seconds) for RMI and JMXMP (remote JMX is not supported by this setting). |
collector.jmx.retry.interval.min.in.second | Integer | 5 | Minimum interval (in seconds) before retrying to establish connection. |
collector.jmx.retry.interval.max.in.second | Integer | 120 | Maximum interval (in seconds) before retrying to establish connection. |
Memcached Data Collection Settings
Name | Type | Default | Details |
collector.memcached.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.memcached.threadpool | Integer | 1 | The thread count in the pool. |
collector.memcached.timeout | Integer | 30 | The timeout period (in seconds) for handling a Memcached data collection task. |
collector.script.cache.isPersistence | Boolean | true | Allows you to choose between ChronicleMap and inMemory cache.
|
Mongo Data Collection Settings
Name | Type | Default | Details |
collector.mongo.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.mongo.threadpool | Integer | 1 | The thread count in the pool. |
collector.mongo.timeout | Integer | 30 | The timeout period (in seconds) for handling a MongoDB data collection task. |
NetApp Data Collection Settings
Name | Type | Default | Details |
collector.netapp.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.netapp.threadpool | Integer | 5 | The thread count in the pool. |
collector.netapp.timeout | Integer | 15 | The timeout period (in seconds) for handling a NetApp data collection task. |
netapp.cacheExpiry | Integer | 30 | The amount of time (in seconds) NetApp perf-object-get-instances are cached. If 0, no caching takes place. |
netapp.connection.concurrency | Integer | 10 | The number of concurrent NetApp connections allowed for a single host. A value of 0 = no limitations. |
netapp.connection.threadPoolSize | Integer | 0 | Total number of threads to use for NetApp connections. If value is set to 0, this setting uses the value in place for collector.netapp.threadpool. |
Perfmon Data Collection Settings
Name | Type | Default | Details |
collector.perfmon.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.perfmon.threadpool | Integer | 5 | The thread count in the pool. |
collector.perfmon.timeout | Integer | 120 | The timeout period (in seconds) for handling a Perfmon data collection task. |
singlethreadpdh | Boolean | FALSE | If TRUE, only single-thread access is allowed for PDH transport technology. |
See Active Discovery Settings and SBProxy Settings for additional settings that relate to Perfmon data collection. |
Ping Data Collection Settings
Name | Type | Default | Details |
collector.ping.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.ping.threadpool | Integer | 5 | The thread count in the pool. |
collector.ping.timeout | Integer | 50 | The timeout period (in seconds) for handling a ping data collection task. |
collector.ping.asynchronous | Boolean | TRUE | If TRUE, the ping task is asynchronous, using the Collector’s FSMPingTask. If FALSE, the ping task is not asynchronous, using the Collector’s PingPoolTask. |
collector.ping.request.timeout.delta | Integer | 2 | The real timeout delta (in seconds) between the collector.ping.timeout and real request timeout. Used to report timeout before FSM timeout. |
pingpool.usejava | Boolean | FALSE | If TRUE, will use java ping. A proxy ping is used by default, but if issues are encountered with sbproxy, java ping can be used instead. |
See SBProxy Settings for an additional setting that relates to ping data collection. |
Script Data Collection Settings
Name | Type | Default | Details |
collector.script.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.script.threadpool | Integer | Varies based on Collector size. See Collector Capacity. | The maximum thread count to run script tasks. |
collector.script.timeout | Integer | 120 | The timeout period (in seconds) for handling any script data collection task. |
collector.script.asynchronous | Boolean | FALSE | If TRUE, the PowerShell script will run in SPSE. |
See Active Discovery Settings for an additional setting that relates to script data collection. |
SDK Script Data Collection Settings
Name | Type | Default | Details |
collector.sdkscript.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.sdkscript.threadpool | Integer | 10 | The thread count in the pool. |
collector.sdkscript.timeout | Integer | 120 | The timeout period (in seconds) for handling an SDK Script data collection task. |
sdkscript.extradependence.<n> | String | See details | Extra JAR dependencies for the SDKScript data collection method. By default, 3 JAR dependencies are defined and loaded into SDK scripts. JARs should be located in $AGENTROOT/lib. sdkscript.extradependence.1=logicmonitor-common.jar sdkscript.extradependence.2=logicmonitor-util.jar sdkscript.extradependence.3=sse.jar |
SNMP Data Collection Settings
Name | Type | Default | Details |
collector.snmp.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.snmp.threadpool | Integer | 50 | The thread count in the pool. |
collector.snmp.timeout | Integer | 5 | The timeout period (in seconds) for handling an SNMP data collection task. |
collector.snmp.asynchronous | Boolean | TRUE | If TRUE, SNMP data collection will run as an FSM SNMP task. |
snmp.get.batch.enable | Boolean | TRUE | SNMP data is collected using either batch or oneByOne mode.
snmp.get.batch.enable=true ) results in incomplete data, zero values (that is, raw data = 0), or timeouts, switch the setting to false to use oneByOne mode instead. To apply this configuration change, restart the Collector.This setting affects all SNMP polling performed by the Collector. After making this change, monitor the Collector to ensure it does not negatively impact other monitored devices. |
snmp.get.batch.autoDegrade.enable | Boolean | TRUE | If TRUE, failures in SNMP get OID requests are automatically detected and the get method is downgraded to individual OID requests. This setting is only considered if snmp.get.batch.enable is TRUE. |
snmp.extensibility.enable | Boolean | TRUE | If TRUE, SNMP4J extensibility is enabled, providing parsing support for SNMP integers with lengths > 4 bytes. |
snmp.ignore.lexicographic.order | Boolean | FALSE | If TRUE, SNMPwalk can return OIDs that are out of order, potentially causing an indefinite loop. |
snmp.pdu.timeout | Integer | 5 | SNMP PDU request timeout period (in seconds). As a general rule, this value should not be increased as too large of a timeout period may cause the SNMP retry framework to stop working correctly. Only increase this value if the remote device requires more time to respond. |
snmp.perHost.perSession.enable | Boolean | TRUE | If TRUE, an SNMP session is created for each SNMP v3 host. Enablement may lead to many SNMP threads depending upon the number of v3 hosts, CPU, and load. |
snmp.shareThreads.processThread.count | Integer | 10 | The maximum number of threads provisioned for processing/receiving responses over SNMP when sharing (via snmp.shareThreads.impl.v3.enable) is enabled. |
snmp.shareThreads.sendThread.count | Integer | 10 | The maximum number of threads provisioned for sending responses over SNMP when sharing (via snmp.shareThreads.impl.v3.enable) is enabled. |
snmp.shareThreads.impl.v3.enable | Boolean | TRUE | If TRUE, internal threads for SNMPv3 implementations are shared. A shared group of threads and queue is used to send out packets rather than scheduling of periodic tasks. |
snmp.shareThreads.impl.initialCheckDelay.minutes | Integer | 15 | (Applicable to SNMP v2c and v3) The initial delay (in minutes) before triggering a task to check for a blocked port. |
snmp.shareThreads.impl.checkInterval.minutes | Integer | 5 | (Applicable to SNMP v2c and v3) The interval (in minutes) in which a task checks for a blocked port. |
snmp.shareThreads.impl.switchport.enable | Boolean | TRUE | (Applicable to SNMP v2c and v3) TRUE – Discovers blocked port and triggers auto-switching to another port. FALSE – Only discovers blocked port but auto switch is not performed. |
snmp.timerThread.count | Integer | 4 | The number of timer threads when sharing threads. |
snmp.udp.ratelimit | Integer | 2000 | The rate limit for request (per second) that one SNMP session will handle. |
snmp.walk.batch.enable | Boolean | TRUE | If TRUE, SNMP GETBULK is used to implement SMNPwalk. If FALSE, GETNEXT is used. |
snmp.walk.batch.autoDegrade.enable | Boolean | TRUE | If TRUE, the failure of SNMP GETBULK is auto-detected and GETNEXT is used to implement SMNPwalk. |
See Active Discovery Settings and AutoProperties Settings for additional settings that relate to SNMP data collection. |
TCP Data Collection Settings
Name | Type | Default | Details |
collector.tcp.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.tcp.threadpool | Integer | 5 | The thread count in the pool. |
collector.tcp.timeout | Integer | 60 | The timeout period (in seconds) for handling a TCP data collection task. |
UDP Data Collection Settings
Name | Type | Default | Details |
collector.udp.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.udp.threadpool | Integer | 5 | The thread count in the pool. |
collector.udp.timeout | Integer | 60 | The timeout period (in seconds) for handling a UDP data collection task. |
Webpage Data Collection Settings
Property | Type | Default | Description |
collector.webpage.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.webpage.threadpool | Integer | 10 | The thread count in the pool. |
collector.webpage.timeout | Integer | 30 | The timeout period (in seconds) for handling a web page data collection task. |
collector.webpage.asynchronous | Boolean | TRUE | If TRUE, this collection method will run as an asynchronous process. |
httpapi.tls.version | String | TLSv1.3 | TLS version of HTTP connection for groovy. The supported TLS versions are TLSv1.2 and TLSv1.3. EA Collector 35.400 onwards, the default version is TLSv1.3. |
http.async.connection.request.timeout | Integer | 5 | The timeout period (in seconds) for requesting a connection from the connection manager. |
http.async.default.connectTimeout | Integer | 5 | The timeout period (in seconds) for establishing a connection. |
http.async.default.readTimeout | Integer | 5 | The timeout period (in seconds) for inactivity between two consecutive data packets. |
webpage.circular.redirect | Boolean | FALSE | Allows circular redirect following by the WEBPAGE Collector. |
webpage.normalize.uri | Boolean | TRUE | Enables you to normalise the URL of a redirected website. Collector may stop collecting data and get timed out from a website/web server when it is redirected to another website that has an extra forward slash ( / ) at the end of its URL. If TRUE, this property drops the extra forward slash ( / ) at the end of the redirected URL. |
webpage.support.rc4.ciphers | Boolean | TRUE | If TRUE, the RC4 cipher algorithm is supported for HTTP clients. |
WMI Data Collection Settings
Name | Type | Default | Details |
collector.wmi.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.wmi.threadpool | Integer | 50 | The thread count in the pool.(depending on collector size) |
collector.wmi.timeout | Integer | 120 | The timeout period (in seconds) for handling a WMI data collection task. |
collector.wmi.asynchronous | Boolean | TRUE | If TRUE, this collection method will run as an asynchronous process. |
collector.wmi.property.trim.enable | Boolean | FALSE | If TRUE, white space is trimmed from the WMI query result. |
collector.wmi.request.timeout.delta | Integer | 3 | The real timeout delta (in seconds) between the collector.wmi.timeout and real request timeout. Used to report timeout before FSM timeout. |
discover.instance.wmi.timeout.seconds | Integer | 30 | WMI query timeout length that is used when finding Processes/Services for monitoring from the Additional Monitoring dialog in the portal |
See Active Discovery Settings, AutoProperties Settings, and SBProxy Settings for additional settings that relate to WMI data collection. |
Xen Data Collection Settings
Name | Type | Default | Details |
collector.xen.enable | Boolean | TRUE | If TRUE, this collection method is enabled on the Collector (assuming it is also specified in the collector.defines setting). |
collector.xen.connect.timeout.in.seconds | Integer | 10 | Timeout (in seconds) for XenServer connection. |
collector.xen.read.timeout.in.seconds | Integer | 30 | Timeout (in seconds) for XenServer read response. |
collector.xen.threadpool | Integer | 20 | The thread count in the pool. |
collector.xen.timeout | Integer | 600 | The timeout period (in seconds) for handling a XenServer data collection task. |
xen.pool.concurrency | Integer | 10 | The number of concurrent connections to the XenServer pool master. |
xen.pool.cachesize | Integer | 10000 | The maximum number of entries allowed to be stored in the metrics cache for a XenServer pool. |
See AutoProperties Settings for additional settings that relate to XenServer data collection. |
Event Collection Method Settings
Event collection settings are organized by the following collection methods:
Global Event Collection Settings
Name | Type | Default | Details |
eventcollector.defines | String | echo,wineventlog,snmptrap,syslog,logfile,scriptevent,httpevent | Defines the event collection methods that are supported by the Collector. |
HTTP Event Collection Settings
Name | Type | Default | Details |
eventcollector.httpevent.enable | Boolean | TRUE | If TRUE, this event collection method is enabled on the Collector (assuming it is also specified in the eventcollector.defines setting). |
eventcollector.httpevent.threadpool | Integer | 10 | The thread count in the pool. |
Log File Event Collection Settings
Name | Type | Default | Details |
eventcollector.logfile.enable | Boolean | TRUE | If TRUE, this event collection method is enabled on the Collector (assuming it is also specified in the eventcollector.defines setting). |
eventcollector.logfile.threadpool | Integer | 10 | The thread count in the pool. |
eventcollector.logfile.autoDetectEncodingBytesThreshold | Integer | 4096 | The maximum length of bytes when detecting encoding. |
eventcollector.logfile.autoDetectEncodingConfidenceThreshold | Integer | 90 | The threshold for confidence that file encoding was successfully auto detected. When the detection confidence threshold percentage is ≥ value, auto detection is treated as a success. The range is 0-100. |
Script Event Collection Settings
Name | Type | Default | Details |
eventcollector.scriptevent.enable | Boolean | TRUE | If TRUE, this event collection method is enabled on the Collector (assuming it is also specified in the eventcollector.defines setting). |
eventcollector.scriptevent.threadpool | Integer | 10 | The thread count in the pool. |
eventcollector.scriptevent.perCollector.perMin.threshold | Integer | 1000 | The maximum count of script events the Collector can generate per minute. |
eventcollector.scriptevent.perHostThreshold | Integer | 50 | The maximum events threshold per host on this Collector |
eventcollector.scriptevent.perHost.perMin.threshold | Integer | 500 | The maximum events threshold per host on this Collector, per minute. |
SNMP Trap Event Collection Settings
Name | Type | Default | Details |
eventcollector.snmptrap.enable | Boolean | TRUE | If TRUE, this event collection method is enabled on the Collector (assuming it is also specified in the eventcollector.defines setting). |
eventcollector.snmptrap.threadpool | Integer | 10 | The thread count in the pool. |
eventcollector.snmptrap.address | String | udp:0.0.0.0/162 | The listening port/IP address for SNMP traps. |
eventcollector.snmptrap.community | String | <EMPTY> | The community string (applicable to SNMPv1 and SNMPv2c only) |
eventcollector.snmptrap.security | String | public | Username credential (applicable to SNMPv3 only). |
eventcollector.snmptrap.auth | String | sha | The authentication algorithm (applicable to SNMPv3 only). “md5” is also supported here. |
eventcollector.snmptrap.auth.token | String | PleaseModifyThis | The secret token for authentication (similar to password). Applicable to SNMPv3 only. |
eventcollector.snmptrap.priv | String | aes128 | The privacy algorithm (applicable to SNMPv3 only). In addition to the default aes128 algorithm, the following values are supported: des | aes | 3des | aes128 | aes192 | aes256 | aes192c | aes256c. |
eventcollector.snmptrap.priv.token | String | PleaseModifyThis | The secret token for privacy (similar to password). Applicable to SNMPv3 only. |
Syslog Event Collection Settings
Name | Type | Default | Details |
eventcollector.syslog.enable | Boolean | TRUE | If TRUE, this event collection method is enabled on the Collector (assuming it is also specified in the eventcollector.defines setting). |
eventcollector.syslog.max.message.lenth | Integer | 1024 | The maximum message size (in bytes) that syslog will process. |
eventcollector.syslog.multi.thread.enable | Boolean | TRUE | If TRUE, enables multithreaded syslog server. |
eventcollector.syslog.threadpool | Integer | 10 | The thread count in the pool. |
eventcollector.syslog.port | Integer | 514 | The port used to receive Syslog messages. |
eventcollector.syslog.queue | Integer | 10000 | The queue capacity of Syslog executor. |
eventcollector.syslog.supportDateFormat.<n> | String | See details | The Syslog event date/time formatting strings. By default, the following formats <n> are supported:
1=MMM dd HH:mm:ss 2=yyyy-MM-dd’T’HH:mm:ss.SSS 3=MMM dd HH:mm:ss.SSS z 4=’date=’yyyy-MM-dd’,time=’HH:mm:ss 5=MMM dd yyyy HH:mm:ss 6=yyyy-MM-dd’T’HH:mm:ss.SSSXXX 7=yyyy-MM-dd’T’HH:mm:ss.SSSSSS’Z’ |
eventcollector.syslog.receive.buffer.size | Integer | 1048576 | The buffer size (in bytes) of Syslog event Collector UDP receive. |
Windows Event Log Collection Settings
Name | Type | Default | Details |
eventcollector.wineventlog.enable | Boolean | TRUE | If TRUE, this event collection method is enabled on the Collector (assuming it is also specified in the eventcollector.defines setting). |
eventcollector.wineventlog.threadpool | Integer | 10 | The thread count in the pool. |
eventcollector.wineventlog.timeout | Integer | 120 | The timeout period (in seconds) for handling a Windows event log event collection task. |
eventcollector.wineventlog.criticalmappings | String | Critical,Critique,Kritisch,Critico | If critical events are being reported to the event log in a language other than English, add the localized string to this setting for mapping to critical severity. |
eventcollector.wineventlog.enable.single.mode.timeout.count | Integer | 5 | When the timeout count for Windows event log collection surpasses the value assigned to this setting, single mode is enabled. This setting is only considered if event collector.wineventlog.timeout.enable.single.mode is TRUE. |
eventcollector.wineventlog.timeout.enable.single.mode | Boolean | TRUE | If TRUE, single mode is enabled when the timeout count surpasses the value assigned to eventcollector.wineventlog.enable.single.mode.timeout.count. |
eventcollector.wineventlog.interval | Integer | 120 | Interval to collect winevent log. |
eventcollector.wineventlog.max.eventitem | Integer | 500 | The maximum number of events fetched per request. If the value of this setting is 0, it will fetch all items per request. |
eventcollector.wineventlog.query.delay.time.seconds | Integer | 30 | The time (in seconds) that a query will be delayed. |
eventcollector.wineventlog.query.time.range.seconds* | Integer | 120 | The Windows event log query time range (in seconds) for each query. |
Active Discovery Settings
Name | Type | Default | Details |
ad.snmp.retry4filter.count | Integer | 3 | The number of times the SNMP Active Discovery task will retry filtering walked result. |
ad.snmp.client.retry.count | Integer | 1 | The number of times the SNMP Active Discovery task will retry. |
ad.snmp.walk.timeout | Integer | 300 | The timeout period (in seconds) for the SNMPwalk in an SNMP Active Discovery task. |
ad.snmp.retry4filter.count | Integer | 3 | The number of times the SNMP Active Discovery task will retry filtering walked result. |
discover.default.timeoutInSec | Integer | 3600 | The timeout period (in seconds) for Active Discovery tasks. |
discover.delayscheduler.enable | Boolean | TRUE | If TRUE, Active Discovery tasks are executed with the delay defined in the discover.delayscheduler.periodInSec setting. |
discover.delayscheduler.periodInSec | Integer | 60 | Active Discovery task schedule delay (in seconds). |
discover.history.maxItem | Integer | 32 | The maximum count for the number of Active Discovery history items stored in memory. |
discover.jdbc.timeoutInSec | Integer | 120 | The timeout (in seconds) for JDBC tasks in Active Discovery. |
discover.perfmon.timeoutInSec | Integer | 120 | The timeout (in seconds) for Perfmon tasks in Active Discovery. |
discover.queue.capacity | Integer | 5000 * 50 | Queue capacity for Active Discovery task. |
discover.workers | Integer | Varies based on Collector size. See Collector Capacity. | The number of worker resources allocated for Active Discovery iterations. |
discover.script.timeoutInSec | Integer | 300 | The timeout (in seconds) for script tasks in Active Discovery. |
discover.wmi.timeoutInSec | Integer | 120 | The timeout (in seconds) for WMI tasks in Active Discovery. |
See PowerShell Settings for an additional setting that relates to Active Discovery. |
AutoProperties Settings
Name | Type | Default | Details |
autoprops.detectors.order | String | wmiDetector, snmpDetector | The order in which AutoProperties are detected. |
autoprops.timeout | Integer | 60 | The timeout period (in seconds) for AutoProperties task. |
autoprops.port.timeout | Integer | 60 | The timeout period (in seconds) for port scanning during a NetScan. |
autoprops.workers | Integer | Varies based on Collector size. See Collector Capacity. | The thread pool size for AutoProperties. |
autoprops.history.maxItem | Integer | 32 | The maximum count for the number of AutoProperties history items stored in memory. |
autoprops.esx.detectedUrlFormats | String | https://%s/sdk/vimServiceVersions.xml | The URL used to detect VMware ESX server. Use “%s” as a variable for the resource name. Multiple values are supported via comma-separated list. |
autoprops.jdbc.connectTimeout | Integer | 10 | The timeout period (in seconds) for JDBC AutoProperties connection. |
autoprops.jdbc.queryTimeout | Integer | 10 | The timeout period (in seconds) for JDBC AutoProperties query. |
autoprops.queue.capacity | Integer | 5000 | The queue capacity for AutoProperties tasks. |
autoprops.wmi.retry.interval.in.second | Integer | 5 | The retry interval (in seconds) for WMI AutoProperties task. |
autoprops.wmi.retry.max.times | Integer | 20 | The maximum number of retry times for WMI AutoProperties task. |
autoprops.wmi.timeout | Integer | 60 | The timeout period (in seconds) for WMI AutoProperties task. |
autoprops.xen.apicheck | Boolean | TRUE | If TRUE, the XenServer will be detected via API method. |
autoprops.xen.apicheck.workers | Integer | 4 | The thread count for detecting XenServer via API. |
autoprops.xen.apicheck.timeout | Integer | 10 | The timeout period (in seconds) for detecting XenServer via API. |
property.detecting.task.timeout | Integer | 300 | The timeout period (in seconds) for detecting properties. |
ConfigSource Settings
Name | Type | Default | Details |
configcollector.defines | String | script | Defines ConfigSource monitoring method; only “script” is supported. |
configcollector.postprocess.threadpool | Integer | 10 | The thread pool size for the configuration collection to post process the configuration. |
configcollector.postprocess.timeout.in.seconds | Integer | 30 | The timeout period (in seconds) for configuration post processing. |
configcollector.script.enable | Boolean | TRUE | If TRUE, enables script ConfigSource monitoring. |
configcollector.script.threadpool | Integer | 30 | The thread pool size for configuration collection script tasks. |
configcollector.script.timeout | Integer | 300 | The timeout period (in seconds) for configuration collection script tasks. |
config.update.timeout.in.millisecond | Integer | 60_000 or 1 min | The timeout period (in milliseconds) for reading/writing configuration files. |
configsource.configuration.max | Integer | 3145728 | The maximum length (in bytes) of configuration reported. |
Credential Vault Settings
The following table lists the configuration properties to set in the Collector agent.conf.
Property | Type | Default | Description |
vault.bypass | Boolean | TRUE | If the value for the property is true, the vault API calls won’t happen. Note: You must set the property to false, to enable the vault API calls. |
vault.credentials.cache.expirationtime | Integer | 60 | The property specifies the value in minutes for the expiry of the credential in the vault cache on the collector. After this time, the credentials in the vault cache will expire. |
vault.credentials.refresh.delay | Integer | 15 | Controls the Credential Vault integration cache expiration refresh delay in seconds. |
vault.url.cache.enabled | Boolean | FALSE | The property specifies whether the URL cache is enabled or not. By default the property is set as false; however, if the property is set to true the collector caches the URL and secret value. If the URL for lmvault property is found in the URL cache, the respective secret value is returned, else the API call is made to fetch the secret from the vault. Setting this property to ‘true’ should resolve API rate-limiting issues. |
vault.url.cache.max.size | Integer | 1000 | The property defines the number of URLs that will be stored in the cache. |
CSProxy Settings
Name | Type | Default | Details |
csproxy.enable | Boolean | TRUE | If TRUE, the CSProxy is enabled. |
csproxy.dns.host | String | appproxy.logicmonitor.com | The DNS host for the CSProxy. |
csproxy.active.time | Integer | 1 | The time (in minutes) after which agent will begin to detect the platform. |
csproxy.santaba.detect.period | Integer | 1 | Interval (in minutes) in which platform is detected. |
csproxy.switch.time | Integer | 12 | The delay (in seconds) before the Collector will switch to CSProxy if Santaba is detected as unavailable. This will avoid unnecessary switching in cases of very brief network interruption. |
csproxy.debug.host | String | 127.0.0.1 | The host used in csproxy checking. |
csproxy.debug.mode | Boolean | TRUE | If TRUE, csproxy debug mode is enabled. |
LM Logs
Name | Type | Default | Details |
lmlogs.syslog.enabled | Boolean | FALSE | If TRUE, LM Logs feature is enabled in Collector. When enabled, Syslog EventSources will stop working. |
lmlogs.syslog.hostname.format | String | IP | Determines how hostname received in the syslog message will be resolved. Other acceptable values include “FQDN”, “HOSTNAME”, and “DO_NOTHING”. (If “DO_NOTHING” is set, the hostname is not resolved and add the received host directly as the resource id. |
lmlogs.syslog.property.name | String | system.hostname | Resource properties which we want to use for device mapping. |
lmlogs.syslog.useTimestampWhenCollectorReceivedLogs | Boolean | FALSE | Set to TRUE in order to avoid the incorrect time parsing that results when syslog events you are sending to LogicMonitor do not include timezone information. |
logsource.syslog.filter.<n>.<filter>.<operation> | String | This is filter used in lmlogs Where: 1) n is number from 1..n. 2) filter is i)severity ii) message iii) facility iv) application 3) operation will be i) equal ii) moreurgentthan iii) notequal iv) contain v) notcontain vi) regexmatch vii) regexnotmatch viii) exists ix) notexists x) greaterthan xi) greaterequal xii) lessthan xiii) lessequal E.g logsource.syslog.filter.1.severity.equal=error Configure agent for syslog Log Ingestion with filter error. Note: Starting with EA Collector 35.200 or later, the logsource.syslog.filter.<n>.<filter>.<operation> filters are not supported. You can add the filters to the LogSource to maintain the same level of filtering. For more information, see Syslog LogSource Configuration. | |
lmlogs.snmptrap.formatMessageAsJson.enabled | Boolean | false | Starting with EA Collector 36.200, you can manage the format of the SNMP trap messages.
|
lmlogs.snmptrap.community.based.auth.enabled | Boolean | true | Starting with EA Collector 36.100, you can manage the community string validation of the SNMP v1 and v2c traps.
|
lmlogs.snmptrap.enabled | Boolean | false | Starting with EA Collector 35.200, you can enable or disable the LM Logs feature for SNMP traps.
|
lmlogs.snmptrap.include.trap.description.enabled | Boolean | true | Starting with EA Collector 37.100, if a description of the translated SNMP trap OID is present in the MIB file, it will be included in the log message. If you do not want the description in the log message, set the value of this property to false . |
For more information about syslog properties, see Configuring Resource Mapping in Sending Syslog Logs.
Logger Settings
Logger settings control Collector logging. They are not related to LM Logs or EventSources.
Name | Type | Default | Details |
logger.level | String | info | The level of logging for Collector activities. Additional acceptable values include trace | debug | warn | error | disable. |
logger.output | String | console | Determines the location to which the logger outputs. |
logger.level.alerter | String | The value assigned to logger.level | The level of logging for Collector activities related to the alerter component. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.autoprops | String | The value assigned to logger.level | The level of logging for Collector activities related to AutoProperties. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.agent | String | The value assigned to logger.level | The level of logging for Collector activities related to the Collector component. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.batchscript | String | The value assigned to logger.level | The level of logging for Collector activities related to BatchScript data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.cim | String | The value assigned to logger.level | The level of logging for Collector activities related to CIM data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.datapump | String | The value assigned to logger.level | The level of logging for Collector activities related to Data Pump data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.dns | String | The value assigned to logger.level | The level of logging for Collector activities related to DNS data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.esx | String | The value assigned to logger.level | The level of logging for Collector activities related to ESX data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.externalwebpage | String | The value assigned to logger.level | The level of logging for Collector activities related to Web page data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.ipmi | String | The value assigned to logger.level | The level of logging for Collector activities related to IPMI data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.jdbc | String | The value assigned to logger.level | The level of logging for Collector activities related to JDBC data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.jmx | String | The value assigned to logger.level | The level of logging for Collector activities related to JMX data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.memcached | String | The value assigned to logger.level | The level of logging for Collector activities related to Memcached data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.mongo | String | The value assigned to logger.level | The level of logging for Collector activities related to Mongo data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.netapp | String | The value assigned to logger.level | The level of logging for Collector activities related to NetApp data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.perfmon | String | The value assigned to logger.level | The level of logging for Collector activities related to Perfmon data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.ping | String | The value assigned to logger.level | The level of logging for Collector activities related to ping data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.script | String | The value assigned to logger.level | The level of logging for Collector activities related to script data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.snmp | String | The value assigned to logger.level | The level of logging for Collector activities related to SNMP data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.s3 | String | The value assigned to logger.level | The level of logging for Collector activities related to Amazon S3 data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.tcp | String | The value assigned to logger.level | The level of logging for Collector activities related to TCP data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.udp | String | The value assigned to logger.level | The level of logging for Collector activities related to UDP data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.webpage | String | The value assigned to logger.level | The level of logging for Collector activities related to web page data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.wmi | String | The value assigned to logger.level | The level of logging for Collector activities related to WMI data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.collector.xen | String | The value assigned to logger.level | The level of logging for Collector activities related to XenServer data collection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.controller | String | The value assigned to logger.level | The level of logging for Collector activities related to the controller component. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.discover | String | The value assigned to logger.level | The level of logging for Collector activities related to Active Discovery. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.eventcollector.httpevent | String | The value assigned to logger.level | The level of logging for Collector activities related to event collection via HTTP. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.eventcollector.logfile | String | The value assigned to logger.level | The level of logging for Collector activities related to event collection via log files. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.eventcollector.scriptevent | String | The value assigned to logger.level | The level of logging for Collector activities related to event collection via script. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.eventcollector.snmptrap | String | The value assigned to logger.level | The level of logging for Collector activities related to event collection via SNMP trap. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.eventcollector.syslog | String | The value assigned to logger.level | The level of logging for Collector activities related to event collection via Syslog. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.eventcollector.wineventlog | String | The value assigned to logger.level | The level of logging for Collector activities related to event collection via Windows event logs. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.monitor | String | The value assigned to logger.level | The level of logging for Collector activities related to the monitoring component. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.propsdetection | String | The value assigned to logger.level | The level of logging for Collector activities related to property detection. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.reporter | String | The value assigned to logger.level | The level of logging for Collector activities related to reporting. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.sbproxy | String | The value assigned to logger.level | The level of logging for Collector activities related to the SBProxy. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.scanner | String | The value assigned to logger.level | The level of logging for Collector activities related to scanning. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.scriptproperty | String | The value assigned to logger.level | The level of logging for Collector activities related to scriptproperty. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.watchdog | String | The value assigned to logger.level | The level of logging for Collector activities related to the Watchdog service. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
logger.level.webservice | String | The value assigned to logger.level | The level of logging for Collector activities related to webservice. The acceptable values are trace | debug | info | warn | error | disable. If a value is not assigned to this setting, the value assigned to logger.level is used. |
reduce.logger.enable | Boolean | TRUE | If TRUE, the reduce logger task is enabled. |
reduce.logger.aggregate.threshold | Integer | 500 | Maximum number of logs to aggregate. |
reduce.logger.cache.number | Integer | 5 | The reduce cache number. |
reduce.logger.cache.expire.mills | Integer | 600_000/*10MIN*/ | Cache expiration time (in milliseconds). |
reduce.logger.schedule.interval | Integer | 60000 | The interval (in seconds) in which the reduce logger task is scheduled to run. |
Network Traffic Flow (NetFlow) Settings
Name | Type | Default | Details |
netflow.enable | Boolean | true | If true , NetFlow module is enabled on Collector. |
netflow.ports | Integer | 2055 | The UDP listening port for NetFlow protocol data. Supports NetFlow versions 1, 3, 5, 7, 9, and 10. |
netflow.sflow.ports | Integer | 6343 | The UDP listening port for sFlow protocol data. |
netflow.datadir | String | netflow | The path of the HSQL database. |
netflow.datadir.maxSizeInMB | Integer | 10240 | The maximum size (in megabytes) of the NetFlow data directory. |
netflow.log.maxNumPerMinute | Integer | 5 | how frequently the netflow error must get logged, default value is 5 |
netflow.netflow9.templateLife | Integer | 720 | The expiration time (in hours) for NetFlow version 9 and 10 templates. |
netflow.topFlowSamples | Integer | 1000 | The maximum sample number of top flows. Allowed range is from 100-2000. |
netflow.nbar.enabled | Boolean | false | If true , the Collector parses the applicationID and ApplicationType. LogicMonitor Enterprise and Collector version 29.101 or higher are required. |
netflow.ipv6.enabled | Boolean | true | If false , the Collector will ignore flows from IPv6 addresses. |
netflow.log.largeBytesOrPackets | Integer | 1073741824 | Logs flows with packets or bytes larger than the integer specified. |
netflow.use.new.logic | Boolean | true | If true , multi-threaded receiver logic is executed; if false , a single thread receiver. |
netflow.threads | Integer | 1 | If netflow.use.new.logic is true , the number specified here determines the number of NetFlow threads. |
sflow.threads | Integer | 1 | If netflow.use.new.logic is true , the number specified here determines the number of sFlow threads. |
netty.rcv.buff.size | Integer | 65507 | Netflow receiver buffer size (in bytes). |
netflow.sqlLog.enable | Boolean | true | If true , NetFlow HSQL logging is enabled. |
netflow.flowcache.duration | Integer | 20 | The duration (in seconds) of flows that persist in cache. |
netflow.executeCP.timeIntervalInSec | Integer | 1800 | The interval (in seconds) in which the NetFlow HSQL DB check is executed. |
netflow.executeCP.datasize | Integer | 300000000 | NetFlow HSQL DB check size (in bytes). |
netflow.latestFlowRecordCache.maxSize | Integer | 10000 | The maximum number of recent flows to hold in cache. |
netflow.latestFlowRecordCache.recordExpireInterval | Integer | 7200 | The duration (in seconds) of recent flows that persist in cache. |
netflow.flowcache.expiry.seconds | Integer | 120 | The duration (in seconds) of flows that persist in cache before inserting the flow records in the NetFlow HSQL DB. |
netflow.sampling.enabled | Boolean | false | If true , the collector parses the sampler information and performs sampling of the flow data. You must have EA Collector 29.105 or later to use this configuration. |
netflow.inserter.min.thread | Integer | 10 | The minimum thread count available for inserting flow records in the NetFlow HSQL DB. |
netflow.inserter.max.thread | Integer | 20 | The maximum thread count available for inserting flow records in the NetFlow HSQL DB. |
netflow.inserter.queue.capacity | Integer | 5000 | The maximum capacity of the queue for storing flow records before inserting them in the NetFlow HSQL DB. |
netflow.template.inserter.timeIntervalInSec | Integer | 60 | The time interval (in seconds) for inserting NetFlow templates in the NetFlow HSQL DB. |
netflow.db.connection.pool.size | Integer | 40 | The maximum number of database connections that can be simultaneously held in the NetFlow HSQL DB connection pool. |
enable.netflow.parallel.execution | Boolean | true | If true , a multi-threaded packet processing logic is used. If false , a single-threaded packet processor is used. |
PowerShell Settings
Name | Type | Default | Details |
powershell.policy | String | RemoteSigned | PowerShell execution policy. Other possible values include: Restricted | AllSigned | Unrestricted |
powershell.error.action | String | Continue | Defines the action to be taken when a non-terminating error event occurs.
|
powershell.redirect.exception.enable | Boolean | TRUE | If TRUE, PowerShell exceptions are passed as messages to user by rethrowing. |
powershell.trap.exception.enable | Boolean | FALSE | If TRUE, PowerShell exceptions are “trapped” and a value of 0 is returned regardless of what is returned by the script. |
powershell.console.width | Integer | 80 | The console screen buffer width (in columns) for PowerShell |
powershell.spse.enable | Boolean | TRUE | If TRUE, the standalone PowerShell script engine (SPSE) is enabled and all PowerShell scripts will run in the SPSE. |
powershell.spse.executor.reject.sleep.time.in.ms | Integer | 100 | The retry interval (in milliseconds) for submitting requests to SPSE. Only considered if powershell.spse.enable is TRUE. |
powershell.spse.process.count.min | Integer | 3 | The minimum number of PowerShell processes. Only considered if powershell.spse.enable is TRUE. |
powershell.spse.process.count.max | Integer | 10 | The maximum number of PowerShell processes. Only considered if powershell.spse.enable is TRUE. |
powershell.spse.queue.size | Integer | 10 | The queue size for SPSE tasks to be reported. Only considered if powershell.spse.enable is TRUE. |
powershell.spse.ad.timeout.in.sec | Integer | 300 | The timeout period (in seconds) for PowerShell script in Active Discovery context. Only considered if powershell.spse.enable is TRUE. |
Proxy and SSL Settings
Name | Type | Default | Details |
proxy.enable | Boolean | FALSE | If TRUE, the Collector will communicate through an HTTP proxy (rather than connect directly with the LogicMonitor data centers) using the proxy.<x> settings specified. |
proxy.host | String | <EMPTY> | Designates the IP address of the HTTP proxy server. |
proxy.port | Integer | <EMPTY> | Designates the port the HTTP proxy server uses. |
proxy.user | String | <EMPTY> | Designates the username the Collector uses when connecting to the HTTP proxy. |
proxy.pass | String | <EMPTY> | Designates the password the Collector uses when connecting to the HTTP proxy. |
proxy.pass.isencrypted | Boolean | FALSE | Indicates if the proxy password is encrypted or not. Enter a plain text password in the proxy.pass field and click Save and Restart to encrypt the password and set the proxy.pass.isencrypted to “true”. To change the proxy password, you can set proxy.pass.isencrypted to “false”. Note: This setting is available in Collector version 30.104 or later. |
proxy.global | Boolean | FALSE | If TRUE, ESX and XEN traffic from the Collector is additionally pushed through the proxy. If FALSE, the proxy applies to traffic between the Collector and the LogicMonitor platform only. |
ssl.enable | Boolean | TRUE | If TRUE, the connection between the Collector and the LogicMonitor platform will be encrypted via SSL. |
EnforceLogicMonitorSSL | Boolean | TRUE | If TRUE, the Collector requires a valid SSL certificate issued directly from LogicMonitor in order to initiate communication. If one is not available, the Collector will fail to properly start. Setting to FALSE removes this SSL enforcement, lowering the security of the connection between your Collector and LogicMonitor. |
See Remote Session Settings for additional settings that relate to the proxy. |
Remote Session Settings
Name | Type | Default | Details |
remotesession.disable | Boolean | FALSE | If TRUE, Remote Session capabilities are disabled for all devices assigned to the Collector. |
remotesession.proxy.enable | Boolean | TRUE | If TRUE (and assuming the proxy.enable setting is also TRUE), the Collector’s remote sessions will connect to the relay server through the local HTTP proxy configured in Proxy and SSL Settings. If proxy.enable is FALSE, this setting is ignored. |
remotesession.useproxy.forceSSLCheck | Boolean | TRUE | If TRUE, the Collector requires a valid SSL certificate from the relay server. If one is not available, the remote session will fail to initiate. Setting to FALSE removes this SSL enforcement. |
SBProxy Settings
Name | Type | Default | Details |
sbproxy.address | String | 127.0.0.1 | Address of the SBProxy server. Generally, this should not be modified. |
sbproxy.connector.capacity | Integer | Varies based on Collector size. See Collector Capacity. | The maximum number of requests that the Collector can send in parallel to sbwinproxy and sblinuxproxy. |
sbproxy.downtime.seconds | Integer | 300 | The amount of time (in seconds) since the last received response that must pass before the SBProxy is considered down. The value range allowed for this setting is 300-1200. |
sbproxy.echo.failed.count | Integer | 3 | Check sbproxy status failed count. |
sbproxy.linux.threadPoolSize | Integer | 120 | The maximum number of threads initially available for processing SBProxy requests. |
sbproxy.linux.timeout | Integer | 30 | The timeout period (in seconds) for processing a Linux server request. |
sbproxy.logsize | Integer | 64 | Log size for sbproxy.log |
sbproxy.monitor.enable | Boolean | TRUE | If TRUE, the watchdog monitors the SBProxy |
sbproxy.pdhNoAuthentication | Boolean | FALSE | If TRUE, PDH authentication is enabled. |
sbproxy.port | Integer | 7211 | The port used to communicate between Watchdog and Collector services to SBProxy. |
sbproxy.process.timeout.thread.count | Integer | 2 | Timeout thread pool count. |
sbproxy.restartOn102 | Boolean | FALSE | If TRUE and Windows encounters error 102, SBProxy will attempt to restart itself (applicable to Perfmon and WMI). |
sbproxy.starting.duration.seconds* | Integer | 60 | The amount of time (in seconds) it is assumed that SBProxy will take to start up after Collector is up. During this period, NaN will not be reported. |
sbproxy.timeout.queue.size | Integer | 1024 | The size of sbproxy timeout queue. |
sbproxy.windows.pdhQueueCapacity | Integer | 200 | PDH task queue capacity. |
sbproxy.windows.pdhTaskTimeout | Integer | 0 | The timeout period (in seconds) for PDH task processing. If set to 0, no timeout. |
sbproxy.windows.pdhThreadPoolSize | Integer | 50 | The thread pool size for PDH task handling. |
sbproxy.windows.queueCapacity | Integer | 100 | The capacity of Windows sbproxy queue. |
sbproxy.windows.taskCommitTimeout | Integer | 30 | The timeout period for putting a received task into SBProxy’s internal processing queue . |
sbproxy.windows.taskTimeout | Integer | 0 | The timeout period (in seconds) for task processing. If set to 0, no timeout. |
sbproxy.windows.threadPoolSize | Integer | 10 | The thread pool size for tasks other than PDH or WMI. |
sbproxy.windows.wmiQueueCapacity | Integer | 200 | The task queue capacity for tasks WMI. |
sbproxy.windows.wmiTaskTimeout | Integer | 0 | The timeout period (in seconds) for processing tasks other than PDH. If set to 0, no timeout |
sbproxy.windows.wmiThreadPoolSize | Integer | 60 | The thread pool size for WMI task handling. |
sbproxy.wmi.wmi64enable | Boolean | FALSE | If TRUE, 64-bit WMI is enabled. |
ping.pingers.icmp.id.increment.enable | Boolean | FALSE | Enable auto increment of ICMP ID when ping sequence reaches 65535. |
ping.pingers.icmp.per.host.enable | Boolean | FALSE | Enable different ping ICMP ID per host. |
ping.pingers.host.succes.to.fail.inc.icmpid.enable | Boolean | TRUE | Enable increment of ICMP ID when host ping fails. |
ping.pingers.id.range | String | 1000,5000 | Set ICMP identifier range for ping. The format to set the range is comma separated. For example: minimumICMPId, maximumICMPId. Sometimes a ping destination may not respond if the ICMP Id range is too large. In such scenario reduce the ICMP identifier range. |
ping.icmp.host.session.expire.time.in.seconds | Integer | 300 | Set the ICMP ping host session expire time. |
See Watchdog Settings for additional settings that relate to the SBProxy. |
SSE Settings
Name | Type | Default | Details |
sse.log.root | String | <SBAGENTROOT>/logs | The location of the SSE log files. |
sse.collectorgroup.restartpolicy.processedtask.count | Integer | 2000000 | The task count at which the SSE Collector group will restart. |
sse.collectorgroup.spawnpolicy.process.maxcount | Integer | 1 | The maximum count of SSE processes that can be spawned for the Collector group. |
sse.collectorgroup.spawnpolicy.concurrenttask.maxcount | Integer | 400 | The number of tasks that can run concurrently for each Collector group SSE process. |
sse.collectorgroup.init.timeout.inSec | Integer | 40 | Timeout (in seconds) for Collector SSE process initialization. If initialization fails, script tasks will not be sent to SSE. |
sse.collectorgroup.jvm.locale | String | en-us | Allows tweaking of JVM locale. Tweaking is sometimes needed to correct date parsing in some locales. |
sse.collectorgroup.jvm.threadpool.maxsize | Integer | 200 | The maximum thread count for SSE processing for the Collector group. |
sse.collectorgroup.jvm.heap.minInMB | Integer | 32 | The minimum heap size (in megabytes) for Collector group SSE. |
sse.collectorgroup.jvm.heap.maxInMB | Integer | 0 | If the value = 0, the maximum SSE heap size is set dynamically based on the Collector size. If the value is > 0, the value provided is used as the maximum heap size, regardless of Collector size. The sse.collectorgroup.jvm.heap.max.controlByWrapper setting must be set to FALSE for this setting to be considered. |
sse.collectorgroup.jvm.metaspace.maxInMB | Integer | 0 | The maximum metaspace size (in megabytes) for Collector group SSE. |
sse.collectorgroup.jvm.heap.max.controlByWrapper | Boolean | TRUE | If TRUE, the maximum heap size for the Collector is controlled by the Collector’s Xmx configuration. |
sse.collectorgroup.required.totalPhysicalMemory.inMB | Integer | 2048 | The required physical memory (in megabytes) for the Collector host. If the actual total physical memory is less than this value, scripts will not be scheduled to the SSE Collector group. |
sse.collectorgroup.processSpawnCountPerMinute.limitation | Integer | 1 | The count limitation (per minute) that the spawning SSE process should not exceed. |
sse.collectorgroup.scheduler.taskqueue.maxsize | Integer | 10000 | The maximum number of task allowed in the task queue in the SSE engine. |
sse.collectorgroup.spawnpolicy.loadlevel.small.threshold | Integer | 200 | The task count threshold that allows LogicMonitor to determine if a process is under small load (as compared to count running tasks). |
sse.collectorgroup.trustallcerts.enable | Boolean | TRUE | If TRUE, trust all certs in SSE. Affects HTTPS connections from Collector. |
sse.restartOn.criticalClassNotFound | Boolean | FALSE | If TRUE, SSE will restart if critical classes cannot be loaded. |
sse.runtime.conf.path | String | ./../conf/service.conf | conf path |
sse.script.stopThread.useThreadStop | Boolean | FALSE | If TRUE, the thread.stop method will be used to force stop the SSE script. This method is deprecated and may cause issues as a result of an inconsistent state. If FALSE, thread.interrupt is called, which may not not stop some threads. |
collector.script.cache.timeout | Integer | 30 | Expiration timeout (in minutes) for script cache data. Available in Collector versions 29.100 or higher. |
Topology Mapping Settings
Name | Type | Default | Details |
eri.global.timeoutInSec | Integer | 300 | ERI global task timeout (in seconds). |
eri.history.maxItem | Integer | 32 | The maximum number of ERI history items stored in memory like it is history result. |
eri.queue.capacity | Integer | 5000 * 50 | ERI task queue capacity. |
eri.workers | Integer | 10 | The number of threads available for processing ERI requests or tasks. |
topology.global.timeoutInSec | Integer | 300 | Topology task timeout (in seconds). |
topology.history.maxItem | Integer | 1000 | The maximum number of topology task history items stored in memory (cache). |
topology.queue.capacity | Integer | 250000 | Topology task queue capacity. |
topology.workers | Integer | 10 | The number of threads available for processing topology requests or tasks. |
Watchdog Settings
Name | Type | Default | Details |
watchdog.check.agent.cant.start.interval.time.in.second | Integer | 240 | The interval (in seconds) in which it will be reported that the Collector can’t restart. |
watchdog.check.scheduled.task.enable | Boolean | FALSE | If TRUE, the watchdog will schedule a task to detect whether the Collector is working. |
watchdog.clean.dumperror.interval | Integer | 10 | The interval (in minutes) in which the watchdog will check the dump error logs. |
watchdog.clean.dumperror.patterns | String | sse_err_pid*.log,collector_err_pid*.log,hs_err_pid*.mdmp,hs_err_pid*.log,replay_pid*.log | The watchdog will check the dump error logs using the pattern provided as the value for this setting (e.g. “hs_err_pidXXX.log”) and delete the oldest Java critical logs. |
watchdog.credential.rotation.interval | Integer | 24 | The interval (in hours) in which the publicly signed certificates that the Collector uses to authenticate itself to the LogicMonitor platform are rotated. |
watchdog.credential.rotation.prohibition | Integer | 1 | Prohibits credential rotation to be more frequent than duration (in hours) set. If set to 0, no prohibition. |
watchdog.credential.rotation.testmode.in.second | Integer | 0 | The credential rotation interval (in seconds) for test purposes. |
watchdog.dump.sbproxy.memory.count | Integer | 1 | The number of reserve memory dump files for sbwinproxy. Maximum allowed value is 5. |
watchdog.dump.sbproxy.memory.enable | Boolean | FALSE | If TRUE, sbwinproxy memory dump is enabled when heartbeat times out. |
watchdog.dump.sbproxy.memory.wait.seconds | Integer | 30 | The amount of time (in seconds) before dump to sbwinproxy memory is completed. |
watchdog.feed.renew.interval.in.second | Integer | 10 | Interval (in minutes) to see if feed from the server needs to be loaded to get the latest information. |
watchdog.hang.ival | Integer | 600 | The interval (in seconds) for checking if the watchdog’s main loop is hung. |
watchdog.keep.alive.timeout.in.second | Integer | 60 | The timeout period (in seconds) for reading the keep-alive response from the Collector. |
watchdog.report.version.interval.in.second | Integer | 300 | Interval (in sec) to report collector version. |
watchdog.restart | Integer | 0 | Restart watchdog interval (in hours). If set to 0, watchdog is never restarted. |
watchdog.restart.blocked.collector.enable | Boolean | TRUE | If TRUE, the watchdog is able to restart blocked Collector. |
watchdog.status.port | Integer | 7213 | The watchdog status listening port (i.e. the port over which the Collector service communicates to the Watchdog service). |
watchdog.stop.then.start.agent.interval.seconds | Integer | 5 | The delay time (in seconds) the Watchdog will wait to start Collector when restarting the Collector. |
watchdog.wait.agent.start.time.inseconds | Integer | 45 | The delay time (in seconds) after Collector start for watchdog to begin checking Collector. |
This feature is available for Collector versions 29.100 or higher.
Overview
Collector scripts require authentication tokens to communicate with certain entities. In older versions of the Collector, these Auth tokens are stored in files, which means that read and write operations are done in every LogicModule that needs to access the files. Collector versions 29.100 or higher allow you to store these Auth tokens in a cache between collection intervals until the token expires.
Using ScriptCache
The ScriptCache
class contains the following methods:
Method | Description |
ScriptCache.getCache(); |
To get the cache object to perform further operations. Returns ScriptCache object. |
ScriptCache.set(String key, String value, [optional] long expireIn); |
Set the key, value, and (optional) expireIn. If set, expireIn value is in milliseconds. Example: 3000. |
ScriptCache.get(String key); |
|
ScriptCache.remove(String key); |
ScriptCache.clear(); |
ScriptCache.size(); |
The expireIn
value is optional and can be set for each key that is stored in the cache. If the value is not set for a particular key, the default expire timeout will be the value set in the collector.script.cache.timeout
in agent.conf
. For example:
collector.script.cache.timeout=30 //30 minutes
New scripts with ScriptCache
won’t work with older versions of the Collector. Importing ScriptCache
will throw an exception in older collectors. The following script example will work in all Collectors:
def scriptCache
try {
scriptCache = this.class.classLoader.loadClass("com.santaba.agent.util.script.ScriptCache").getCache();
//new way
String token = scriptCache.get("token1");
if(token == null){
//make connection, fetch new token and store it in cache
scriptCache.set("token1", "asfioajfiqu920200rdaoj9au");
} else{
//make connection
}
} catch (Exception ex) {
//old way
}
In this script, if the import statement fails for the ScriptCache
class, it will default to the old way of saving tokens with files. If it passes, it will use ScriptCache
.
We’ve compiled some helpful tips for troubleshooting common Linux Collector issues.
Name Service Caching Daemon (NSCD)
The LogicMonitor Collector makes DNS queries to resolve the hosts it is monitoring and to determine which LogicMonitor servers to report data to.
If you are running an NSCD, you should make sure that it respects positive DNS TTLs. For example, on RedHat ES/CentOS glibc-2.5-24 and earlier does not respect DNS TTLs correctly, meaning that you will need to run a later version or disable NSCD.
If the NSCD returns a stale record for an hour, it would impact your ability to monitor devices and communication between LogicMonitor datacenters.
SE Linux
Some distributions of Linux (such as RedHat, CentOS, and Fedora) may have Security-Enhanced (SE) Linux enabled, which may restrict access and permissions that can impact the Collector’s ability to monitor.
Use the /usr/sbin/getenforce
or /usr/sbin/sestatus
commands to check the status of SELinux.
- The
getenforce
command returnsEnforcing
,Permissive
, orDisabled
. The command returnsEnforcing
when SE Linux is enabled. - The
sestatus
command returns the SE Linux status (Enabled
,Disabled
) and the mode (Enforcing
,Permissive
,Passive
) being used.
If you are having monitoring problems in your Linux server and SE Linux is enabled, you may be able to use Permissive mode to review the logs and identify the issue:
setenforce Permissive
In Permissive mode, more denials are logged because actions that would otherwise be denied in Enforcing mode are allowed. After you run the Collector services in permissive mode and SE Linux logs to identify the permissions that need to be enabled, you should enable the necessary permissions.
To put SE Linux back into enforcing mode, run:
setenforce 1
We’ve compiled some helpful tips for troubleshooting common Windows Collector issues.
Error 1069
A common error encountered for Windows Collectors:
Error 1069: The service did not start due to a logon failure.
The account used to run the LogicMonitor Collector service on Windows must have “Log on as a service” rights on the host machine’s local security policy.
To update the local security policy:
1. Log on to the Collector host as a Local Administrator.
2. From CMD, PowerShell, or Run launch secpol.msc.
3. Expand “Local Policy” and click “User Rights Assignment”.
4. Right-click “Log on as a service” and select “Properties”.
5. Click “Add User or Group” to add the account which is to run the LogicMonitor Collector services.
6. In the “Select Users or Groups” dialog, find the user account and click “OK”.
7. In the “Log on as a service” properties window, click “OK” to save your changes.
If you are not able to make these changes (for example options may be greyed out or unavailable), you may need to look into what is enforcing the local security policy settings on the host–it may be the local or domain Group Policy settings or another configuration management tool.
Windows Monitoring Scenarios
Common monitoring scenarios on Windows use WMI and Perfmon. If you have issues related to monitoring WMI or Perfmon, refer to the following resources:
The LogicMonitor Collector monitors your infrastructure and collects the data defined by LogicModules for each resource in that location. You do not need to install a Collector on every device, instead one Collector on a server should be used to monitor all the resources in that location. See About the LogicMonitor Collector.
This article walks you through the steps to install a Collector in your LogicMonitor portal.
Installing the Collector in a container
LogicMonitor also supports installing and running the Collector in a Docker container. Installation of a containerized Collector does not support all install options. For example, you can only run the full installation, not the bootstrap, and you will need to run the Collector process as root
. See Installing the Collector in a Container.
Installation Settings
In your LogicMonitor portal, navigate to Settings | Collectors | Add | Collector:

Follow the steps in the Add a Collector dialog to complete and verify the Collector installation.
Choose Where to Install a Collector
The first step in adding a Collector is deciding which device will host the Collector.

For each location of your infrastructure, we recommend that you install a Collector on a Windows or Linux server that is physically close to or on the same network as the resources it will monitor. Most often, Collectors are installed on machines that function as syslog servers or DNS servers.
To ensure reliability, the Collector should not communicate across the internet to poll resources in another datacenter, through firewalls or network address translation (NAT) gateways.
Note: If you’re installing collectors on virtual machines (VMs) in an Azure cloud environment, use network rules for Azure firewall, not application rules. Azure firewall application rules use Server Name Indication (SNI) to validate applications, which collectors do not support. Use LogicMonitor’s public IP addresses with Azure network rules to connect to installed collectors. See Public IP Addresses and DNS Names in LogicMonitor documentation for these IP addresses.
Requirements for Collector Servers
The following table lists general requirements for choosing a server to host the Collector.
Requirement | Details |
Windows Server or Linux running on a physical or virtual server | LogicMonitor follows the Microsoft Lifecycle Policy for the “Extended Support End Date” and the Red Hat Enterprise Linux Life Cycle for the “End of Maintenance Support 2 (Product retirement)” date to determine which Windows Server and Linux operating systems are supported for Collector installation. We support the following Linux distributions:
Notes: |
Comprehensive port access | The server must be able to make outgoing HTTPS (port 443) connection to the LogicMonitor servers (proxies are supported). In addition, the ports for the monitoring protocols you intend to use (such as SNMP, WMI, JDBC, etc.) must be unrestricted between your Collector and the resources you want to monitor. For a detailed list of the ports, see About the LogicMonitor Collector. |
2GB of RAM | A minimum of 2GB of RAM. (More memory permits a Collector to collect data from more resources.) See Collector Capacity. |
Reliable time | The Collector should have reliable time, thus the server should have NTP setup or Windows Time Services to synchronize via NTP. If running on a VMware virtual machine, install VMware tools with VMware tools periodic Time Sync disabled. |
English-language support | LogicMonitor does not support non-English languages. |
Monitor the Collector’s Performance
We recommend that you check the option: Monitor the Device on which the collector is installed. This will allow you to keep track of the CPU utilization, disk usage and other metrics to ensure that the Collector is running and keeping up with its data collection load. See Monitoring Your Collectors.
You may also assign the Collector device into a Device Group. If you leave the device “Ungrouped”, LogicMonitor will automatically add it to the dynamic group “Collectors”. See Device Groups Overview.
Select a Collector
The next step in adding a Collector is specifying the type, version, and the monitoring capacity (size) for the Collector you will install onto your server. You may also assign the new Collector to a Collector Group.

Collector Type
Select the appropriate Collector download file for your server: Linux or Windows. For both Windows and Linux, we support only 64-bit Operating System. The type of Collector you choose to install depends on the resources it will monitor. For example, to collect data from Windows devices, you need to install the Collector on a Windows server.
Collector Version
Select from the available General Release and Early Release Collectors.
Version | Description |
General Release | General Release Collectors are our stable release versions. We recommend this version for most infrastructures. |
Early Release | Early Release Collectors offer new features and functionality which may still be under development. You may want to install this to test the new features. But if you have a large deployment we don’t recommend installing this version to monitor your entire infrastructure. |
You can always change the version by uninstalling and installing a new Collector.
Collector Size
The Collector size refers to the monitoring capacity for the Collector. The number of resources that a Collector can monitor depends on the data collection method that it uses (such as SNMP, JDBC, WMI, and so on). See Collector Capacity.
You can choose from four available Collector sizes:
Size | Description |
Nano | This Collector is intended for testing purposes and not recommended for production environments. It does not have a memory requirement as it will consume less than 1GB of system memory and will monitor a limited number of Resources. |
Small | This Collector will consume approximately 2GB of system memory and is capable of monitoring roughly 200 (Linux Collector) or 100 (Windows Collector) Resources. |
Medium | This Collector will consume approximately 4GB of system memory and is capable of monitoring roughly 1000 (Linux Collector) or 500 (Windows Collector) Resources. |
Large | This Collector will consume approximately 8GB of system memory and is capable of monitoring roughly 2000 (Linux Collector) or 750 (Windows Collector) Resources. |
Extra Large | This Collector will consume approximately 16GB of system memory. |
Double Extra Large | This Collector will consume approximately 32GB of system memory. |
Assign Collector Group
You may assign the new Collector to an existing Collector Group or create a new group. Collector Groups pool your Collectors based on their physical locations, defined environments (QA, Development, or Production), or if you are an MSP customer and streamlines the configuration and management of multiple Collectors. See Collector Groups.
Download and Install
This step provides options for you to download the installer file for the collector you selected.
Installer Options
Under Download a Collector, you can choose between two installer packages:
- “Bootstrap” downloads a smaller installation package (~500kB) for a faster install using the LogicMonitor CDN.
- “Full package” downloads the installation package which is approximately 200MB.
Installing a Windows Collector
1. Download the installer file directly to your server or use one of the download command options.
For Windows, we provide options to download and install using PowerShell or a URL. Click on the option to copy the download command to your clipboard and then run it on your server.

2. After downloading the installer onto your Windows server, open it to start the Install Shield Wizard.
The Install Shield Wizard will extract the binary and prompt you for credentials. These credentials will correspond to the account that the Collector will run under, which may be a user account with the least privilege permissions or a Local System account.
If this Collector is not monitoring other Windows systems:
- Run the service as a Local System. This is not recommended for the least privilege.
- Run the service as a user account with the least privilege permissions. For more info on credential configuration, see Credentials for Accessing Remote Windows Computers.
- Are not part of the same domain, run the service and connect to each resource with the least privilege permissions. You may choose to set up the password so that it doesn’t expire to reduce authentication issues between the Collector and its monitored resources. See Credentials for Accessing Remote Windows Computers.
The LogicMonitor Collector service must be granted “Log on as a service” under “Local Policy/User Rights Assignment” in the Windows server’s local security policy settings. See Troubleshooting Windows Collectors.
If the Windows server is running antivirus software, you will need to add a recursive exclusion for the LogicMonitor Collector application directory. See About the LogicMonitor Collector.
Installing a Linux Collector
Note: There are a number of requirements for Linux environments:
- For Collectors running version 28.500 (or higher numbered versions), the Bourne shell is required for the Linux installation script. You may need to install the “vim-common” package to get the “xxd” binary that the installer depends on.
- For Collectors running version 28.100 (or higher numbered versions), the “sudo” package must be installed on Linux when running the Collector as a non-root user. The installer will also make additions to /etc/sudoers to handle service restart and memory dumps.
- In Linux environments with the Collector running in containers, the Collector must run as root: suid root is /bin/ping.
1. Download the installer file directly to your server (if your server supports web browsing) or onto another server and use a file transfer option (such as scp) to copy it to the server where you will install the collector.
For Linux, we also provide options to download and install using cURL or Wget. Click on the option to copy the download command to your clipboard and then run it on your server.

2. After downloading the installer onto your Linux server, change the permissions to make the binary executable:
# chmod +x <installer-file>.bin
3. Run the executable:
# ./<installer-file>.bin
When the installation completes, you will see a message that it installed successfully.
Note: Installing the Collector on Linux creates a default user, called logicmonitor
, to run the Collector as a user without root privileges. Although you can select a different user or run as root
, LogicMonitor recommends using this logicmonitor
user created by the install script.
If you want to install Linux collector as root, please contact LogicMonitor product team or technical support team.
If you have issues with your Linux collector, see Troubleshooting Linux Collectors.
Verify Connection
After successfully installing the Collector on your Windows or Linux server, return to the “Add a Collector” dialog in LogicMonitor and verify that the Collector is connected to your portal.
Collector Hostname
Each Collector has a name or ID that is registered with the LogicMonitor server when you download the Collector. The Collector’s hostname refers to the IP address or DNS name of the server that the Collector has been installed on.
- For Linux, the Collector will resolve the hostname by running the
hostname -f
orhostname
commands. If both commands fail, the hostname defaults to:localhost.localdomain
. - For Windows, the hostname is a combination of the domain and
computername
.
Next Steps
After installing a Collector, you can start adding resources to be monitored.