Frequently asked questions
Running Scope in a Kubernetes setting
A simple way to get Scope running in a Kubernetes setting is to
Clone the Scope repo:
git clone https://github.com/weaveworks/scope cd scope
- Spin up a cluster wherever it suits you. Minikube is a simple option.
kubectl apply -f example/k8s
to deploy Scope to your cluster.
Port-forward to access
kubectl port-forward svc/weave-scope-app -n weave 4040:80
- Point your browser to http://127.0.0.1:4040.
Disabling Scope Write Access
Can be done by using the
probe.no-controls option and set it to false for the scope agents. This can be done in the scope deployment manifest under the
weave-scope-agent’s argument section with
RBAC and Weave Scope OSS
OSS Scope has no user concept, this is only available in Weave Cloud. To limit the access to the UI,
- setup a reverse proxy with auth and block access to non admin users,
- capture the calls with something like Chrome network console to get the endpoints to know which requests to authenticate in the proxy server.
you can use Basic HTTP Auth since Scope 1.10.0 - just use these command line arguments:
-app.basicAuth Enable basic authentication for app -app.basicAuth.password string Password for basic authentication (default "admin") -app.basicAuth.username string Username for basic authentication (default "admin")
- It required patches, @adivyoseph (on #scope) had done some work on this.
- #2110 says that scope’s CI builds ARM32 (but not ARM64) for test-builds at least.
- @errordeveloper says: It should be easy to add arm64 in CI, You can try and enable builds in ci on a branch.. In theory, you just need to build for
OSS Scope reports aren’t persistent and the probe keeps the last 15 seconds of metrics in memory.
Scope exposes the following endpoints that can be used by external monitoring services.
/api- Scope status and configuration
/api/probes- basic status of Scope probes
/api/report- returns a full JSON report
/api/topology- information on all topologies
/api/topology/[TOPOLOGY]- information on all nodes belonging to
/api/topology/[TOPOLOGY]/[NODE_ID]- information on specific node
NODE_IDmust be an internal Scope node ID obtained from the URL field
selectedNodeIdwhen selecting that node in the UI - see #3122 for a proposal of a better solution)
Using a different port
You can use
scope launch --app.http.address=127.0.0.1:9000 to run the
http server on another port (in this case 9000).