checks/tempo: init
This commit is contained in:
parent
bf35711597
commit
8d4b23df72
2 changed files with 81 additions and 0 deletions
|
@ -8,5 +8,8 @@
|
||||||
patroni = pkgs.callPackage ./patroni.nix {
|
patroni = pkgs.callPackage ./patroni.nix {
|
||||||
patroniModule = self.nixosModules.patroni;
|
patroniModule = self.nixosModules.patroni;
|
||||||
};
|
};
|
||||||
|
tempo = pkgs.callPackage ./tempo.nix {
|
||||||
|
inherit (self'.packages) tempo;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
78
packages/checks/tempo.nix
Normal file
78
packages/checks/tempo.nix
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
{ nixosTest, tempo, writeText }:
|
||||||
|
|
||||||
|
nixosTest {
|
||||||
|
name = "tempo";
|
||||||
|
nodes.machine = let
|
||||||
|
dataDir = "/var/lib/tempo";
|
||||||
|
tempoConfig = {
|
||||||
|
search_enabled = true;
|
||||||
|
metrics_generator_enabled = true;
|
||||||
|
server = {
|
||||||
|
http_listen_address = "127.0.0.1";
|
||||||
|
http_listen_port = 8888;
|
||||||
|
};
|
||||||
|
ingester = {
|
||||||
|
trace_idle_period = "30s";
|
||||||
|
max_block_bytes = 1000000;
|
||||||
|
max_block_duration = "5m";
|
||||||
|
};
|
||||||
|
compactor = {
|
||||||
|
compaction = {
|
||||||
|
compaction_window = "1h";
|
||||||
|
max_block_bytes = 100000000;
|
||||||
|
compacted_block_retention = "10m";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
storage.trace = {
|
||||||
|
backend = "local";
|
||||||
|
block = {
|
||||||
|
bloom_filter_false_positive = 0.05;
|
||||||
|
index_downsample_bytes = 1000;
|
||||||
|
encoding = "zstd";
|
||||||
|
};
|
||||||
|
wal.path = "${dataDir}/wal";
|
||||||
|
wal.encoding = "snappy";
|
||||||
|
local.path = "${dataDir}/blocks";
|
||||||
|
pool = {
|
||||||
|
max_workers = 16;
|
||||||
|
queue_depth = 1000;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
metrics_generator = {
|
||||||
|
registry.external_labels = {
|
||||||
|
source = "tempo";
|
||||||
|
};
|
||||||
|
storage = {
|
||||||
|
path = "${dataDir}/generator/wal";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
overrides.metrics_generator_processors = [
|
||||||
|
"service-graphs"
|
||||||
|
"span-metrics"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
users.users.tempo = {
|
||||||
|
isSystemUser = true;
|
||||||
|
group = "tempo";
|
||||||
|
home = dataDir;
|
||||||
|
createHome = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups.tempo = {};
|
||||||
|
systemd.services.tempo = {
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
User = "tempo";
|
||||||
|
Group = "tempo";
|
||||||
|
ExecStart = "${tempo}/bin/tempo -config.file=${writeText "tempo.yaml" (builtins.toJSON tempoConfig)}";
|
||||||
|
PrivateTmp = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
testScript = ''
|
||||||
|
machine.wait_for_unit("tempo.service")
|
||||||
|
machine.wait_for_open_port("8888")
|
||||||
|
machine.succeed("curl --fail http://127.0.0.1:8888/status/version")
|
||||||
|
'';
|
||||||
|
}
|
Loading…
Reference in a new issue