Skip to content

Latest commit

 

History

History
124 lines (91 loc) · 5.83 KB

collectd-marathon.md

File metadata and controls

124 lines (91 loc) · 5.83 KB

collectd/marathon

Monitor Type: collectd/marathon (Source)

Accepts Endpoints: Yes

Multiple Instances Allowed: No

Overview

Monitors a Mesos Marathon instance using the collectd Marathon Python plugin.

See the integrations doc for more information on configuration.

Sample YAML configuration:

monitors:
  - type: collectd/marathon
    host: 127.0.0.1
    port: 8080
    scheme: http

Sample YAML configuration for DC/OS:

monitors:
  - type: collectd/marathon
    host: 127.0.0.1
    port: 8080
    scheme: https
    dcosAuthURL: https://leader.mesos/acs/api/v1/auth/login

Configuration

To activate this monitor in the Smart Agent, add the following to your agent config:

monitors:  # All monitor config goes under this key
 - type: collectd/marathon
   ...  # Additional config

For a list of monitor options that are common to all monitors, see Common Configuration.

Config option Required Type Description
pythonBinary no string Path to a python binary that should be used to execute the Python code. If not set, a built-in runtime will be used. Can include arguments to the binary as well.
host yes string
port yes integer
username no string Username used to authenticate with Marathon.
password no string Password used to authenticate with Marathon.
scheme no string Set to either http or https. (default: http)
dcosAuthURL no string The dcos authentication URL which the plugin uses to get authentication tokens from. Set scheme to "https" if operating DC/OS in strict mode and dcosAuthURL to "https://leader.mesos/acs/api/v1/auth/login" (which is the default DNS entry provided by DC/OS)

Metrics

These are the metrics available for this monitor. Metrics that are categorized as container/host (default) are in bold and italics in the list below.

  • gauge.marathon-api-metric (gauge)
    Metrics reported by the Marathon Metrics API
  • gauge.marathon.app.cpu.allocated (gauge)
    Number of CPUs allocated to an application
  • gauge.marathon.app.cpu.allocated.per.instance (gauge)
    Configured number of CPUs allocated to each application instance
  • gauge.marathon.app.delayed (gauge)
    Indicates if the application is delayed or not
  • gauge.marathon.app.deployments.total (gauge)
    Number of application deployments
  • gauge.marathon.app.disk.allocated (gauge)
    Storage allocated to a Marathon application
  • gauge.marathon.app.disk.allocated.per.instance (gauge)
    Configured storage allocated each to application instance
  • gauge.marathon.app.gpu.allocated (gauge)
    GPU Allocated to a Marathon application
  • gauge.marathon.app.gpu.allocated.per.instance (gauge)
    Configured number of GPUs allocated to each application instance
  • gauge.marathon.app.instances.total (gauge)
    Number of application instances
  • gauge.marathon.app.memory.allocated (gauge)
    Memory Allocated to a Marathon application
  • gauge.marathon.app.memory.allocated.per.instance (gauge)
    Configured amount of memory allocated to each application instance
  • gauge.marathon.app.tasks.running (gauge)
    Number tasks running for an application
  • gauge.marathon.app.tasks.staged (gauge)
    Number tasks staged for an application
  • gauge.marathon.app.tasks.unhealthy (gauge)
    Number unhealthy tasks for an application
  • gauge.marathon.task.healthchecks.failing.total (gauge)
    The number of failing health checks for a task
  • gauge.marathon.task.healthchecks.passing.total (gauge)
    The number of passing health checks for a task
  • gauge.marathon.task.staged.time.elapsed (gauge)
    The amount of time the task spent in staging
  • gauge.marathon.task.start.time.elapsed (gauge)
    Time elapsed since the task started

Non-default metrics (version 4.7.0+)

The following information applies to the agent version 4.7.0+ that has enableBuiltInFiltering: true set on the top level of the agent config.

To emit metrics that are not default, you can add those metrics in the generic monitor-level extraMetrics config option. Metrics that are derived from specific configuration options that do not appear in the above list of metrics do not need to be added to extraMetrics.

To see a list of metrics that will be emitted you can run agent-status monitors after configuring this monitor in a running agent instance.

Legacy non-default metrics (version < 4.7.0)

The following information only applies to agent version older than 4.7.0. If you have a newer agent and have set enableBuiltInFiltering: true at the top level of your agent config, see the section above. See upgrade instructions in Old-style whitelist filtering.

If you have a reference to the whitelist.json in your agent's top-level metricsToExclude config option, and you want to emit metrics that are not in that whitelist, then you need to add an item to the top-level metricsToInclude config option to override that whitelist (see Inclusion filtering. Or you can just copy the whitelist.json, modify it, and reference that in metricsToExclude.