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
124
viola/services/mimir.nix
Normal file
124
viola/services/mimir.nix
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
services = {
|
||||
mimir = {
|
||||
enable = true;
|
||||
|
||||
configuration = {
|
||||
multitenancy_enabled = false;
|
||||
|
||||
target = "all";
|
||||
server = {
|
||||
http_listen_port = 9009;
|
||||
};
|
||||
|
||||
common = {
|
||||
storage = {
|
||||
backend = "filesystem";
|
||||
filesystem = {
|
||||
dir = "/var/lib/mimir";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
blocks_storage = {
|
||||
backend = "filesystem";
|
||||
filesystem = {
|
||||
dir = "/var/lib/mimir/blocks";
|
||||
};
|
||||
|
||||
tsdb = {
|
||||
dir = "/var/lib/mimir/tsdb";
|
||||
};
|
||||
};
|
||||
|
||||
compactor = {
|
||||
data_dir = "/var/lib/mimir/compactor";
|
||||
};
|
||||
|
||||
ingester = {
|
||||
ring = {
|
||||
instance_addr = "127.0.0.1";
|
||||
replication_factor = 1;
|
||||
kvstore = {
|
||||
store = "memberlist";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
store_gateway = {
|
||||
sharding_ring = {
|
||||
replication_factor = 1;
|
||||
};
|
||||
};
|
||||
|
||||
ruler = {
|
||||
alertmanager_url = "http://127.0.0.1:9093";
|
||||
};
|
||||
|
||||
ruler_storage = {
|
||||
backend = "local";
|
||||
local = {
|
||||
directory = "${pkgs.writeTextDir "anonymous/homelab.yml" (lib.generators.toYAML {} {
|
||||
groups = [
|
||||
{
|
||||
name = "homelab";
|
||||
interval = "1m";
|
||||
rules = [
|
||||
{
|
||||
alert = "HighDiskUsage";
|
||||
expr = ''
|
||||
(1 - node_btrfs_device_unused_bytes / node_btrfs_device_size_bytes) * 100 > 85
|
||||
'';
|
||||
for = "5m";
|
||||
labels = {severity = "warning";};
|
||||
annotations = {
|
||||
summary = "High disk usage on {{ $labels.instance }}";
|
||||
};
|
||||
}
|
||||
{
|
||||
alert = "HighMemoryUsage";
|
||||
expr = ''
|
||||
(1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100 > 90
|
||||
'';
|
||||
for = "5m";
|
||||
labels = {severity = "warning";};
|
||||
annotations = {
|
||||
summary = "High memory usage on {{ $labels.instance }}";
|
||||
};
|
||||
}
|
||||
{
|
||||
alert = "HighCpuUsage";
|
||||
expr = ''
|
||||
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80
|
||||
'';
|
||||
for = "5m";
|
||||
labels = {severity = "warning";};
|
||||
annotations = {
|
||||
summary = "High CPU usage on {{ $labels.instance }}";
|
||||
};
|
||||
}
|
||||
{
|
||||
alert = "ServiceDown";
|
||||
expr = ''
|
||||
node_systemd_unit_state{state="active"} == 0
|
||||
'';
|
||||
for = "2m";
|
||||
labels = {severity = "critical";};
|
||||
annotations = {
|
||||
summary = "Service {{ $labels.name }} is down on {{ $labels.instance }}";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
})}";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue