Commit Graph
36 Commits
Author SHA1 Message Date
fauno 28a5091aed Merge branch 'main' into loki-tsdb 2026-10-30 10:54:08 -03:00
fauno d0d600ca4e Merge branch 'main' into loki-debugging 2026-10-30 10:52:10 -03:00
p4u1 25f811bd4f feat(alert): adds traefik apdex alert (#49)
Reviewed-on: #49
Reviewed-by: ammaratef45 <ammaratef45@proton.me>
Reviewed-by: fauno <fauno@sutty.coop.ar>
Co-authored-by: p4u1 <p4u1_f4u1@riseup.net>
2026-10-30 13:48:38 +00:00
dannygroenewegen e708e418ba feat: opt-in Loki index store migration from deprecated boltdb-shipper to TSDB
boltdb-shipper is deprecated and will be removed in Loki 4.0.
Setting LOKI_TSDB_FROM_DATE adds a second schema_config period (store:
tsdb) from that date onward, alongside the existing boltdb-shipper
period, so logs before the cutover stay queryable under the old store
while new logs are indexed with TSDB.
2026-10-29 12:44:30 +01:00
fauno 1babe0c7e8 feat: smart monitoring (#25)
it requires a helper script on the host because swarm doesn't support privileged mode

Reviewed-on: #25
Reviewed-by: Danny Groenewegen <247+dannygroenewegen@noreply.git.coopcloud.tech>
Co-authored-by: f <f@sutty.nl>
2026-10-11 23:38:27 +00:00
p4u1 f8973c11fc feat: improve loki debugging 2026-10-10 14:44:30 +02:00
simon 779dee5a0d allow scraping of docker events (#32)
another one! closes #15

again, the compose-snippet was generated using Claude, but verified and tested manually.
Thought of using a socket-proxy just as traefik does, but since alloy has socket access anyways and the official docker image should be as safe as it gets, I think this should be alright.

## Loki log preview
![grafik.png](/attachments/013605e9-9abc-47ef-8cb9-c118fbaec3b5)

Reviewed-on: #32
Reviewed-by: moritz <98+moritz@noreply.git.coopcloud.tech>
Co-authored-by: Simon <s.thiessen@local-it.org>
2026-09-22 10:33:47 +00:00
simon f48aa64193 make disk usage per container metric optional (#29)
Following the discussion from the matrix channel, I made the disk usage metrics optional, as it currently causes ~35% of cpu usage on our system.

[Old cadvisor-config](02b01e5c23/compose.yml) from this repo had a `- "--housekeeping_interval=120s"` option enabled which seems currently not configurable for alloy - maybe this allows us reenabling disk metrics at a later point again.

dropped from 35% to 5% when removing `disk` from
`  enabled_metrics = ["cpu", "cpuLoad", "diskIO", "memory", "network"]` for cadvisor.

go profiling:

```
File: alloy
Build ID: de7ba8978f6753c25c13f6886ab3b896d3b05d3f
Type: cpu
Time: Sep 7, 2026 at 12:53pm (CEST)
Duration: 120s, Total samples = 37.23s (31.02%)
Showing nodes accounting for 32.20s, 86.49% of 37.23s total
Dropped 790 nodes (cum <= 0.19s)
      flat  flat%   sum%        cum   cum%
    28.72s 77.14% 77.14%     28.72s 77.14%  internal/runtime/syscall/linux.Syscall6
     0.47s  1.26% 78.40%      0.48s  1.29%  internal/filepathlite.(*lazybuf).append (inline)
     0.30s  0.81% 79.21%      0.94s  2.52%  internal/filepathlite.Clean
     0.26s   0.7% 79.91%      0.26s   0.7%  runtime.nextFreeFast (inline)
     0.23s  0.62% 80.53%      0.23s  0.62%  runtime.futex
     0.21s  0.56% 81.09%      0.21s  0.56%  runtime.memclrNoHeapPointers
     0.21s  0.56% 81.65%      0.21s  0.56%  runtime.memmove
     0.19s  0.51% 82.16%      6.19s 16.63%  os.(*File).readdir
     0.17s  0.46% 82.62%     31.24s 83.91%  path/filepath.walk
     0.12s  0.32% 82.94%      0.20s  0.54%  runtime.exitsyscall
     0.08s  0.21% 83.16%      0.24s  0.64%  runtime.scanObject
     0.08s  0.21% 83.37%      0.24s  0.64%  runtime.sweepone
     0.08s  0.21% 83.59%      0.29s  0.78%  slices.pdqsortOrdered[go.shape.string]
     0.07s  0.19% 83.78%      0.27s  0.73%  runtime.makeslicecopy
     0.06s  0.16% 83.94%     28.48s 76.50%  syscall.RawSyscall6
     0.05s  0.13% 84.07%      0.27s  0.73%  github.com/google/cadvisor/fs.GetDirUsage.func1
     0.05s  0.13% 84.21%     19.99s 53.69%  os.lstatNolog
     0.05s  0.13% 84.34%      1.26s  3.38%  runtime.mallocgc
     0.05s  0.13% 84.47%      0.43s  1.15%  runtime.mallocgcSmallNoscan
     0.04s  0.11% 84.58%      0.46s  1.24%  runtime.newobject
     0.04s  0.11% 84.69%      0.19s  0.51%  runtime.selectgo
     0.04s  0.11% 84.80%      1.18s  3.17%  runtime.systemstack
```

Reviewed-on: #29
Reviewed-by: Danny Groenewegen <247+dannygroenewegen@noreply.git.coopcloud.tech>
Co-authored-by: Simon <s.thiessen@local-it.org>
2026-09-08 14:25:47 +00:00
faunoanddannygroenewegen ff56438d7c BREAKING CHANGES: replace promtail and cadvisor for alloy (#21)
closes #20

---------

Co-authored-by: Danny Groenewegen <danny@ecommons.space>
Reviewed-on: #21
Reviewed-by: ammaratef45 <ammaratef45@proton.me>
Reviewed-by: Danny Groenewegen <247+dannygroenewegen@noreply.git.coopcloud.tech>
Co-authored-by: f <f@sutty.nl>
2026-09-02 22:57:39 +00:00
p4u1 02b01e5c23 feat: make alerts configurable (#19)
Alert threshholds can now be configured via env variables

I also seperated the basic auth, so that it is possible to deploy only prometheus without promtail

Reviewed-on: #19
Reviewed-by: ammaratef45 <ammaratef45@proton.me>
Reviewed-by: Danny Groenewegen <dannygroenewegen@noreply.git.coopcloud.tech>
Co-authored-by: p4u1 <p4u1_f4u1@riseup.net>
Co-committed-by: p4u1 <p4u1_f4u1@riseup.net>
2026-06-12 06:49:17 +00:00
dannygroenewegen 9dfa9cad2a Shortened all the secret and config names to max 14 characters to prevent running into Docker's 64 character limit when STACK_NAME is appended to it. 2026-03-25 15:58:28 +01:00
ammaratef45andp4u1 16bd65f417 fix recipe part in the domain (#8)
I created a new app using this recipe and the domain wasn't automatically replaced, I'm guessing cause the part before the root domain didn't match the recipe name?

Just opening a PR real quick so I can get back to it and test the fix later when I have cycles

Co-authored-by: p4u1 <p4u1@noreply.git.coopcloud.tech>
Reviewed-on: #8
Reviewed-by: p4u1 <p4u1@noreply.git.coopcloud.tech>
Co-authored-by: ammaratef45 <ammaratef45@proton.me>
Co-committed-by: ammaratef45 <ammaratef45@proton.me>
2026-03-20 09:23:36 +00:00
p4u1 f93370b9ca Moves oidc to a seperate compose config (#6)
Otherwise the secret has to be provided when oidc is not used

Reviewed-on: #6
Co-authored-by: p4u1 <p4u1_f4u1@riseup.net>
Co-committed-by: p4u1 <p4u1_f4u1@riseup.net>
2026-03-20 09:10:48 +00:00
iexos 83461e2e76 remove default TIMEOUT (abra #596) 2025-12-30 13:53:47 +01:00
p4u1 cd42c64544 feat: Adds option to expose ports for node and cadvisor service 2025-02-21 17:21:46 +01:00
p4u1 8900ace6a2 feat: Adds matrix contact point for grafana alerts 2025-02-18 16:03:47 +01:00
p4u1 73c4ec3e74 feat: Adds optional GRAFANA_DOMAIN 2025-02-17 12:16:29 +01:00
p4u1 0352a393de feat: Adds dashboard and alerts for backupbot 2024-12-30 14:43:30 +01:00
p4u1 1a59dfac7f add pushgateway 2024-12-21 14:23:50 +01:00
moritz a9b76dff65 update backupbot label 2024-10-24 17:32:29 +02:00
moritz 3750e75439 chore: publish 1.1.0+v1.7.0 release 2024-04-16 16:45:42 +02:00
moritz 5d0b6d88fc fix default DOMAIN naming scheme 2024-01-19 12:30:58 +01:00
moritz d4c6bd4c12 shorten basic_auth secret 2023-12-20 22:46:27 +01:00
philippr 7a0292f902 fix: grafana smtp stuff 2023-06-20 16:04:40 +02:00
philippr de1819521b remove prometheus alertmanager
grafana has basic alert mechanisms included, might be enough for most
usecases?
2023-06-01 15:10:53 +02:00
philippr 3398e1d312 chore: remove junk 2023-05-24 12:05:50 +02:00
philippr 9091c7a83e add timeout 2023-05-23 12:17:50 +02:00
philippr 30f2a52622 add retention period; update loki 2023-05-21 12:50:42 +02:00
philippr c444f4cc0b prometheus retention time 2023-05-20 11:31:30 +02:00
philippr 49a4d6ab17 loki works 2023-02-14 12:38:12 +01:00
philippr cc8a0b2905 wip loki stuff 2023-02-13 16:10:33 +01:00
philippr 15cd881356 wip loki stuff 2023-02-12 19:06:30 +01:00
philippr 7fa22a1350 add grafana 2023-02-11 17:17:50 +01:00
philippr fdb9a4fc3e add prometheus 2023-02-11 16:36:26 +01:00
philippr d5a34436f9 wip 2023-02-09 10:07:29 +01:00
decentral1se 6886e0b1a1 init 2022-03-31 14:52:21 +02:00