Skip to content

balena-io-examples/baletheus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f7e83c5 · Jul 16, 2020

History

34 Commits
Jul 16, 2020
Jun 21, 2019
Apr 26, 2019
Mar 2, 2019
Apr 20, 2020
May 30, 2019
May 10, 2019
Apr 26, 2019
May 10, 2019
May 10, 2019
May 9, 2019
Mar 18, 2019

Repository files navigation

baletheus: balenaCloud Service Discovery for Prometheus

Monitor your balenaCloud devices with Prometheus directly via the file service discovery (sd) mechanism.

How to use:

This project will deploy a full Prometheus instance to a device, along with a sidecar for balenaCloud device discovery. By default the device discovery will include all devices owned by the user who deploys this project.

Deploy directly to balenaCloud to run a Prometheus instance with a sidecar sd daemon. The sd sidecar writes to a shared volume that Prometheus reads from directly.

To deploy:

  1. Create an account on balenaCloud
  2. Provision a device
  3. Deploy this project to the application containing the device
  4. Generate an API key to use in this project
  5. Set the API_KEY value in balenaCloud
  6. Access the Prometheus instance via public URL port 80
  • Note that if you are using public URLs, you will need to do that manually (the daemon does not modify that property on the devices)

baletheus Configuration options

All runtime configuration is done via environment variables:

Environment Variable Name Type Required? Use
API_KEY string true Key to access balenaCloud API
APPLICATION string or number false Application to filter devices (either number or name)
SD_FILE_PATH string false File path to write devices to
REFRESH_RATE number false Refresh interval (ms) (default
USE_PUBLIC_URLS boolean false Enable scraping via public URL
WRITE_EMPTY boolean false Enable writing file without any devices (disable failsafe)

Labels:

Exported labels include:

Label Type
device_name string
uuid string
device_type string
commit string
os_version string
os_variant string
supervisor_version string

NOTE:

At this point, only one sidecar per device is supported. A meta-exporter is in the works, stay tuned!