Docs

Agent Configuration

To specify the location of the agent configuration file use the --config flag. The default is /etc/outlyer/agent.yaml

python3 ./agent.py --config /etc/outlyer/agent.yaml

The config file should be valid YAML with the following structure:

---
agent:              # agent block
    key:            # DEFAULT: none, required field
    hostname:       # DEFAULT: auto-detected
    labels:         # DEFAULT: none
        env: "prod"
        region: "US"

    metric_labels:  # DEFAULT: none
        - "region"

    home_dir:       # DEFAULT: "/etc/outlyer"
    config_dir:     # DEFAULT: "/etc/outlyer/conf.d"
    plugin_dir:     # DEFAULT: "/etc/outlyer/plugins"
    solo:           # DEFAULT: false
    docker:         # DEFAULT: false
    rootfs:         # DEFAULT: "/host"
    debug:          # DEFAULT: false
    api_port:       # DEFAULT: 2014
    api_host:       # DEFAULT: 127.0.0.1

Note: these settings need to be under the agent block, this states that the agent is the intended target for the configuration

Warning: When editing the YAML file please remember that YAML files use spaces as indentation, you can use 2 or 4 spaces for indentation, but no tab. If the indentation is incorrect the agent will fail to parse the agent.yaml file and you will not see the agent appear in Outlyer till its fixed.

key

Key is the only required field in the agent configuration. Therefore, there is no default. You can find your key under Agent Integration on the Integrations page of the app.

hostname

We use the hostname as the unique name for your host, and for labelling the performance metrics, it returns. The agent does attempt to locate a unique, but descriptive, hostname. However, you can use this field if you need to set a different hostname.

_Note: Please ensure you keep your hostnames unique if you override this. Two instances with the same hostname will only appear as one host in Outlyer, which can be confusing.

labels

Labels are key/value string pairs used to describe a host. Host labels are used for grouping hosts with common properties, for instance, when selecting a set of hosts to deploy a check.

By default all hosts are given the host: <hostname> label, and all containers the container: <container_name> label.

metric_labels

By default host labels are applied to all metrics returned from a host. However, for performance reasons we only apply the first twenty host labels to the metrics. If you would prefer to specify which exactly which host labels to apply to a host’s metric, then use metrics_labels to list the keys of the labels you would like to use. As an example if you specify env, region, then the env:<prod> and region:<US> host labels would be applied to all metrics

home_dir

The home directory for the agent to store its files. The agent needs to have write access to this folder.

config_dir

Config dir is the location from which the agent load local check configuration files (see Check Config).

plugin_dir

Typically a service check (check) requires the facilities of a Plugin to inspect the status of particular Service. The Agent will look here for any Plugins required by a Check.

solo

One of the key benefits of the Outlyer monitoring platform is the ability configure your monitoring from one central location. To support central configuration the agent asks the Outlyer servers for its check configuration and plugins. To disable this feature, and control check deployment yourself, run the agent in solo-mode, by setting solo: true.

Note: In solo-mode the agent will not load ANY central check configurations or plugins. The Agent will only locally deployed Checks and Plugins (see config_dir and plugin_dir)

docker

This enables the automatic detection and monitoring any docker containers it finds on the Host. If you would like to enable this please set docker: true.

Note: the official Outlyer agent container enables docker mode by default

rootfs

To collect performance stats for containers running on the host, the Agent needs access to cgroup files on the host. Since the agent is likely to be running in a container itself when used to monitor docker, the roof FS location is independently configurable.

Note: the official Outlyer agent container recommends mounting certain parts of the host FS under /host, for this reason, it defaults rootfs: '/host'

debug

Set the Agent to verbose logging.

api_port:

The agent has an API/Status page available on this port number (default port: 2014). The API allows users to push metrics and get the current status of the agent. Setting the port to ‘0’ will disable this feature on the agent.

api_host:

This is the IP address of the host the agent API/status pages binds to on the server. By default it is set to localhost (127.0.0.1) which means only requests from localhost will be accepted. If you would like to enable remote access from another host, set the IP address to ‘0.0.0.0’. Please note this will enable anyone with access to the api_port on that server to post custom metrics and view the status page if set.