mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Adds support for logs (specify level), metrics (enable metrics and Prometheus /metrics endpoint and traces (jaeger or otlp) for standalone API server. This will allow any grafana core service part of standalone apiserver to use logging, metrics and traces as normal.
Grafana Kubernetes compatible API Server
Basic Setup
[feature_toggles]
kubernetesPlaylists = true
Start Grafana:
make run
Enable dual write to etcd
Start etcd:
make devenv sources=etcd
Set storage type and etcd server address in custom.ini:
[grafana-apiserver]
storage_type = etcd
etcd_servers = 127.0.0.1:2379
Enable dual write to JSON files:
Set storage type:
[grafana-apiserver]
storage_type = file
Objects will be written to disk under the {data.path}/grafana-apiserver/ directory.
For example:
data/grafana-apiserver
├── grafana.kubeconfig
└── playlist.grafana.app
└── playlists
└── default
└── hi.json
Enable aggregation
See aggregator/README.md for more information.
kubectl access
For kubectl to work, grafana needs to run over https. To simplify development, you can use:
app_mode = development
[feature_toggles]
grafanaAPIServerEnsureKubectlAccess = true
kubernetesPlaylists = true
This will create a development kubeconfig and start a parallel ssl listener. It can be registered by navigating to the root grafana folder, then running:
export KUBECONFIG=$PWD/data/grafana-apiserver/grafana.kubeconfig
kubectl api-resources
Grafana API Access
The Kubernetes compatible API can be accessed using existing Grafana AuthN at: http://localhost:3000/apis.
The equivalent openapi docs can be seen in http://localhost:3000/swagger, select the relevant API from the dropdown in the upper right.