Skip to content

do-agent --collector.<name> flags are confusing #246

@alzeih

Description

@alzeih

Describe the problem

While experimenting with do-agent, I wanted to see if do-agent could support additional metrics for monitoring, graphing and alerting on DigitalOcean. I ran do-agent --help and saw options for enabling collectors that look familiar from the prometheus node_exporter to me. I tried to enable a collector using command-line flags, and received an error that I had to check the source code to understand.

Steps to reproduce

When I run do-agent --help, I see many --collector.<name> options, e.g.:

      ...
      --collector.arp           Enable the arp collector (default: enabled).
      --collector.bcache        Enable the bcache collector (default: enabled).
      ...

However, if I try to use these flags, e.g.:

# do-agent --collector.arp
do-agent: error: flag 'collector.arp' cannot be repeated, try --help

This didn't make sense to me as I had only specified --collector.arp once.

Also, the help text for --collector.arp says (default: enabled), however the collector is disabled for my platform https://github.com/digitalocean/do-agent/blob/master/cmd/do-agent/config_linux.go because disables arp.

I get the same results with the --no-collector.arp flag too:

# do-agent --no-collector.arp
do-agent: error: flag 'collector.arp' cannot be repeated, try --help

I think that the --no-collector.<name> options should be kept for the enabled collectors, e.g.: --no-collector.cpu.

Expected behavior

  • --collector.arp would enable the arp collector
  • --collector.arp help text would show the default for the current platform

OR

  • The --collector.arp flag would not be valid for do-agent
  • --collector.arp help text including the default would not be shown

System Information

Distribution and version:

Debian GNU/Linux 10 (buster)

do-agent information:


do-agent (DigitalOcean Agent)

Version:     3.9.4
Revision:    766c949
Build Date:  Fri Mar 12 20:37:53 UTC 2021
Go Version:  go1.16.2
Website:     https://github.com/digitalocean/do-agent

Copyright (c) 2021 DigitalOcean, Inc. All rights reserved.

This work is licensed under the terms of the Apache 2.0 license.
For a copy, see <https://www.apache.org/licenses/LICENSE-2.0.html>.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions