viola: upstream
Signed-off-by: s0me1newithhand7s <git+me@hand7s.org>
This commit is contained in:
parent
bcb7f2dcb0
commit
793b14918a
34 changed files with 1320 additions and 326 deletions
93
viola/services/alloy.nix
Normal file
93
viola/services/alloy.nix
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
{pkgs, ...}: {
|
||||
services = {
|
||||
alloy = {
|
||||
enable = true;
|
||||
configPath = pkgs.writeText "alloy-config.alloy" ''
|
||||
loki.source.journal "system" {
|
||||
forward_to = [loki.process.production.receiver]
|
||||
relabel_rules = loki.relabel.journal.rules
|
||||
labels = {
|
||||
host = "viola",
|
||||
job = "systemd",
|
||||
}
|
||||
}
|
||||
|
||||
loki.relabel "journal" {
|
||||
forward_to = []
|
||||
rule {
|
||||
source_labels = ["__journal__systemd_unit"]
|
||||
target_label = "unit"
|
||||
}
|
||||
}
|
||||
|
||||
loki.write "local" {
|
||||
endpoint {
|
||||
url = "http://127.0.0.1:3100/loki/api/v1/push"
|
||||
}
|
||||
}
|
||||
|
||||
loki.process "production" {
|
||||
forward_to = [loki.write.local.receiver]
|
||||
|
||||
stage.match {
|
||||
selector = `{service_name=~"(alloy|forgejo|grafana|loki|microbin|mimir|stalwart|postgresql|redis|stalwart|static-web-server|tempo|traefik|vaultwarden|woodpecker|zitadel)\\.service"}`
|
||||
action = "keep"
|
||||
}
|
||||
}
|
||||
|
||||
prometheus.exporter.unix "node" {
|
||||
enable_collectors = [
|
||||
"cpu", "diskstats", "filesystem",
|
||||
"loadavg", "meminfo", "netdev",
|
||||
"systemd", "time", "uname",
|
||||
]
|
||||
}
|
||||
|
||||
prometheus.scrape "node" {
|
||||
targets = prometheus.exporter.unix.node.targets
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
scrape_interval = "30s"
|
||||
job_name = "node"
|
||||
}
|
||||
|
||||
prometheus.scrape "alloy" {
|
||||
targets = [{"__address__" = "127.0.0.1:12345"}]
|
||||
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "alloy"
|
||||
}
|
||||
|
||||
prometheus.remote_write "mimir" {
|
||||
endpoint {
|
||||
url = "http://127.0.0.1:9009/api/v1/push"
|
||||
}
|
||||
}
|
||||
|
||||
otelcol.receiver.otlp "default" {
|
||||
grpc {
|
||||
endpoint = "0.0.0.0:4317"
|
||||
}
|
||||
|
||||
http {
|
||||
endpoint = "0.0.0.0:4318"
|
||||
}
|
||||
|
||||
output {
|
||||
traces = [otelcol.exporter.otlp.tempo.input]
|
||||
logs = [otelcol.exporter.loki.local.input]
|
||||
}
|
||||
}
|
||||
|
||||
otelcol.exporter.otlp "tempo" {
|
||||
client {
|
||||
endpoint = "http://127.0.0.1:4317"
|
||||
}
|
||||
}
|
||||
|
||||
otelcol.exporter.loki "local" {
|
||||
forward_to = [loki.write.local.receiver]
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue