247 Commits

Author SHA1 Message Date
Bryan Boreham
bcdf2caa61 Make lint happy
Mostly new-style Go build directives

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2022-03-14 18:52:10 +00:00
Bryan Boreham
7e226fb9d6 Merge pull request #3851 from Kielek/feature/read-password-from-file
allow to read password from file
2021-05-17 18:18:06 +01:00
Bryan Boreham
b3a40b7453 Add multitenant-live collector
For when we want to collect reports in memory, but not save them to store.
Extract this functionality out of awsCollector to create new
liveCollector object.
2021-05-11 11:45:55 +00:00
Piotr Kiełkowicz
8bdb0d62ab allow to read password from file
it enables option to utilize docker swarm secret storage for password instead of env variables or app switches
2021-04-27 14:28:57 +02:00
Bryan Boreham
b9c8cf6998 Add flag for querier to talk to collectors 2021-04-18 19:01:44 +00:00
Bryan Boreham
f41b90a7d8 Clean up 'import' ordering 2021-04-04 13:47:27 +01:00
Bryan Boreham
c2578b6fb7 Move 'esc' tool out of image into vendor'd source
Smaller that way, and more consistent

(Note we run it with GC enabled; it crashes in CI otherwise)
2021-04-04 13:45:05 +01:00
Bryan Boreham
01804cb69d Merge pull request #3754 from CiMaol/dev/removeKubeletPort
Removed kubelet port flag. Node name now always need from env/flag
2020-05-18 12:27:06 +01:00
Bryan Boreham
1ad83e85de Warn user if probe is now reporting pods from every node. 2020-05-10 15:34:17 +00:00
Bryan Boreham
ccf031b8a9 enhancement(multitenant): merge incoming reports in a time window
This means we store fewer, bigger, reports, which reduces cost of
storage and time to render when data is viewed.
2020-04-13 19:11:34 +00:00
Bryan Boreham
104b9cba50 refactor: Call Close() on collector
Doesn't do anything at present, but will be used later.

Change the signature on BillingEmitter.Close() to match. Note we didn't use the error returned.
2020-04-13 19:11:34 +00:00
Bryan Boreham
b2d98dc1f7 Add doc files so 'go clean' can run
If the directories are empty then go modules tries to download them.
2020-03-23 15:04:50 +00:00
Bryan Boreham
b121950acf Update startup code to match changes in dependencies 2020-03-10 19:40:16 +00:00
cimaol
19fae5bc7d Removed kubelet port flag. Node name now always need from env/flag 2020-03-10 09:02:32 +00:00
Bryan Boreham
634e8f1158 Add tracing for pipe operations 2020-01-21 15:51:00 +00:00
Bryan Boreham
aae86877c7 Add back runsvint dependency
This is a small program used to watch app and probe running inside
the container.  We need to go round a few houses to be able to build
it from vendor directory.
2020-01-14 12:29:31 +00:00
Bryan Boreham
63d6a72727 feature: allow user to disable plugins via command-line flag 2019-10-06 17:35:26 +00:00
Bryan Boreham
6ee9738581 Merge pull request #3686 from weaveworks/analyze-reports
feature(app): Add a debugging summary function, exposed via http
2019-09-18 15:54:50 +01:00
Bryan Boreham
395282b043 help: add note on constraint to -full-report-every argument 2019-09-18 11:09:49 +00:00
Bryan Boreham
b6d5594f9f perf(probe): publish delta reports to reduce data size
Similar to video compression which uses key-frames and differences
between them: every N publishes we send a full report, but inbetween
we only send what has changed.

Fairly simple approach in the probe - hold on to the last full report,
and for the deltas remove anything that would be merged in from the
full report.

On the receiving side in the app it already merges a set of reports
together to produce the final output for rendering, so provided N is
smaller than that set we don't need to do anything different.

Deltas don't need to represent nodes that have disappeared - an
earlier full node will have that node so it would be merged into the
final output anyway.
2019-09-18 08:00:28 +00:00
Bryan Boreham
11e76f1740 feature(app): Add a debugging summary function, exposed via http
URL is /admin/summary
2019-09-17 10:48:23 +00:00
Bryan Boreham
5cba126c12 Merge pull request #3600 from weaveworks/expose-probe-metrics
Expose probe metrics to Prometheus
2019-08-20 14:35:06 +01:00
Bryan Boreham
ab7a7dcb16 Expose probe metrics to Prometheus
We are already timing all report, tag and tick operations.
If Prometheus is in use, expose those metrics that way.

Adjust metrics naming to fit with Prometheus norms.

The previous way these metrics were exposed was via SIGUSR1, and we
can only have one "sink", so make it either-or.

Signed-off-by: Bryan Boreham <bryan@weave.works>
2019-07-09 12:34:05 +00:00
Bryan Boreham
89363f5dcf Defer metrics registration until we need it
This avoids app-specific metrics appearing in the probe.
2019-07-04 14:24:22 +00:00
Roland Schilter
f8412c3204 Rename :orgId to :instanceId in metrics graph url
- Renames placeholders `:orgId` to `:instanceId` in
  `--app.metrics-graph`
- Adjusts frontend client to use the provided instanceId by its host
  application (Weave Cloud)
2018-12-17 17:57:00 -08:00
Bryan Boreham
c2b17f2bbc Add TopologyTagger in all modes
It is essential for rendering many node types, so lift it out of the
condition on Kubernetes cluster mode.
2018-11-26 11:57:21 +00:00
Bryan Boreham
62d55596c6 Merge pull request #3393 from ycao56/basic-auth
Add http Basic Auth
2018-11-07 14:32:03 +00:00
Bryan Boreham
71972c302a Disable host and endpoint reporting in Kubernetes cluster mode
When the probe is run with --probe.kubernetes.role=cluster, disable
host reporting and endpoint reporting since it duplicates what is
being done by the per-host probe.
2018-11-05 21:59:29 +00:00
Yu Cao
308f923e48 use github.com/goji/httpauth instead 2018-11-01 17:51:24 -04:00
Bryan Boreham
ee0ce7b087 Merge pull request #3384 from weaveworks/drop-big-topologies
In multitenant app, drop all nodes for big topologies
2018-11-01 17:21:55 +00:00
Yu Cao
b2a664c27b fix build 2018-10-18 15:09:17 -04:00
Yu Cao
12f64701a2 adjust env overrides logic 2018-10-17 21:44:07 -04:00
Yu Cao
49aaaef61b fix log 2018-10-17 19:33:58 -04:00
Yu Cao
5327fe197a fix typo 2018-10-17 19:33:30 -04:00
Yu Cao
10b74a4333 change env name 2018-10-17 19:32:51 -04:00
Yu Cao
fcdd217057 use env to override basic auth settings 2018-10-17 19:25:41 -04:00
Yu Cao
b5190d45cd basic auth 2018-10-17 19:25:12 -04:00
Bryan Boreham
fb96fe0024 Turn everything else off in Kubernetes cluster probe 2018-10-12 11:52:34 +00:00
Bryan Boreham
78eaf93c21 Make flag names easier to understand
Now you specify a role instead of controlling the internal behaviour
2018-10-12 08:06:32 +00:00
Bryan Boreham
98d52bd480 Allow kubelet port to be disabled 2018-10-11 17:54:29 +00:00
Bryan Boreham
38ea862bfd Check if dockerBridge is nonblank before using it
This gives us the option of disabling the function
2018-10-11 17:54:28 +00:00
Bryan Boreham
88049b0817 Add option for Kubernetes tagging when kubernetes probing disabled
This enables us to run Kubernetes probing on one node for the whole cluster.
2018-10-11 17:54:28 +00:00
Bryan Boreham
dd21a55a1e Refactor: implement kubernetes tagger in separate struct 2018-10-11 17:54:28 +00:00
Bryan Boreham
05b350850f Drop topologies which are way too big 2018-10-11 17:20:16 +00:00
Marcus Cobden
67b887cb5d Add middleware to detect trace context on HTTP 2018-08-28 13:32:29 +01:00
Marcus Cobden
02ebac68e4 Add a CLI flag to configure the service name 2018-08-09 14:06:57 +01:00
Marcus Cobden
00f311c50a Add Jaeger initialisation for distributed tracing 2018-08-09 13:18:13 +01:00
Lili Cosic
b971bea426 Disable CRI probe by default
This was enabled by default but we want it to be disabled instead, just
like with the docker probe.
2018-08-08 09:58:33 +02:00
Lili Cosic
e6d9bcc1cb Add CRI probe
When the probe.cri is enabled the CRI probe will be used to gather
the container information via the CRI API. For now only the basic
information is included in the generated report, those that we can get
via the CRI ListContainersRequest.
2018-07-26 10:51:59 +01:00
Marc Carré
10f6aaf9b7 Pass logger to middleware.Log
Should fix:
```
2018/07/23 20:29:49 http: panic serving 10.244.204.241:34716: runtime error: invalid memory address or nil pointer dereference
goroutine 1169 [running]:
net/http.(*conn).serve.func1(0xc420739a40)
/usr/local/go/src/net/http/server.go:1726 +0xd0
panic(0x17d5200, 0x2a7f5e0)
/usr/local/go/src/runtime/panic.go:502 +0x229
github.com/weaveworks/scope/vendor/github.com/weaveworks/common/middleware.Log.Wrap.func1(0x1dc60e0, 0xc4215e7a40, 0xc4202cee00)
/go/src/github.com/weaveworks/scope/vendor/github.com/weaveworks/common/middleware/logging.go:40 +0x3c7
[...]
```
2018-07-23 22:42:54 +02:00