Monitor Type: collectd/marathon
(Source)
Accepts Endpoints: Yes
Multiple Instances Allowed: No
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
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) |
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 APIgauge.marathon.app.cpu.allocated
(gauge)
Number of CPUs allocated to an applicationgauge.marathon.app.cpu.allocated.per.instance
(gauge)
Configured number of CPUs allocated to each application instancegauge.marathon.app.delayed
(gauge)
Indicates if the application is delayed or notgauge.marathon.app.deployments.total
(gauge)
Number of application deploymentsgauge.marathon.app.disk.allocated
(gauge)
Storage allocated to a Marathon applicationgauge.marathon.app.disk.allocated.per.instance
(gauge)
Configured storage allocated each to application instancegauge.marathon.app.gpu.allocated
(gauge)
GPU Allocated to a Marathon applicationgauge.marathon.app.gpu.allocated.per.instance
(gauge)
Configured number of GPUs allocated to each application instancegauge.marathon.app.instances.total
(gauge)
Number of application instancesgauge.marathon.app.memory.allocated
(gauge)
Memory Allocated to a Marathon applicationgauge.marathon.app.memory.allocated.per.instance
(gauge)
Configured amount of memory allocated to each application instancegauge.marathon.app.tasks.running
(gauge)
Number tasks running for an applicationgauge.marathon.app.tasks.staged
(gauge)
Number tasks staged for an applicationgauge.marathon.app.tasks.unhealthy
(gauge)
Number unhealthy tasks for an applicationgauge.marathon.task.healthchecks.failing.total
(gauge)
The number of failing health checks for a taskgauge.marathon.task.healthchecks.passing.total
(gauge)
The number of passing health checks for a taskgauge.marathon.task.staged.time.elapsed
(gauge)
The amount of time the task spent in staginggauge.marathon.task.start.time.elapsed
(gauge)
Time elapsed since the task started
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.
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
.