Configuration
Agent Configuration Files
Section titled “Agent Configuration Files”Agent reads its configuration files in YAML format, in the following order:
/etc/glouton/glouton.conf/etc/bleemeo/conf.d/*.confetc/glouton.confetc/conf.d/*.confC:\ProgramData\glouton\glouton.confC:\ProgramData\glouton\conf.d
You can add override these paths with the environment variable GLOUTON_CONFIG_FILES
or with the flag -config.
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.conflogging: level: INFO
# file /etc/glouton/conf.d/05-system.conflogging: level: WARNING
# file /etc/glouton/conf.d/90-custom.conflogging: level: DEBUGThe 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.conflogging: level: INFO
network_interface_denylist: - lo - docker
# file /etc/glouton/conf.d/05-system.conflogging: output: syslog
# file /etc/glouton/conf.d/90-custom.confnetwork_interface_denylist: - lo - vnetWould be equivalent to one file with:
# keys inside logging are mergedlogging: level: INFO output: syslog
# list are concatenated. No deduplication is done.network_interface_denylist: - lo - docker - lo - vnetReloading the configuration
Section titled “Reloading the configuration”Glouton is automatically reloaded when configuration files are modified, so you don’t need to restart it.
You can disable the automatic reload by setting the environment variable GLOUTON_DISABLE_RELOAD to “false”.
If the automatic reload is disabled, you need to restart the agent after changing the config.
Use systemctl restart glouton on Linux or docker restart glouton if you are using the agent in a container.
Environment variables
Section titled “Environment variables”The Bleemeo agent allow to override configuration using environment variables.
For example:
logging.levelcould be overridden by environment variableGLOUTON_LOGGING_LEVELbleemeo.account_idcould be overridden by environment variableGLOUTON_BLEEMEO_ACCOUNT_IDagent.upgrade_filecould be overridden by environment variableGLOUTON_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 variables overwrite any existing value.
Example of list from environment, which sets tags to “production”, “backend” and “database”:
export GLOUTON_TAGS=production,backend,databaseSettings list
Section titled “Settings list”In this list, 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: valueIndentation uses whitespace only, no tabulations.
agent.auto_upgrade_file
Section titled “agent.auto_upgrade_file”If you installed the agent with the standard method, auto-upgrade should be enabled.
If this file exists, it means that the agent is being updated. In this case the agent avoids generating disconnect/reconnect events.
Default is “auto_upgrade”, i.e. a file named “auto_upgrade” in current directory.
Our packaging changes this default to /var/lib/glouton/auto_upgrade
in /etc/glouton/conf.d/05-system.conf.
This option could be overridden by the environment variable GLOUTON_AGENT_AUTO_UPGRADE_FILE.
agent.cloudimage_creation_file
Section titled “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.deprecated_state_file
Section titled “agent.deprecated_state_file”Deprecated path to the Glouton state file, this is used when the state file is migrated. This shouldn’t be changer by the user.
Default is unset.
This option could be overridden by the environment variable GLOUTON_AGENT_DEPRECATED_STATE_FILE.
agent.enable_crash_reporting
Section titled “agent.enable_crash_reporting”Enable the reporting of crashes to Bleemeo.
Default is true.
This option could be overridden by the environment variable GLOUTON_AGENT_ENABLE_CRASH_REPORTING.
agent.facts_file
Section titled “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.installation_format
Section titled “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.max_crash_reports_count
Section titled “agent.max_crash_reports_count”The maximum number of crash reports to keep. If their number exceeds this limit, the oldest ones will be deleted.
Default is 2.
This option could be overridden by the environment variable GLOUTON_AGENT_MAX_CRASH_REPORTS_COUNT.
agent.netstat_file
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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_cache_file
Section titled “agent.state_cache_file”Path to store agent state cache. It stores information like the currently detected services and the registered metrics.
The folder containing the state cache file must be writable.
The default is “state.cache.json”.
This option could be overridden by the environment variable GLOUTON_AGENT_STATE_CACHE_FILE.
agent.state_directory
Section titled “agent.state_directory”Path to the agent’s state folder. If other state related files are not specified with an absolute path, they will be created here.
Default is the directory of state_file.
For instance, if state_file is set to /home/glouton/state.json,
the state_directory will be /home/glouton.
Our packaging changes this default to /var/lib/glouton in /etc/glouton/conf.d/05-system.conf.
Crash reports, if enabled, will be stored here.
This option could be overridden by the environment variable GLOUTON_AGENT_STATE_DIRECTORY.
agent.state_file
Section titled “agent.state_file”Path to store agent state.
The state must be writable, it stores information like the agent unique identifier and the credentials for the Bleemeo Cloud platform.
Default is state.json, i.e. a file named state.json
in the state_directory.
This option could be overridden by the environment variable GLOUTON_AGENT_STATE_FILE.
agent.state_reset_file
Section titled “agent.state_reset_file”If this file is present, on startup the agent will drop its state and keep only the persistent information.
This is deprecated, now you can simply remove the state cache file (“state.cache.json” by default).
Default is state.reset.
This option could be overridden by the environment variable GLOUTON_AGENT_STATE_RESET_FILE.
agent.telemetry.enable
Section titled “agent.telemetry.enable”Enable telemetry.
The telemetry contains the following information:
- whether you are connected to Bleemeo
- your server specifications (CPU, RAM, architecture)
- the OS you are using
- your timezone
- the way you installed Glouton (manual, Docker, deb or rpm package)
- the version of the agent
Default is true.
This option could be overridden by the environment variable GLOUTON_AGENT_TELEMETRY_ENABLE.
agent.telemetry.address
Section titled “agent.telemetry.address”The address used to send the telemetry information.
Default is “https://telemetry.bleemeo.com/v1/telemetry/”.
This option could be overridden by the environment variable GLOUTON_AGENT_TELEMETRY_ADDRESS.
agent.upgrade_file
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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: icmpblackbox.scraper_name
Section titled “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.scraper_send_uuid
Section titled “blackbox.scraper_send_uuid”Whether the agent should send the “scraper_uuid” label for metrics from blackbox. If disabled, you have to ensure scraper_name is unique to avoid trouble. Disabling this setting is not supported for Bleemeo users and will result in broken local probes.
Default is true.
This option could be overridden by the environment variable GLOUTON_BLACKBOX_SCRAPER_SEND_UUID.
blackbox.targets
Section titled “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 # Name defines the value of the "instance" label associated with metrics # from this target. If empty, defaults to the target URL. name: bleemeoIf you use the agent Prometheus endpoint /metrics, the blackbox metrics are not exposed
by default to reduce the time needed to gather metrics. You need to add ?includeMonitors
to include the blackbox metrics or ?onlyMonitors to skip other metrics.
blackbox.user_agent
Section titled “blackbox.user_agent”The user agent used by blackbox.
Default is “Glouton $VERSION”, with $VERSION replaced by the current agent version.
This option could be overridden by the environment variable GLOUTON_BLACKBOX_USER_AGENT.
bleemeo.account_id
Section titled “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
Section titled “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
Section titled “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.cache.deactivated_metrics_expiration_days
Section titled “bleemeo.cache.deactivated_metrics_expiration_days”The number of days after which deactivated metrics are dropped from the cache.
Default is 200 days.
This option could be overridden by the environment variable GLOUTON_BLEEMEO_CACHE_DEACTIVATED_METRICS_EXPIRATION_DAYS.
bleemeo.container_registration_delay_seconds
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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.initial_server_group_name_for_vsphere
Section titled “bleemeo.initial_server_group_name_for_vsphere”The name of the server group in which vSphere agents will be registered.
This variable is only used at registration time, it is not used for any update.
If unset, vSphere agents will be assigned 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_VSPHERE.
bleemeo.mqtt.cafile
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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 creates 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
Section titled “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.
bleemeo.sentry.dsn
Section titled “bleemeo.sentry.dsn”Sentry Data Source Name where crash reports will be sent.
This option could be overridden by the environment variable GLOUTON_BLEEMEO_SENTRY_DSN.
container.filter.allow_by_default
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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.
container.runtime.docker.addresses
Section titled “container.runtime.docker.addresses”List of addresses to contact Docker. The first addresses that response will be used.
For Docker the special address empty string is used to means the default value of the Docker client library. This default should also use some environment variable.
In addition to value explicit set, when container.runtime.docker.prefix_hostroot is true
and when Glouton is running in a container, the host prefix (“/hostroot” usually) is added
before all paths.
This option could be overridden by the environment variable GLOUTON_CONTAINER_RUNTIME_DOCKER_ADDRESSES.
container.runtime.docker.prefix_hostroot
Section titled “container.runtime.docker.prefix_hostroot”Should the path of container.runtime.docker.addresses be prefixed by the host prefix (“/hostroot” usually).
This is needed since the location of the Docker socket is on the host filesystem and the host filesystem is mounted on “/hostroot” for the Glouton process when running in a container.
Default is true.
This option could be overridden by the environment variable GLOUTON_CONTAINER_RUNTIME_DOCKER_PREFIX_HOSTROOT.
container.runtime.containerd.addresses
Section titled “container.runtime.containerd.addresses”List of addresses to contact Docker. The first addresses that response will be used.
In addition to value explicit set, when container.runtime.containerd.prefix_hostroot is true
and when Glouton is running in a container, the host prefix (“/hostroot” usually) is added
before all paths.
This option could be overridden by the environment variable GLOUTON_CONTAINER_RUNTIME_CONTAINERD_ADDRESSES.
container.runtime.containerd.prefix_hostroot
Section titled “container.runtime.containerd.prefix_hostroot”Should the path of container.runtime.containerd.addresses be prefixed by the host prefix (“/hostroot” usually).
This is needed since the location of the ContainerD socket is on the host filesystem and the host filesystem is mounted on “/hostroot” for the Glouton process when running in a container.
Default is true.
This option could be overridden by the environment variable GLOUTON_CONTAINER_RUNTIME_CONTAINERD_PREFIX_HOSTROOT.
df.host_mount_point
Section titled “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.ignore_fs_type
Section titled “df.ignore_fs_type”List of filesystem types to ignore.
This allows to ignore pseudo filesystem that are not using a disk to store files. For example tmpfs which stores files in memory, usually for temporary processing. Another example is /proc filesystem which exposes Kernel information.
You can also ignore filesystems by path, see df.path_ignore.
The default is to exclude most common pseudo-filesystem like “proc”, “tmpfs”… See reference for all filesystem ignored by default.
This option could be overridden by the environment variable GLOUTON_DF_IGNORE_FS_TYPE.
df.path_ignore
Section titled “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… See df.ignore_fs_type.
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
Section titled “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:
^(bcache|dm-|fd|loop|ram|sr|zd|zram)\\d+$^((h|rss|s|v|xv)d[a-z]+|fio[a-z]+)\\d+$^(drbd|md|mmcblk|nbd|nvme\\d+n|rbd|rsxx|skd)\\d+p\\d+$
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
Section titled “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.
ipmi.enable
Section titled “ipmi.enable”Should the agent monitor power consumption with IPMI.
Default is true.
This option could be overridden by the environment variable GLOUTON_IPMI_ENABLE.
ipmi.use_sudo
Section titled “ipmi.use_sudo”Should the agent use sudo when calling the IPMI commands.
Access to IPMI information require super-user privileged. The agent will execute ipmi-dcmi, ipmi-sensors or ipmitool using sudo to gather the required information.
Default is true.
If the agent run as root, sudo will always be skipped and the IPMI commands are directly executed.
This option could be overridden by the environment variable GLOUTON_IPMI_USE_SUDO.
ipmi.bin_search_path
Section titled “ipmi.bin_search_path”Where the agent should look for IPMI commands. If empty, the agent will use $PATH variable to search the commands.
Default is empty string, meaning $PATH is used.
This option could be overridden by the environment variable GLOUTON_IPMI_BIN_SEARCH_PATH.
ipmi.timeout
Section titled “ipmi.timeout”Timeout used when running the IPMI commands.
Default is 10 seconds.
This option could be overridden by the environment variable GLOUTON_IPMI_TIMEOUT.
jmx.enable
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “kubernetes.enable”Enable querying the Kubernetes API to retrieve the list of PODs. This is required to find the 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.allow_cluster_metrics
Section titled “kubernetes.allow_cluster_metrics”Should this agent gather Kubernetes cluster metrics (kubernetes_pods_count, kubernetes_namespaces_count
and kubernetes_nodes_count, see Kubernetes metrics for details).
The default is false, but the Bleemeo API will elect one agent in the cluster to gather these metrics.
This option could be overridden by the environment variable GLOUTON_KUBERNETES_ALLOW_CLUSTER_METRICS.
kubernetes.clustername
Section titled “kubernetes.clustername”The cluster name is used by the Bleemeo agents to know they belong to the same cluster, so this value need to be unique for each Kubernetes cluster you have.
The default is unset.
This option could be overridden by the environment variable GLOUTON_KUBERNETES_CLUSTERNAME.
kubernetes.kubeconfig
Section titled “kubernetes.kubeconfig”To access Kubernetes API, the Bleemeo agent needs credentials. Usually when Kubernetes is used, the Bleemeo agent runs as a Kubernetes POD. In this case is easier to use in-cluster credentials and service account (this is done by default if you followed the installation instructions on Kubernetes).
But if the Bleemeo agent is not running using PODs or for other needs, you may specify a path to a kubectl configuration file containing credentials (and the address to the 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
Section titled “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.
log.fluentbit_url
Section titled “log.fluentbit_url”URL of the Fluent Bit Prometheus metrics endpoint.
Glouton uses this URL to retrieve the metrics generated by the log input filters.
Default is empty. The Fluent Bit URL is automatically set if you installed
the bleemeo-agent-logs package.
See Logs Monitoring for details.
This option could be overridden by the environment variable GLOUTON_LOG_FLUENTBIT_URL.
log.hostroot_prefix
Section titled “log.hostroot_prefix”The prefix added to the log input paths.
This is useful when Fluent Bit is running in a container and the host root is accessible in a volume.
Default is /hostroot. The prefix is modified to an empty string if you installed
the bleemeo-agent-logs package.
This option could be overridden by the environment variable GLOUTON_LOG_PREFIX_HOSTROOT.
log.inputs
Section titled “log.inputs”Configure the logs the agent should read and the metrics which should be generated from your logs.
See Logs Monitoring for details.
log.opentelemetry.enable
Section titled “log.opentelemetry.enable”Enable log collection, processing, and transmission to the Bleemeo Cloud Platform.
Log ingestion involves extra costs, please refer to our pricing page for details.
Default is true.
This option can be overridden by the environment variable GLOUTON_LOG_OPENTELEMETRY_ENABLE.
log.opentelemetry.auto_discovery
Section titled “log.opentelemetry.auto_discovery”Enable automatic discovery and processing of log files, based on their related service.
It also enables the collection of container logs (all containers by default, but can be limited to only some by leveraging log filters).
Default is false.
This option can be overridden by the environment variable GLOUTON_LOG_OPENTELEMETRY_AUTO_DISCOVERY.
log.opentelemetry.grpc.enable
Section titled “log.opentelemetry.grpc.enable”Enable the collection of logs from a GRPC endpoint.
Default is true.
This option can be overridden by the environment variable GLOUTON_LOG_OPENTELEMETRY_GRPC_ENABLE.
log.opentelemetry.grpc.address
Section titled “log.opentelemetry.grpc.address”Configure the address on which the GRPC receiver should listen to.
Default is localhost.
This option can be overridden by the environment variable GLOUTON_LOG_OPENTELEMETRY_GRPC_ADDRESS.
log.opentelemetry.grpc.port
Section titled “log.opentelemetry.grpc.port”Configure the port on which the GRPC receiver should listen to.
Default is 4317.
This option can be overridden by the environment variable GLOUTON_LOG_OPENTELEMETRY_GRPC_PORT.
log.opentelemetry.http.enable
Section titled “log.opentelemetry.http.enable”Enable the collection of logs from an HTTP endpoint.
Default is true.
This option can be overridden by the environment variable GLOUTON_LOG_OPENTELEMETRY_HTTP_ENABLE.
log.opentelemetry.http.address
Section titled “log.opentelemetry.http.address”Configure the address on which the HTTP receiver should listen to.
Default is localhost.
This option can be overridden by the environment variable GLOUTON_LOG_OPENTELEMETRY_HTTP_ADDRESS.
log.opentelemetry.http.port
Section titled “log.opentelemetry.http.port”Configure the port on which the HTTP receiver should listen to.
Default is 4318.
This option can be overridden by the environment variable GLOUTON_LOG_OPENTELEMETRY_HTTP_PORT.
log.opentelemetry.known_log_formats
Section titled “log.opentelemetry.known_log_formats”Define sets of log processing operators that can be reused by referencing the name of the set.
Operators are based on Stanza’s operators.
Learn more about operators here
Default includes the following formats:
apache_accessapache_bothapache_errorhaproxyhaproxy_dockerjsonjson_golang_slogkafkakafka_dockermongodbmongodb_dockermysqlmysql_dockernginx_accessnginx_bothnginx_errorpostgresqlpostgresql_dockerrabbitmqrabbitmq_dockerredisredis_docker
As the name implies, formats suffixed by _docker are meant to be used directly with containers.
Note that adding your own formats won’t override the default ones, unless they share the same name.
log.opentelemetry.receivers
Section titled “log.opentelemetry.receivers”Define log receivers that will read the content of files.
Example:
log.opentelemetry.receivers: "syslog-receiver": # the name of the receiver; may be prefixed by "filelog/" include: - "/var/log/syslog" # at least one file pattern must be provided operators: - type: add field: resource['some-attribute'] value: "some-value" - include: "custom-syslog" # referencing a known log format filters: include: match_type: regexp bodies: - "systemd[\\d+]" exclude: match_type: regexp severity_texts: - "debug" - "trace"Learn more about log file receivers here
log.opentelemetry.container_format
Section titled “log.opentelemetry.container_format”Define a mapping between container names and known log formats to apply.
Example:
log.opentelemetry.container_format: "app-01": "app-format" "nginx": "nginx-custom"Note that a format may also be specified for a container by providing the following label/annotation:
docker run --label glouton.log_format=some-custom-format [...]If a format is provided this way, it will override the one defined using the container_format config value (if any).
log.opentelemetry.global_filters
Section titled “log.opentelemetry.global_filters”Define log filtering rules that apply to all sources (auto-discovered services, file/container receivers, HTTP/GRPC receivers, …).
Example:
log.opentelemetry.global_filters: log_record: - "Hour(Now()) < 7 or Hour(Now()) > 19" # excluding logs that are before 7AM or after 7PMlog.opentelemetry.known_log_filters
Section titled “log.opentelemetry.known_log_filters”Define log processing filters that can be reused by referencing their name.
Example:
log.opentelemetry.known_log_filters: "min_level_info": include: match_type: strict severity_number: min: info match_undefined: truelog.opentelemetry.container_filter
Section titled “log.opentelemetry.container_filter”Define a mapping between container names and known log filters to apply.
Example:
log.opentelemetry.container_filter: "app-01": "app-filter" "nginx": "min_level_info"Note that a filter may also be specified for a container by providing the following label/annotation:
docker run --label glouton.log_filter=some-custom-filter [...]If a filter is provided this way, it will override the one defined using the container_filter config value (if any).
logging.buffer
Section titled “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_bytes: which configures how many log lines after startup are kept. This allows the diagnostic archive to always contains startup messages.
- logging.buffer.tail_size_bytes: which configure how many of last log lines are kept.
Default is rather small (500kB for head_size and 500kB for tail_size) but should be enough for troubleshooting reproducible issues.
For issue harder to reproduce, increasing buffer size will allow to keep messages for a longer time at the expense of memory usage.
Those options could be overridden by the environment variable GLOUTON_LOGGING_BUFFER_HEAD_SIZE_BYTES and GLOUTON_LOGGING_BUFFER_TAIL_SIZE_BYTES.
logging.level
Section titled “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
Section titled “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
Section titled “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
Section titled “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.
mdstat.enable
Section titled “mdstat.enable”Enable disk monitoring using mdstat.
Default is true.
This option could be overridden by the environment variable GLOUTON_MDSTAT_ENABLE.
mdstat.path_mdadm
Section titled “mdstat.path_mdadm”Path to mdadm binary. In most cases the default “mdadm” is fine,
and Glouton will look for mdadm in the PATH.
Default is “mdadm”.
This option could be overridden by the environment variable GLOUTON_MDSTAT_PATH_MDADM.
mdstat.use_sudo
Section titled “mdstat.use_sudo”Whether the agent should use sudo to run the mdadm command.
Access to mdadm information requires superuser privileges.
If the agent runs as root, sudo won’t be used, regardless of the configuration.
Default is true.
This option could be overridden by the environment variable GLOUTON_MDSTAT_USE_SUDO.
metric.allow_metrics, metric.deny_metrics, metric.include_default_metrics
Section titled “metric.allow_metrics, metric.deny_metrics, metric.include_default_metrics”Configuration for metric filtering.
For more details on these options, see Metrics Filtering.
metric.prometheus
Section titled “metric.prometheus”Configuration for custom metrics from a Prometheus exporter.
For more details on this option, see Prometheus metrics.
metric.softstatus_period
Section titled “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.
This option could be overridden by the environment variable GLOUTON_METRIC_SOFTSTATUS_PERIOD.
metric.softstatus_period_default
Section titled “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.exporter_address
Section titled “metric.snmp.exporter_address”The SNMP exporter address.
Default is “http://localhost:9116”.
This option could be overridden by the environment variable GLOUTON_METRIC_SNMP_EXPORTER_ADDRESS.
metric.snmp.targets
Section titled “metric.snmp.targets”The list of SNMP targets to monitor.
metric: snmp: targets: - initial_name: AP Wifi # Name of snmp agent in Bleemeo (optional) target: 192.168.0.100 # IP or FQDN of the SNMP deviceFor more details on this option, see SNMP Agent.
network_interface_denylist
Section titled “network_interface_denylist”List of interface name prefixes to ignore.
The default list is “docker”, “lo”, “veth”, “virbr”, “vnet”, “isatap”, “fwbr”, “fwpr”, “fwln”
This option could be overridden by the environment variable GLOUTON_NETWORK_INTERFACE_DENYLIST.
mqtt.enable
Section titled “mqtt.enable”Enable pushing metrics to an external MQTT broker.
Default is false.
This option could be overridden by the environment variable GLOUTON_MQTT_ENABLE.
mqtt.host
Section titled “mqtt.host”Address of the MQTT server.
Default is “localhost”.
This option could be overridden by the environment variable GLOUTON_MQTT_HOST.
mqtt.port
Section titled “mqtt.port”Port of the MQTT server.
Default is 1883.
This option could be overridden by the environment variable GLOUTON_MQTT_PORT.
mqtt.ssl
Section titled “mqtt.ssl”Should the agent use SSL for MQTT communication.
Default is false.
This option could be overridden by the environment variable GLOUTON_MQTT_SSL.
mqtt.ssl_insecure
Section titled “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 creates a security issue and should only be used in development.
This option could be overridden by the environment variable GLOUTON_MQTT_SSL_INSECURE.
mqtt.ca_file
Section titled “mqtt.ca_file”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_MQTT_CA_FILE.
mqtt.username
Section titled “mqtt.username”The username used to connect to MQTT.
Default is unset, meaning no authentication is used.
This option could be overridden by the environment variable GLOUTON_MQTT_USERNAME.
mqtt.password
Section titled “mqtt.password”The password used to connect to MQTT.
Default is unset, meaning no authentication is used.
This option could be overridden by the environment variable GLOUTON_MQTT_PASSWORD.
nrpe.address
Section titled “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
Section titled “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
Section titled “nrpe.enable”Activate the NRPE server. The Bleemeo agent can listen for NRPE requests from a Nagios server.
You can make any service check available to your Nagios server with nagios_nrpe_name:
service: - type: "apache" nagios_nrpe_name: check_apacheDefault is false
This option could be overridden by the environment variable GLOUTON_NRPE_ENABLE.
nrpe.port
Section titled “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
Section titled “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.
nvidia_smi.enable
Section titled “nvidia_smi.enable”Enable NVIDIA SMI monitoring, see NVIDIA SMI monitoring for details.
Default is false.
This option could be overridden by the environment variable GLOUTON_NVIDIA_SMI_ENABLE.
nvidia_smi.bin_path
Section titled “nvidia_smi.bin_path”Path to the nvidia-smi binary. Not needed if Glouton can find nvidia-smi in the PATH.
On Linux, the binary is often found in /usr/bin/nvidia-smi and on Windows in
C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe. You’ll need to escape the \ in the
configuration like this: C:\\Program Files\\NVIDIA Corporation\\NVSMI\\nvidia-smi.exe.
Default is /usr/bin/nvidia-smi.
This option could be overridden by the environment variable GLOUTON_NVIDIA_SMI_BIN_PATH.
nvidia_smi.timeout
Section titled “nvidia_smi.timeout”Timeout used for GPU polling in seconds.
Default is 5.
This option could be overridden by the environment variable GLOUTON_NVIDIA_SMI_TIMEOUT.
service
Section titled “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 monitoring.
service_absent_deactivation_delay
Section titled “service_absent_deactivation_delay”When a service has not been detected since this delay, it is considered as inactive.
Note: the value must be provided under Golang’s time.Duration format.
Default is 168h (7 days).
This option can be overridden by the environment variable GLOUTON_SERVICE_ABSENT_DEACTIVATION_DELAY.
service_ignore
Section titled “service_ignore”Completely ignore services. E.g.:
service_ignore: - name: "nginx" instance: "host:* container:*"Note: the host: syntax only supports host:*.
To only disable service checks or service metrics, see service_ignore_check or service_ignore_metrics.
service_ignore
Section titled “service_ignore”To completely ignore a service from the automatic discovery, add to your configuration file (e.g. /etc/glouton/conf.d/50-service-ignore.conf):
service_ignore: - name: "nginx" instance: "host:* container:*"Note: the host: syntax only supports host:*.
To only disable service checks or service metrics, see service_ignore_check or service_ignore_metrics.
service_ignore_metrics
Section titled “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
Section titled “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 service status check 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:*.
smart.enable
Section titled “smart.enable”Enable SMART to monitor the health of your disks.
Details about the metrics gathered can be found in Operating System Metrics.
Default is true.
This option could be overridden by the environment variable GLOUTON_SMART_ENABLE.
smart.path_smartctl
Section titled “smart.path_smartctl”Path to smartctl binary. In most cases the default “smartctl” is fine,
and Glouton will look for smartctl in the PATH.
Default is “smartctl”.
This option could be overridden by the environment variable GLOUTON_SMART_PATH_SMARTCTL.
smart.devices
Section titled “smart.devices”Devices to monitor, if unset a scan for SMART devices will be done and all
devices found will be included (except the devices in smart.excludes).
Default is unset.
This option could be overridden by the environment variable GLOUTON_SMART_DEVICES.
smart.excludes
Section titled “smart.excludes”Devices to exclude.
Default is:
- cd0
This option could be overridden by the environment variable GLOUTON_SMART_EXCLUDES.
smart.max_concurrency
Section titled “smart.max_concurrency”To speed-up collecting metrics from disk, Bleemeo agent query disks concurrently. This limit the number of disk queriered at the same time. You can set this value to 1 if you want to query disk sequentially.
Default is 4.
This option could be overridden by the environment variable GLOUTON_SMART_MAX_CONCURRENCY.
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
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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.
vsphere
Section titled “vsphere”List of vSphere configurations.
Each entry represents either a vCenter or an ESXI, both in the format of the following example:
vsphere: - url: "https://vcenter-or-esxi.address" username: "user" password: "passwd" insecure_skip_verify: false skip_monitor_vms: falseThe insecure_skip_verify field may be set to true if the authenticity of the SSL certificate should not be checked.
Default is an empty list.
web.enable
Section titled “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.endpoints.debug_enable
Section titled “web.endpoints.debug_enable”Should Go debug endpoint be enabled on the built-in HTTP.
The endpoint is standard Go pprof endpoint (exposed by default on /debug/pprof/), which could help troubleshooting the Bleemeo agent itself. It relies on the Golang HTTP pprof.
Default is false
This option could be overridden by the environment variable GLOUTON_WEB_ENDPOINTS_DEBUG_ENABLE.
web.listener.address
Section titled “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
Section titled “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.local_ui.enable
Section titled “web.local_ui.enable”Enables the local UI, if this is disabled and web.enable is enabled,
only debugging endpoints like /diagnostic will be accessible.
Default is true.
This option could be overridden by the environment variable GLOUTON_WEB_LOCAL_UI_ENABLE.
web.static_cdn_url
Section titled “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.
zabbix.enable
Section titled “zabbix.enable”Enable monitoring for a Zabbix server.
Default is false.
This option could be overridden by the environment variable GLOUTON_ZABBIX_ENABLE.
zabbix.address
Section titled “zabbix.address”Address to listen on for Zabbix request.
Default is “127.0.0.1”.
This option could be overridden by the environment variable GLOUTON_ZABBIX_ADDRESS.
zabbix.port
Section titled “zabbix.port”Port to listen on for Zabbix request.
Default is 10050.
This option could be overridden by the environment variable GLOUTON_ZABBIX_PORT.
Reference
Section titled “Reference”Indentation uses whitespace only, no tabulations. Options available (with the default value):
agent: auto_upgrade_file: "auto_upgrade" cloudimage_creation_file: "cloudimage_creation" deprecated_state_file: "" enable_crash_reporting: true facts_file: "facts.yaml" installation_format: "manual" max_crash_reports_count: 2 netstat_file: "netstat.out" node_exporter: collectors: - "cpu" - "diskstats" - "filesystem" - "loadavg" - "meminfo" - "netdev" enable: true process_exporter: enable: true public_ip_indicator: "https://myip.bleemeo.com" state_cache_file: "state.cache.json" state_directory: "" state_file: "state.json" state_reset_file: "state.reset" telemetry: address: "https://telemetry.bleemeo.com/v1/telemetry/" enable: true upgrade_file: "upgrade" windows_exporter: collectors: - "cpu" - "cs" - "logical_disk" - "logon" - "memory" - "net" - "os" - "system" - "tcp" enable: true
blackbox: enable: true modules: http: prober: "http" http: preferred_ip_protocol: "ip4" scraper_name: "" scraper_send_uuid: true targets: [] user_agent: "Glouton 0.1"
bleemeo: account_id: "" api_base: "https://api.bleemeo.com/" api_ssl_insecure: false cache: deactivated_metrics_expiration_days: 200 container_registration_delay_seconds: 30 enable: true initial_agent_name: "" initial_server_group_name: "" initial_server_group_name_for_snmp: "" initial_server_group_name_for_vsphere: "" mqtt: cafile: "" host: "mqtt.bleemeo.com" port: 8883 ssl: true ssl_insecure: false registration_key: "" sentry: dsn: ""
container: filter: allow_by_default: true allow_list: [] deny_list: [] pid_namespace_host: false runtime: containerd: addresses: - "/run/containerd/containerd.sock" - "/run/k3s/containerd/containerd.sock" prefix_hostroot: true docker: addresses: - "" - "unix:///run/docker.sock" - "unix:///var/run/docker.sock" prefix_hostroot: true type: ""
df: host_mount_point: "" ignore_fs_type: - aufs - autofs - binfmt_misc - bpf - cgroup - cgroup2 - configfs - debugfs - devfs - devpts - devtmpfs - efivarfs - fdescfs - fusectl - hugetlbfs - iso9660 - linprocfs - linsysfs - mqueue - nfs - nfs4 - nsfs - nullfs - overlay - proc - procfs - pstore - rpc_pipefs - securityfs - selinuxfs - squashfs - sysfs - tmpfs - tracefs - zfs 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" - "/var/lib/docker/containers" - "/snap" - "/run/snapd" - "/run/docker/runtime-runc" - "/dev"
disk_ignore: - "^(bcache|cd|dm-|fd|loop|pass|ram|sr|zd|zram)\\d+$" - "^((h|rss|s|v|xv)d[a-z]+|fio[a-z]+)\\d+$" - "^(drbd|md|mmcblk|nbd|nvme\\d+n|rbd|rsxx|skd)\\d+p\\d+$",
disk_monitor: - "^(hd|sd|vd|xvd)[a-z]$" - "^mmcblk[0-9]$" - "^nvme[0-9]n[0-9]$" - "^fio[a-z]$" - "^drbd[0-9]$" - "^rbd[0-9]$" - "^rssd[a-z]$" - "^skd[0-9]$" - "^rsxx[0-9]$" - "^[A-Z]:$"
ipmi: enable: true use_sudo: true bin_search_path: "" timeout: 10
jmx: enable: true
jmxtrans: config_file: "/var/lib/jmxtrans/glouton-generated.json" file_permission: "0640" graphite_port: 2004
kubernetes: allow_cluster_metrics: false clustername: "" enable: false kubeconfig: "" nodename: ""
log: fluentbit_url: "" hostroot_prefix: "/hostroot" inputs: [] opentelemetry: enable: true auto_discovery: false grpc: enable: false address: "localhost" port: 4317 http: enable: false address: "localhost" port: 4318 known_log_formats: {} receivers: {} container_format: {} global_filters: {} known_log_filters: {} container_filter: {}
logging: buffer: head_size_bytes: 500000 tail_size_bytes: 500000 filename: "" level: "INFO" output: "console" package_levels: ""
mdstat: enable: true path_mdadm: "mdadm" use_sudo: true
metric: allow_metrics: [] deny_metrics: [] include_default_metrics: true prometheus: targets: [] snmp: exporter_address: "http://localhost:9116" targets: [] softstatus_period: system_pending_security_updates: 86400 system_pending_updates: 86400 time_drift: 0 time_elapsed_since_last_data: 0 softstatus_period_default: 300
mqtt: ca_file: "" enable: false hosts: - "127.0.0.1" password: "" port: 1883 ssl: false ssl_insecure: false username: ""
network_interface_denylist: - "docker" - "lo" - "veth" - "virbr" - "vnet" - "isatap" - "fwbr" - "fwpr" - "fwln"
nrpe: address: "0.0.0.0" conf_paths: - "/etc/nagios/nrpe.cfg" enable: false port: 5666 ssl: true
nvidia_smi: bin_path: "/usr/bin/nvidia-smi" enable: false timeout: 5
service: []
service_absent_deactivation_delay: 168h
service_ignore: []
service_ignore_check: []
service_ignore_metrics: []
smart: enable: true path_smartctl: "" devices: [] excludes: ["cd0"] max_concurrency: 4
tags: []
telegraf: docker_metrics_enable: true statsd: address: "127.0.0.1" enable: true port: 8125
thresholds: {}
vsphere: []
web: enable: true endpoints: debug_enable: false listener: address: "127.0.0.1" port: 8015 local_ui: enable: true static_cdn_url: "/static/"
zabbix: address: "127.0.0.1" enable: false port: 10050