Upgrade Advisory

This documentation is for Flux (v1) and Helm Operator (v1). Both projects are in maintenance mode and will soon reach end-of-life. We strongly recommend you familiarise yourself with the newest Flux and start looking at your migration path.

For documentation regarding the latest Flux, please refer to this section.

Monitoring Flux

The Flux daemon exposes /metrics endpoints which can be scraped for monitoring data in Prometheus format; exact metric names and help are available from the endpoints themselves.

The following metrics are exposed:

flux_cache_request_duration_secondsDuration of cache requests, in seconds.
flux_client_fetch_duration_secondsDuration of remote image metadata requests
flux_daemon_job_duration_secondsDuration of job execution, in seconds
flux_daemon_queue_duration_secondsDuration of time spent in the job queue before execution
flux_daemon_queue_length_countCount of jobs waiting in the queue to be run
flux_daemon_sync_duration_secondsDuration of git-to-cluster synchronisation
flux_daemon_sync_manifestsNumber of manifests being synced to cluster
flux_registry_fetch_duration_secondsDuration of image metadata requests (from cache)
flux_fluxd_connection_duration_secondsDuration in seconds of the current connection to fluxsvc
flux_git_readyStatus of the git repository

Flux sync state can be obtained by using the following PromQL expressions:

  • delta(flux_daemon_sync_duration_seconds_count{success='true'}[6m]) < 1 - for general flux sync errors - usually if that is true then there are some problems with infrastructure or there are manifests parse error or there are manifests with duplicate ids.

  • flux_daemon_sync_manifests{success='false'} > 0 - for git manifests errors - if true then there are either some problems with applying git manifests to kubernetes - e.g. configmap size is too big to fit in annotations or immutable field (like label selector) was changed.

  • flux_git_ready < 1 - for git clone/fetch/push errors. If true then there are some problems in the git repository, or the repository cannot be reached.