Skip to main content

Configuration

Agent Configuration Filesโ€‹

Agent reads its configuration files in YAML format, in the following order:

  • /etc/glouton/glouton.conf
  • /etc/bleemeo/conf.d/*.conf
  • etc/glouton.conf
  • etc/conf.d/*.conf
  • C:\ProgramData\glouton\glouton.conf
  • C:\ProgramData\glouton\conf.d

For directory (like /etc/glouton/agent.conf.d) files are read in lexicographic order. We recommend adding a two digits number in front of all filenames to control order. For example "05-system" and "90-custom".

Configuration files are merged and when a conflict occurs, entry from last file wins.

For example, if you have the following files:

  • /etc/glouton/glouton.conf
  • /etc/glouton/conf.d/05-system.conf
  • /etc/glouton/conf.d/90-custom.conf

Where each has an entry "logging.level", e.g.:

# file /etc/glouton/glouton.conf
logging:
level: INFO

# file /etc/glouton/conf.d/05-system.conf
logging:
level: WARNING

# file /etc/glouton/conf.d/90-custom.conf
logging:
level: DEBUG

The result, will be level = DEBUG from 90-custom.conf.

Merge will create the union of dictionary and concatenate list, therefore the following files:

# file /etc/glouton/glouton.conf
logging:
level: INFO

network_interface_blacklist:
- lo
- docker

# file /etc/glouton/conf.d/05-system.conf
logging:
output: syslog

# file /etc/glouton/conf.d/90-custom.conf
network_interface_blacklist:
- lo
- vnet

Would be equivalent to one file with:

# keys inside logging are merged
logging:
level: INFO
output: syslog

# list are concatenated. No deduplication is done.
network_interface_blacklist:
- lo
- docker
- lo
- vnet

Environment variablesโ€‹

The Bleemeo agent allow to override configuration using environment variables.

For example:

  • logging.level could be override by environment variable GLOUTON_LOGGING_LEVEL
  • bleemeo.account_id could be override by environment variable GLOUTON_BLEEMEO_ACCOUNT_ID
  • agent.upgrade_file could be override by environment variable GLOUTON_AGENT_UPGRADE_FILE

The environment variable name is the configuration name with:

  • dots (.) replaced by underscore (_),
  • all letters converted to uppercase
  • and the prefix GLOUTON_ added.

Simple type (string, integer and boolean) are supported from environment variable.

For booleans, the Bleemeo agent recognize "true", "yes" and "1" as true and "false", "no", "0" as false. This conversion is case insensitive.

List of strings are also supported. Environment variables replace the existing values, no concatenation is done. A list is made using coma (,) separated values.

Mapping of strings are also supported, using key=value separated by comas. Like for lists, no merge is done and environment varaibles overwrite any existing value.

Example of list from environment, which sets tags to "production", "backend" and "database":

export GLOUTON_TAGS=production,backend,database

Referenceโ€‹

In this reference, options will use dots (.) in their name. Each dot will be a new indentation level in the configuration files. E.g. logging.level is written in the configuration files as:

logging:
level: value

Indentation uses whitespace only, no tabulations.

Options available (with the default value):

agent:
cloudimage_creation_file: "cloudimage_creation"
facts_file: "facts.yaml"
http_debug:
enable: false
bind_address: "localhost:6060"
installation_format: "manual"
netstat_file: "netstat.out"
node_exporter:
enable: true
collectors: []
process_exporter:
enable: true
public_ip_indicator: "https://myip.bleemeo.com"
state_file: "state.json"
upgrade_file: "upgrade"
windows_exporter:
enable: true
collectors: ["cpu", "cs", "logical_disk", "logon", "memory", "net", "os", "system", "tcp"]

blackbox:
enable: true
scraper_name: ""
targets: []
modules:
http:
prober: "http"
http:
preferred_ip_protocol: "ip4"

bleemeo:
account_id: ""
api_base: "https://api.bleemeo.com/"
api_ssl_insecure: false
container_registration_delay_seconds: 30
enable: true
initial_agent_name: ""
initial_server_group_name: ""
initial_server_group_name_for_snmp: ""
mqtt:
cafile: ""
host: "mqtt.bleemeo.com"
port: 8883
ssl_insecure: false
ssl: true
registration_key: ""

# This settings could not be overridden by configuration files, only
# by GLOUTON_CONFIG_FILES environment variable.
config_files:
- "/etc/glouton/glouton.conf"
- "/etc/glouton/conf.d"
- "etc/glouton.conf"
- "etc/conf.d"
- "C:\ProgramData\glouton\glouton.conf"
- "C:\ProgramData\glouton\conf.d"

container:
filter:
allow_by_default: true
allow_list: []
deny_list: []
type: ""
pid_namespace_host: false

df:
host_mount_point: ""
path_ignore:
- "/var/lib/docker/aufs"
- "/var/lib/docker/overlay"
- "/var/lib/docker/overlay2"
- "/var/lib/docker/devicemapper"
- "/var/lib/docker/vfs"
- "/var/lib/docker/btrfs"
- "/var/lib/docker/zfs"
- "/var/lib/docker/plugins"
- "/snap"

disk_ignore:
- "^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$"
- "^dm-[0-9]+$"
# Ignore partition
- "^(hd|sd|vd|xvd|fio|rssd)[a-z][0-9]+$"
- "^(mmcblk|nvme[0-9]n|drbd|rbd|skd|rsxx)[0-9]p[0-9]+$"


influxdb:
- enable: false
- host: "localhost"
- port: 8086
- db_name: "metrics"
- tags: {}

jmx:
enable: true

jmxtrans:
config_file: "/var/lib/jmxtrans/glouton-generated.json"
file_permission: "0640"
graphite_port: 2004

kubernetes:
enable: false
nodename: ""
kubeconfig: ""

logging:
buffer:
head_size: 150
tail_size: 1000
level: "INFO"
output: "console"
filename: ""
package_levels: ""

metric:
allow_metrics: []
deny_metrics: []
include_default_metrics: true
prometheus: {}
softstatus_period_default: 300
softstatus_period:
- system_pending_updates: 86400
- system_pending_security_updates: 86400
- time_elapsed_since_last_data: 0
snmp:
targets: []

network_interface_blacklist: []

nrpe:
enable: false
address: "0.0.0.0"
port: 5666
ssl: true
conf_paths:
- "/etc/nagios/nrpe.cfg"

service: []

service_ignore_metrics: []

service_ignore_check: []

stack: ""

tags: []

telegraf:
docker_metrics_enable: true
statsd:
enable: true
address: "127.0.0.1"
port: 8125

thresholds: {}

web:
enable: true
listener:
address: "127.0.0.1"
port: 8015
static_cdn_url: "/static/"

agent.cloudimage_creation_fileโ€‹

Path to Cloud image marker file

This file allows to install Glouton without starting it, which is useful when building an Cloud image (like Amazon AMI). See Install Agent with Cloud Image Creation

Default is "cloudimage_creation", i.e. a file named "cloudimage_creation" in current directory. Our packaging changes this default to /var/lib/glouton/cloudimage_creation in /etc/glouton/conf.d/05-system.conf.

This option could be overridden by the environment variable GLOUTON_AGENT_CLOUDIMAGE_CREATION_FILE.

agent.facts_fileโ€‹

Path to privileged facts.

The agent does not run as root, but some facts need root privileged, like the server serial number. To access this information, during package installation the command glouton-gather-facts is run to gather those facts and write them to /var/lib/glouton/facts.yaml.

Default is facts.yaml, i.e. a file named facts.yaml in current directory. Our packaging changes this default to /var/lib/glouton/facts.yaml in /etc/glouton/conf.d/05-system.conf.

This option could be overridden by the environment variable GLOUTON_AGENT_FACTS_FILE.

agent.http_debugโ€‹

The Bleemeo agent can start a HTTP server used during development to gather performance and debugging traces. It relies on the Golang HTTP pprof server.

Two settings exists:

  • agent.http_debug.enable: Which enables or not the server. Default to false
  • agent.http_debug.bind_address: Which is the address and port to listen on. Default to "localhost:6060"

Those options could be overridden by the environment variable GLOUTON_HTTP_DEBUG_ENABLE and GLOUTON_HTTP_DEBUG_BIND_ADDRESS.

agent.installation_formatโ€‹

The format used to install the Bleemeo Agent. The agent sends a fact "installation_format" with this value.

Default is "manual". Our packaging changes this default to match the format used:

  • "Package (deb)"
  • "Package (RPM)"
  • "Package (Windows)"
  • "Docker image"

This option could be overridden by the environment variable GLOUTON_AGENT_INSTALLATION_FORMAT.

agent.netstat_fileโ€‹

Path to netstat output.

The agent does not run as root, but uses information from netstat which requires root privileged. To access this information, our packaging setup a cron which generates a netstat output using the command glouton-netstat and writes to /var/lib/glouton/netstat.out.

Default is netstat.out, i.e. a file named netstat.out in the current directory. Our packaging changes this default to /var/lib/glouton/netstat.out in /etc/glouton/conf.d/05-system.conf.

This option could be overridden by the environment variable GLOUTON_AGENT_NETSTAT_FILE.

agent.node_exporter.collectorsโ€‹

Enable specific list of node_exporter collectors.

Default is unset, which means use node_exporter defaults.

This option could be overridden by the environment variable GLOUTON_AGENT_NODE_EXPORTER_COLLECTORS.

agent.node_exporter.enableโ€‹

Enable or not built-in node_exporter.

node_exporter is only used on Linux, on Windows windows_exporter is used.

The exporter exposes metrics on local web interface, on /metrics (default to localhost:8015).

Default to true

This option could be overridden by the environment variable GLOUTON_AGENT_NODE_EXPORTER_ENABLE.

agent.process_exporter.enableโ€‹

Enable gathering of key processes metrics.

It relies on process-exporter which is only available on Linux.

Default is true

This option could be overridden by the environment variable GLOUTON_AGENT_PROCESS_EXPORTER_ENABLE.

agent.public_ip_indicatorโ€‹

URL of IP indicator service.

The agent sends a fact "public_ip", this URL is used to determine the public IP of your server.

This option could be overridden by the environment variable GLOUTON_AGENT_PUBLIC_IP_INDICATOR.

Default is "https://myip.bleemeo.com".

agent.state_fileโ€‹

Path to store agent state.

The state must be writable, it stores information like Agent the unique identifier, the credentials for the Bleemeo Cloud platform, or the currently detected services.

Default is state.json, i.e. a file named state.json in current directory. Our packaging changes this default to /var/lib/glouton/state.json in /etc/glouton/conf.d/05-system.conf.

This option could be overridden by the environment variable GLOUTON_AGENT_STATE_FILE.

agent.upgrade_fileโ€‹

If this file exists, it means that the agent is being updated. In this case the agent avoids generating disconnect/reconnect events.

Default is "upgrade", i.e. a file named "upgrade" in current directory. Our packaging changes this default to /var/lib/glouton/upgrade in /etc/glouton/conf.d/05-system.conf.

This option could be overridden by the environment variable GLOUTON_AGENT_UPGRADE_FILE.

agent.windows_exporter.collectorsโ€‹

Enable specific list of windows_exporter collectors.

Default enables most collectors of windows_exporter.

This option could be overridden by the environment variable GLOUTON_AGENT_WINDOWS_EXPORTER_COLLECTORS.

agent.windows_exporter.enableโ€‹

Enable or not built-in windows_exporter.

windows_exporter is only used on Windows, on Linux node_exporter is used.

The exporter exposes metrics on the local web interface, on /metrics (default to localhost:8015).

Default to true

This option could be overridden by the environment variable GLOUTON_AGENT_WINDOWS_EXPORTER_ENABLE.

blackbox.enableโ€‹

Enable built-in blackbox_exporter

The Bleemeo agent can monitor an URL and expose metrics on the local web interface, on /metrics (default to localhost:8015).

Default is true

This option could be overridden by the environment variable GLOUTON_BLACKBOX_ENABLE.

blackbox.modulesโ€‹

Allow to configure blackbox modules.

The default has one module named "http" that do check for HTTP URLs.

The following example add two modules, one named "http_200" that checks HTTP URLs and ensure that they reply with status 200 and another named "ping" which simply does ICMP ping checks.

blackbox:
modules:
http_200:
prober: "http"
http:
valid_status_codes: [200]
ping:
prober: "icmp"

You may then use such modules by adding targets:

blackbox:
targets:
- url: https://bleemeo.com
module: http_200
- url: bleemeo.com
module: icmp

blackbox.scraper_nameโ€‹

Define the value of label "scraper" associated with metrics from blackbox.

This option could be overridden by the environment variable GLOUTON_BLACKBOX_SCRAPER_NAME.

blackbox.targetsโ€‹

List of targets (URLs) that built-in blackbox_exporter should monitor.

Its a list of URL with the prober used. For example:

blackbox:
targets:
- url: https://bleemeo.com
module: http

bleemeo.account_idโ€‹

The account UUID for Bleemeo Cloud.

The agent needs this information to communicate with the Bleemeo Cloud platform. When using standard installation method, this option is written in /etc/glouton/conf.d/30-install.conf.

This option could be overridden by the environment variable GLOUTON_BLEEMEO_ACCOUNT_ID.

bleemeo.api_baseโ€‹

Root URL of Bleemeo Cloud platform API.

Default is "https://api.bleemeo.com/".

This option could be overridden by the environment variable GLOUTON_BLEEMEO_API_BASE.

bleemeo.api_ssl_insecureโ€‹

Should the agent ignore HTTPS SSL certificate errors.

Default to false, by default HTTPS SSL certificate must be valid.

Settings this value to true creates a security issue and should only be used in development.

This option could be overridden by the environment variable GLOUTON_BLEEMEO_API_SSL_INSECURE.

bleemeo.container_registration_delay_secondsโ€‹

To avoid registering short-lived containers (e.g. container used to build images), the Bleemeo agent has a delay before registering the containers.

Default is 30 seconds.

This option could be overridden by the environment variable GLOUTON_BLEEMEO_CONTAINER_REGISTRATION_DELAY_SECONDS.

bleemeo.enableโ€‹

Should the agent communicate with Bleemeo Cloud platform.

Default is true.

This option could be overridden by the environment variable GLOUTON_BLEEMEO_ENABLE.

bleemeo.initial_agent_nameโ€‹

The name used when the agent register itself with Bleemeo Cloud.

This variable is only used at registration time, it's not used for any update.

If unset, the FQDN of the server will be used as name during registration.

This option could be overridden by the environment variable GLOUTON_BLEEMEO_INITIAL_AGENT_NAME.

bleemeo.initial_server_group_nameโ€‹

The name of the server group in which the agent will register.

This variable is only used at registration time, it's not used for any update.

If unset, the agent will go to the group selected by default in server group.

This option could be overridden by the environment variable GLOUTON_BLEEMEO_INITIAL_SERVER_GROUP_NAME.

bleemeo.initial_server_group_name_for_snmpโ€‹

The name of the server group in which the SNMP agent will register.

This variable is only used at registration time, it's not used for any update.

If unset, the agent will go to the group selected by default in server group.

This option could be overridden by the environment variable GLOUTON_BLEEMEO_INITIAL_SERVER_GROUP_NAME_FOR_SNMP.

bleemeo.mqtt.cafileโ€‹

Path to CAs certificate bundle.

The agent trust CAs present in this bundle when checking trust-chain to MQTT SSL certificate.

Default is unset, meaning use system CAs.

This option could be overridden by the environment variable GLOUTON_BLEEMEO_MQTT_CAFILE.

bleemeo.mqtt.hostโ€‹

Address of MQTT server.

Default is "mqtt.bleemeo.com".

This option could be overridden by the environment variable GLOUTON_BLEEMEO_MQTT_HOST.

bleemeo.mqtt.portโ€‹

Port of MQTT server.

Default is 8883.

This option could be overridden by the environment variable GLOUTON_BLEEMEO_MQTT_PORT.

bleemeo.mqtt.sslโ€‹

Should the agent use SSL for MQTT communication.

Bleemeo Cloud Platform only all SSL communication, this option is only useful for Bleemeo agent development.

Default is true.

This option could be overridden by the environment variable GLOUTON_BLEEMEO_MQTT_SSL.

bleemeo.mqtt.ssl_insecureโ€‹

Should the agent ignore MQTT SSL certificate errors.

Default to false, by default MQTT SSL certificate must be valid.

Settings this value to true create a security issue and should only be used in development.

This option could be overridden by the environment variable GLOUTON_BLEEMEO_MQTT_SSL_INSECURE.

bleemeo.registration_keyโ€‹

The registration key for Bleemeo Cloud.

Like bleemeo.account_id, it's required for communication with Bleemeo Cloud platform. This secret key allows the agent to registers itself in your account. Like bleemeo.account_id, standard installation method writes this option in /etc/glouton/conf.d/30-install.conf.

This option could be overridden by the environment variable GLOUTON_BLEEMEO_REGISTRATION_KEY.

config_filesโ€‹

This configure the paths where the Bleemeo agent searches configuration files.

This settings could only be changed using environment variable or command line flag (not configuration files).

This option could be overridden by the environment variable GLOUTON_CONFIG_FILES.

container.filter.allow_by_defaultโ€‹

This configure whether a container without glouton.enable label and not covered by configuration container.filter.allow_list/container.filter.deny_list will be monitored or not.

Default is true, which means container are monitored by default.

See Filtering monitored container

This option could be overridden by the environment variable GLOUTON_CONTAINER_FILTER_ALLOW_BY_DEFAULT.

container.filter.allow_listโ€‹

This configure a list of container name pattern that will be monitored. This is mostly useful when container.filter.allow_by_default is false.

Default is empty.

See Filtering monitored container

This option could be overridden by the environment variable GLOUTON_CONTAINER_FILTER_ALLOW_LIST.

container.filter.deny_listโ€‹

This configure a list of container name pattern that will not be monitored.

Default is empty.

See Filtering monitored container

This option could be overridden by the environment variable GLOUTON_CONTAINER_FILTER_ALLOW_LIST.

container.typeโ€‹

If set, it's the name of the containerization solution used for Agent itself. For example "docker" if the Bleemeo agent is running inside a Docker container.

Default is unset, meaning the Bleemeo Agent is running outside any container.

This option could be overridden by the environment variable GLOUTON_CONTAINER_TYPE.

container.pid_namespace_hostโ€‹

When the agent is running in a container, does it see all PID.

When using Docker, it means that container running the agent is started with --pid=host. It's needed to gather information about running processes of your server.

Default is false. Our Docker image set this option to true and expect to be started with --pid=host

This option could be overridden by the environment variable GLOUTON_CONTAINER_PID_NAMESPACE_HOST.

df.host_mount_pointโ€‹

Path where the root filesystem is.

This is useful when the agent is running in a container. In this case the root (/) for the agent is not the root filesystem of your server. To gather disk usage for all your filesystems you need to expose the real root in the container running the agent (with -v /:/hostroot:ro in Docker). In such case, this option should point the path "/hostroot".

When set, only filesystem starting with this path are considered and this path fragment is removed before reporting. For example if the Bleemeo agent is running in a container and see the following filesystems: "/", "/hostroot" and "/hostroot/srv", then only "/hostroot" and "/hostroot/srv" will be reported under the names "/" and "/srv".

This option could be overridden by the environment variable GLOUTON_DF_HOST_MOUNT_POINT.

df.path_ignoreโ€‹

List of paths to ignore for disk usage.

For each path in the list, Agent ignores all filesystems at or below this path. For example if "/media" is in the ignore list, no filesystem usage will be reported for a USB key mounted on "/media/usb".

The Bleemeo agent also ignores some filesystem types: tmpfs, procfs, cgroup filesystem...

Default ignore paths for containers "overlay" filesystems, like "/var/lib/docker/overlay", "/var/lib/docker/aufs" or "/snap".

This option could be overridden by the environment variable GLOUTON_DF_PATH_IGNORE.

disk_ignoreโ€‹

List of regular expressions of disk to ignore for IO.

If set, disk_monitor will be ignored, you should only set either disk_ignore or disk_monitor, not both.

Default is to exclude:

  • ^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$
  • ^dm-[0-9]+$
  • ^(hd|sd|vd|xvd|fio|rssd)[a-z][0-9]+$
  • ^(mmcblk|nvme[0-9]n|drbd|rbd|skd|rsxx)[0-9]p[0-9]+$

The last two exclude partition from disk like sda. So it exclude sda1, sda2... but sda itself is monitored.

This option could be overridden by the environment variable GLOUTON_DISK_IGNORE.

disk_monitorโ€‹

List of regular expressions of disk to monitor for IO.

This is a deprecated option and disk_ignore should be used.

This option could be overridden by the environment variable GLOUTON_DISK_MONITOR.

influxdb.db_nameโ€‹

Name of the InfluxDB database used to store metrics.

Default is "metrics"

This option could be overridden by the environment variable GLOUTON_INFLUXDB_DB_NAME.

influxdb.enableโ€‹

Should the agent sends metrics to an InfluxDB server.

Default is false.

This option could be overridden by the environment variable GLOUTON_INFLUXDB_ENABLE.

influxdb.hostโ€‹

Address of the InfluxDB server.

Default is "localhost".

This option could be overridden by the environment variable GLOUTON_INFLUXDB_HOST.

influxdb.portโ€‹

Port of the InfluxDB server.

Default is 8086.

This option could be overridden by the environment variable GLOUTON_INFLUXDB_PORT.

influxdb.tagsโ€‹

Tags to add to InfluxDB points.

Default is unset.

This option could be overridden by the environment variable GLOUTON_INFLUXDB_TAGS.

jmx.enableโ€‹

Enable gathering of JMX metrics. See Java metrics.

Default is true

This option could be overridden by the environment variable GLOUTON_JMX_ENABLE.

jmxtrans.config_fileโ€‹

JMX metrics are gathered using jmxtrans.

This configure the path to write the jmxtrans configuration file.

Default is "/var/lib/jmxtrans/glouton-generated.json".

This option could be overridden by the environment variable GLOUTON_JMXTRANS_CONFIG_FILE.

jmxtrans.file_permissionโ€‹

The jmxtrans configuration file may contains credentials to access JMX. So the file shouldn't be world readable.

Our packaging will set the file group ownership to "jmxtrans" and owner to "Glouton". This will allow Glouton to write the file and jmxtrans to read it without allowing everyone to read it.

Default is "0640"

This option could be overridden by the environment variable GLOUTON_JMXTRANS_FILE_PERMISSION.

jmxtrans.graphite_portโ€‹

jmxtrans send metrics to Glouton using Graphite protocol. When the Bleemeo agent expects JMX metrics, it will listen on this port and configure jmxtrans to send metrics to this port.

Default is 2004

This option could be overridden by the environment variable GLOUTON_JMXTRANS_GRAPHITE_PORT.

kubernetes.enableโ€‹

Enable querying Kubernetes API to retrieve the list of PODs. This is required to find IP addresses of containers used by Kubernetes.

The default is false, but Kubernetes example yaml for Bleemeo agent will enable it.

This option could be overridden by the environment variable GLOUTON_KUBERNETES_ENABLE.

kubernetes.kubeconfigโ€‹

To access Kubernetes API, the Bleemeo agent needs credentials. Usually when Kubernetes is used, the Bleemeo agent run as Kubernetes POD. In this case is easier to use in-cluster credentials and service account (the example Kubernetes yaml do it).

But if the Bleemeo agent is not running using PODs or for other needs, you may specify path to a kubectl configuration file containing credentials (and address to Kubernetes API). Credentials should allow listings PODs on all namespaces.

Default is unset (use service account).

This option could be overridden by the environment variable GLOUTON_KUBERNETES_KUBECONFIG.

kubernetes.nodenameโ€‹

The Bleemeo agent only monitor PODs/containers running on it node. So when listing PODs, it should only list PODs running on the same node as the Bleemeo agent.

This settings specify the nodename the Bleemeo agent runs on. If empty, all PODs are listed which may be a performance issue on large cluster.

Default is empty but but Kubernetes example yaml for Bleemeo agent uses Kubernetes downward API to fill the value.

This option could be overridden by the environment variable GLOUTON_KUBERNETES_NODENAME.

logging.bufferโ€‹

The Bleemeo agent has a diagnostic page on it local webserver (default is localhost:8015). It allows to download an diagnostic archive which contains last logs messages.

This settings allows to configure the size (in lines) of messages kept in-memory to be included in the diagnostic archive.

Two options exists:

  • logging.buffer.head_size: which configure how many log lines after startup are kept. This allows the diagnostic archive to always contains startup messages.
  • logging.buffer.tail_size: which configure how many of last log lines are kept.

Default is rather small (150 for head_size and 1000 for tail_size) but should be enough for troubleshooting reproducible issue.

For issue harder to reproduce, increasing buffer size will allow to kept messages for longer time at the expense of memory usage.

Those options could be overridden by the environment variable GLOUTON_LOGGING_BUFFER_HEAD_SIZE and GLOUTON_LOGGING_BUFFER_TAIL_SIZE.

logging.levelโ€‹

Verbosity level of log messages. Valid values are "DEBUG", "VERBOSE and "INFO".

Default is "INFO".

Verbose level will show additional information useful when troubleshooting issue.

Debug level is probably too verbose and mainly useful for debugging of Bleemeo agent itself.

This option could be overridden by the environment variable GLOUTON_LOGGING_LEVEL.

logging.outputโ€‹

Output of all log messages. Valid values are "console", "syslog" and "file".

Default is "console". Our packaging changes this default to "syslog" in /etc/glouton/conf.d/05-system.conf.

This option could be overridden by the environment variable GLOUTON_LOGGING_OUTPUT.

logging.filenameโ€‹

If logging.output is set to "file", the name of the file to use as output.

Default is unset.

This option could be overridden by the environment variable GLOUTON_LOGGING_FILENAME.

logging.package_levelsโ€‹

This options allow to increase log level for only one component. This is only used during development of the Bleemeo agent.

The format looks like "discovery=2,facts=1". Which enable debug level for package discovery and level verbose for packages facts.

Default is unset.

This option could be overridden by the environment variable GLOUTON_LOGGING_PACKAGE_LEVELS.

metric.prometheusโ€‹

Configuration for custom metrics from a Prometheus exporter.

For more details on this option, see Prometheus metrics.

metric.softstatus_periodโ€‹

Per-metric override of the soft-status grace period.

It allow to change the grace period for metric where the default (see above) does not match. For example pending system upgrades, you probably don't apply upgrades every 5 minutes.

The default define overrides for:

  • pending system upgrades to 1 day, giving administrator 1 day to apply upgrade before generating an alarm.
  • time_elapsed_since_last_data to instantaneous since this metric is already a duration since an issue.

metric.softstatus_period_defaultโ€‹

Default duration of the soft-status grace period in seconds.

The Bleemeo agent supports a grace period when a metric just crossed a threshold. The metric must stay above the threshold for the duration of the grace period before its status change. It avoid generating an alarm for short spike of the metric (for example CPU usage, that could easily reach 100% during short period).

Default is 5 minutes (300 seconds).

This option could be overridden by the environment variable GLOUTON_METRIC_SOFTSTATUS_PERIOD_DEFAULT.

metric.snmpโ€‹

Configuration for SNMP Agent.

Add targets, then:

  • target (IP/fqdn of snmp device)
  • initial_name (Name of snmp agent in Bleemeo (Optional))

For more details on this option, see SNMP Agent.

network_interface_blacklistโ€‹

List of interface name prefixes to ignore.

The default list is "docker", "lo", "veth", "virbr", "vnet*"

This option could be overridden by the environment variable GLOUTON_NETWORK_INTERFACE_BLACKLIST.

nrpe.addressโ€‹

Address to listen on for NRPE server.

Default is "0.0.0.0"

This option could be overridden by the environment variable GLOUTON_NRPE_ADDRESS.

nrpe.conf_pathsโ€‹

Paths to load NRPE configuration to configure available checks.

Default is "/etc/nagios/nrpe.cfg"

This option could be overridden by the environment variable GLOUTON_NRPE_CONF_PATHS.

nrpe.enableโ€‹

Activate the NRPE server. The Bleemeo agent can listen for NRPE requests from a Nagios server.

Default is false

This option could be overridden by the environment variable GLOUTON_NRPE_ENABLE.

nrpe.portโ€‹

Port to listen on for NRPE server.

Default is 5666

This option could be overridden by the environment variable GLOUTON_NRPE_PORT.

nrpe.sslโ€‹

Enable SSL for NRPE server. Nagios check_nrpe does not checks certificate validity so the Bleemeo agent will generate a self-signed certificate when SSL is enabled.

Default is true

This option could be overridden by the environment variable GLOUTON_NRPE_SSL.

serviceโ€‹

Configuration for custom services or services overrides.

For more details on custom services, see Custom metrics.

For more details on services overrides, see Services metrics.

service_ignore_metricsโ€‹

You may not want to gather metrics for some services, for example an Apache server if the status page is not configured.

To disable metrics gathering, add to your configuration file (e.g. /etc/glouton/conf.d/50-service-ignore.conf):

service_ignore_metrics:
- name: "mysql"
- name: "postgresql"
instance: "host:* container:*"
- name: "apache"
instance: "container:*integration*"
- name: "nginx"
instance: "container:*"
- name: "redis"
instance: "host:*"

The above configuration will disable metrics gathering for:

  • All MySQL services (running in a container or not).
  • All PostgreSQL services (running in a container or not). It's the explicit version of the MySQL rule.
  • Any Apache service running in a container whose name contains integration. Apache running on the host (i.e. outside any container) will still be monitored.
  • Redis running on the host (i.e. outside any container). Redis running on any container will still be monitored.

Note: the host: form only support host:*.

service_ignore_checkโ€‹

If you don't want to monitor the status of a service, it's possible to disable check for a service.

To disable the status check, add to your configuration file (e.g. /etc/glouton/conf.d/50-service-ignore.conf)

service_ignore_check:
- name: "mysql"
- name: "postgresql"
instance: "host:* container:*"
- name: "apache"
instance: "container:*integration*"
- name: "nginx"
instance: "container:*"
- name: "redis"
instance: "host:*"

The above configuration will disable metrics gathering for:

  • All MySQL services (running in a container or not).
  • All PostgreSQL services (running in a container or not). It's the explicit version of the MySQL rule.
  • Any Apache service running in a container whose name contains integration. Apache running on the host (i.e. outside any container) will still be monitored.
  • Redis running on the host (i.e. outside any container). Redis running on any container will still be monitored.

Note: the host: form only support host:*.

stackโ€‹

Default stack for services.

Default is unset.

For more details, see stack dashboard.

This option could be overridden by the environment variable GLOUTON_STACK.

tagsโ€‹

List of tags for the agent. Your agent will be tagged with those tags on Bleemeo Cloud Platform. Tags can be used in notifications.

Default is an empty list.

Bleemeo Cloud Platform also automatically add tags by default:

  • one for each services running on the server
  • one for some server information: architecture, OS information (Linux/Windows, version) and server type (physical/virtual).

This option could be overridden by the environment variable GLOUTON_TAGS.

telegraf.docker_metrics_enableโ€‹

The Bleemeo agent measures metrics on Docker container.

This option allows to disable gathering of such metrics.

Default is true.

This option could be overridden by the environment variable GLOUTON_TELEGRAF_DOCKER_METRICS_ENABLE.

telegraf.statsd.addressโ€‹

Address to binds to for StatsD listener.

Telegraf will use the following address to bind its StatsD listener.

Default is 127.0.0.1

This option could be overridden by the environment variable GLOUTON_TELEGRAF_STATSD_ADDRESS.

telegraf.statsd.enableโ€‹

Should the agent configure statsd listener of Telegraf.

Bleemeo agent supports StatsD metrics using Telegraf as StatsD server. If you already had another StatsD server you could disable this feature by changing this option to false.

Default is true.

This option could be overridden by the environment variable GLOUTON_TELEGRAF_STATSD_ENABLE.

telegraf.statsd.portโ€‹

Port to binds to for StatsD listener.

Telegraf will use the following port to bind its StatsD listener.

Default is 8125

This option could be overridden by the environment variable GLOUTON_TELEGRAF_STATSD_PORT.

thresholdsโ€‹

Configuration of threshold for each metrics.

Thresholds in configuration file are overridden by thresholds retrieved from Bleemeo Cloud platform. We highly recommend to configure thresholds only using Bleemeo Cloud Interface

No thresholds are hardcoded.

Default configuration included in our packages define thresholds for cpu, disk space usage, memory, network and disk IO utilization in /etc/glouton/agent.conf.

web.enableโ€‹

Should local web interface be enable.

This web interface show a quick overview of your server.

Default is true.

This option could be overridden by the environment variable GLOUTON_WEB_ENABLE.

web.listener.addressโ€‹

Address to binds to for local web interface.

Default is "127.0.0.1".

This option could be overridden by the environment variable GLOUTON_WEB_LISTENER_ADDRESS.

web.listener.portโ€‹

Port to binds to for local web interface.

Default is 8015.

This option could be overridden by the environment variable GLOUTON_WEB_LISTENER_PORT.

web.static_cdn_urlโ€‹

The Bleemeo agent local UI is written in ReactJS, and need to download the Javascript files. Normally those files are served by the Bleemeo agent local webserver, but this options allow to download them from another URL. This should only be useful when developing on the Bleemeo agent UI.

Default is "/static/"

This option could be overridden by the environment variable GLOUTON_WEB_STATIC_CDN_URL.