sematext/app-agent

By sematext

Updated 21 days ago

Application Monitoring Agent capable of collecting metrics from a number of sources

Image
1

1M+

Sematext App Agent

Sematext App Agent can be used to collect application metrics from multiple data sources. The data sources and the metrics to be collected can be defined in Metrics Configuration YAML files. There are number of built-in integrations available for various applications in sematext-agent-integrations repo.

The currently supported data sources are:

  • JMX
  • HTTP REST APIs
  • SQL

Sematext App Agent uses Influx Line Protocol to ship the metrics. The metrics collected by the agent can be shipped to any Influx Line Protocol compatible endpoints like InfluxDB or Sematext Cloud. In the future, we will add support for other output formats like HTTP, Graphite, etc.

Using Sematext App Agent

You'll need a valid Monitoring App token to ship metrics to Sematext Cloud. Use the image as follows to spin up a new container for monitoring Solr, for example:

sudo docker run -i -t --name solr-app-agent -e MONITORING_TOKEN=<YOUR_MONITORING-TOKEN> -e AGENT_TYPE=standalone -e APP_TYPE=solr -e JMX_PARAMS=-Dspm.remote.jmx.url=172.17.0.4:3000 sematext/app-agent:latest

Note that it's necessary to enable JMX connection in Solr JVM options as well as ensure container is reachable at the specified IP address.

JMX Authentication

If the app you want to monitor exposes protected JMX connector (either via password file or truststore) it is necessary to set a couple of environment variables for the Sematext App Agent container:

  • JMX_HOST and JMX_PORT to indicate the JMX connection string
  • JMX_PASS_FILE that should contain the location of the password file. It's required to previously mount this file from the host into container file system.
  • JMX_TRUSTSTORE and JMX_TRUSTSTORE_PASS to specify JMX truststore file path and truststore password respectively. As for the password file, you first need to mount the truststore file into container.

Example:

sudo docker run -i -t --name solr-app-agent -v <YOUR_PASSWORD_FILE>:/etc/jmxremote.password -e MONITORING_TOKEN=<YOUR_MONITORING-TOKEN> -e AGENT_TYPE=standalone -e APP_TYPE=solr -e JMX_HOST=localhost -e JMX_PORT=3000 -e JMX_PASS_FILE=/etc/jmxremote.password sematext/app-agent:latest

Docker Pull Command

docker pull sematext/app-agent