prometheus-engine

module
v0.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 25, 2022 License: Apache-2.0

README

Prometheus Engine

Go Report Card GoDoc GitHub go.mod Go version License

This repository contains various binaries and packages for client-side usage of Google Cloud Managed Service for Prometheus (GMP), a managed Prometheus offering on top of Google Cloud Monitoring (GCM).

For more documentation and to get started, go to g.co/cloud/managedprometheus.

Binaries

  • config-reloader: An auxiliary binary to initiate reload on configuration file changes.
  • frontend: An authorizing proxy for the Prometheus-compatible query API of GMP. It additionally hosts a query UI.
  • operator: A Kubernetes operator for managed metric collection for GMP.
  • rule-evaluator: A Prometheus rule evaluation engine that evaluates against GMP.

For the fully Prometheus-compatible binary that writes ingested data into GMP/GCM, see GoogleCloudPlatform/prometheus.

Build

Run make help shows a list of candidate targets with documentation.

Any go application in ./cmd/ with an associated main.go, e.g. ./cmd/operator/main.go is a candidate for build by running:

make operator

This triggers a Docker build and associated image. It also generates in a binary in ./build/bin/.

  • Running make all will generate all the go binaries.
    • Setting NO_DOCKER=1 here will build all the binaries natively on the host machine. In this case, running NO_DOCKER=1 make assets beforehand is required.
  • Running make test will run unit and e2e tests.
    • If NO_DOCKER=1 is set, end-to-end tests will be run against the current kubectl context. It is assumed the cluster has access to the GCM API. Ensure GMP_CLUSTER and GMP_LOCATION are set, e.g.
    NO_DOCKER=1 GMP_CLUSTER=<my-cluster> GMP_LOCATION=<cluster-location> make test
    
  • Running make presubmit will run various checks on the repo to ensure it is ready to submit a pull request. This includes testing, formatting, and regenerating files in-place.
    • Setting DRY_RUN=1 won't regenerate any files but will return a non-zero exit code if the current changes differ from what would be. This can be useful in running in CI workflows.
Dependencies

In order to best develop and contribute to this repository, the following dependencies are recommended:

  1. go
  2. gcloud
  3. kubectl
  • Can also be installed via
gcloud components install kubectl
  1. Docker
  • Can also be run via
gcloud alpha cloud-shell ssh -- -nNT -L `pwd`/docker.sock:/var/run/docker.sock
# Then in separate terminal.
export DOCKER_HOST=unix://docker.sock

Directories

Path Synopsis
cmd
frontend
A proxy that forwards incoming requests to an HTTP endpoint while authenticating it with static service account credentials or the default service account on GCE instances.
A proxy that forwards incoming requests to an HTTP endpoint while authenticating it with static service account credentials or the default service account on GCE instances.
pkg
export/setup
Package setup contains common logic for setting up the export package across binaries.
Package setup contains common logic for setting up the export package across binaries.
operator/apis/monitoring/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
operator/generated/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
operator/generated/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
operator/generated/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
operator/generated/clientset/versioned/typed/monitoring/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
operator/generated/clientset/versioned/typed/monitoring/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
ui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL