Skip to main content

Configuring the clusters to monitor

There are two ways to provide configurations to the Pulse Agent: through environment variables and configuration file.

Each cluster you want to monitor should be listed with it's full access credentials in the clusters section in the config file, or using environment variables.

Configuration file

Using the configuration file is the recommended way to use the agent, since it allows more configuration options as well as configuring multiple clusters to be monitored by a single agent.

The configuration file needs to contain the following configurations:

  • pulseToken (required) - the Pulse Auth Token provided to you when on-boarding to the Pulse platform.
  • clusters (required) - the list of clusters to monitor.

Follow the guides for the individual cluster types (ES/OS/Kafka) for type-specific configurations. An example config.yml file:

pulseToken: ${PULSE_TOKEN}

clusters:
- type: kafka
bootstrap.servers: PLAINTEXT://hostname:9092
- type: elasticsearch
hosts: http://hostname:9200
username: pulse-monitoring-collector
password: pwd

It is possible to provide the required configurations through environment variables, as the configuration file supports environment variable substitution as demonstrated in the example above.

Remember to substitute hostname with the address of the cluster that's accessible from the Pulse docker container (using "localhost" might not work).

See Configuration for additional possible parameters for the startup command and the configuration file.

Environment variables

It is also possible to run the agent without the configuration file, and to provide the required configurations via environment variables only.

  • PULSE_TOKEN (string, mandatory) - the Pulse token for your organization

Exactly one of the following environment variables, depending on the type of cluster you want to monitor:

  • ELASTICSEARCH_HOSTS (string) - The hosts list with http/https prefix and separated by comma , for self-managed Elasticsearch clusters version 5 and above.
  • ELASTICSEARCH2_HOSTS (string) - The hosts list with http/https prefix and separated by comma , for Elasticsearch clusters version 2.
  • ELASTIC_CLOUD_ID (string) - For clusters hosted on Elastic Cloud, specify the Cloud ID instead of specifying hosts.
  • OPENSEARCH_HOSTS (string) - The hosts list with http/https prefix and separated by comma , for OpenSearch clusters.
  • AWS_OPENSEARCH_HOST (string) - For Amazon OpenSearch Service clusters, specify a single host (with https://).
  • AWS_ELASTICSEARCH_HOST (string) - For Elasticsearch clusters 7.10 or before, running on Amazon OpenSearch Service, specify a single host (with https://).

And additionally, the following optional parameters are supported as well:

  • ELASTICSEARCH_USER (string) - Username for Elasticsearch clusters requiring basic authentication.
  • ELASTICSEARCH_PASSWORD (string) - Password for Elasticsearch clusters requiring basic authentication.
  • OPENSEARCH_USER (string) - Username for Elasticsearch clusters requiring basic authentication.
  • OPENSEARCH_PASSWORD (string) - Password for Elasticsearch clusters requiring basic authentication.
  • PROXY_HOST (string) - The proxy host to use if proxy usage is required, the proxy default port is 80.
  • KIBANA_HOST(string) - (7.14 and above) the endpoint for kibana

For OpenSearch and Elasticsearch clusters managed on Amazon OpenSearch Service and secured with IAM role authentication, instead of username and password you'd need to specify the following (all mandatory):

  • AWS_REGION (string) - The AWS region the cluster is deployed on.
  • AWS_ACCESS_KEY_ID (string) - The Access Key ID for the IAM role authorized to connect to the cluster.
  • AWS_SECRET_ACCESS_KEY (string) - The Secret Access Key for the IAM role authorized to connect to the cluster.