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
Monitor Type: collectd/marathon
Accepts Endpoints: Yes
Multiple Instances Allowed: No
Config option | Required | Type | Description |
---|---|---|---|
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) |
The following table lists the metrics available for this monitor. Metrics that are marked as Included are standard metrics and are monitored by default.
Name | Type | Included | Description |
---|---|---|---|
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 |
To specify custom metrics you want to monitor, add a metricsToInclude
filter
to the agent configuration, as shown in the code snippet below. The snippet
lists all available custom metrics. You can copy and paste the snippet into
your configuration file, then delete any custom metrics that you do not want
sent.
Note that some of the custom metrics require you to set a flag as well as add them to the list. Check the monitor configuration file to see if a flag is required for gathering additional metrics.
metricsToInclude:
- metricNames:
- gauge.marathon-api-metric
- gauge.marathon.app.delayed
- gauge.marathon.app.deployments.total
- gauge.marathon.app.gpu.allocated
- gauge.marathon.app.gpu.allocated.per.instance
- gauge.marathon.task.staged.time.elapsed
- gauge.marathon.task.start.time.elapsed
monitorType: collectd/marathon