Skip to content

webdevops/github-workflow-exporter

 
 

Repository files navigation

Github Workflows exporter

license DockerHub Quay.io Artifact Hub

Prometheus exporter for GitHub workflow runs

Usage

Usage: github-workflow-exporter [OPTIONS] Application Options: --log.debug debug mode [$LOG_DEBUG] --log.devel development mode [$LOG_DEVEL] --log.json Switch log output to json format [$LOG_JSON] --github.enterprise.url= GitHub enterprise url (self hosted) [$GITHUB_ENTERPRISE_URL] --github.organization= GitHub organization name [$GITHUB_ORGANIZATION] --github.token= GitHub token auth: PAT [$GITHUB_TOKEN] --github.app.id= GitHub app auth: App ID [$GITHUB_APP_ID] --github.app.installationid= GitHub app auth: App installation ID [$GITHUB_APP_INSTALLATION_ID] --github.app.keyfile= GitHub app auth: Private key (path to file) [$GITHUB_APP_PRIVATE_KEY] --github.repository.customprops= GitHub repository custom properties as labels for repos and workflows (space delimiter) [$GITHUB_REPOSITORY_CUSTOMPROPS] --github.workflows.timeframe= GitHub workflow timeframe for fetching (default: 168h) [$GITHUB_WORKFLOWS_TIMEFRAME] --scrape.time= Scrape time (default: 30m) [$SCRAPE_TIME] --cache.path= Cache path (to folder, file://path... or azblob://storageaccount.blob.core.windows.net/containername or k8scm://{namespace}/{configmap}}) [$CACHE_PATH] --server.bind= Server address (default: :8080) [$SERVER_BIND] --server.timeout.read= Server read timeout (default: 5s) [$SERVER_TIMEOUT_READ] --server.timeout.write= Server write timeout (default: 10s) [$SERVER_TIMEOUT_WRITE] Help Options: -h, --help Show this help message 

Authentication

Supports either PAT token auth via env var GITHUB_TOKEN or GitHub App auth with env vars GITHUB_APP_ID (id), GITHUB_APP_INSTALLATION_ID (id) and GITHUB_APP_PRIVATE_KEY (file path).

GOMEMLIMIT

automemlimit is used for automatically detecting GOMEMLIMIT inside containers.

Env var Description
AUTOMEMLIMIT=off Disabling auto memlimit
GOMEMLIMIT=0.9 Limits golang memory to 90% of system/cgroup memory (keep some mem available to system; default is 0.9)

Metrics

Metric Description
github_repository_info Repository info metric
github_workflow_info Workflow info metric
github_workflow_latest_run Latest workflow run with conclusion as label
github_workflow_latest_run_timestamp_seconds Latest workflow run with timestamp as value
github_workflow_consecutive_failed_runs Count of consecutive failed runs per workflow

About

Prometheus exporter for GitHub workflow stats

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •