tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
graphite: fix the graphiteApi service
Bas van Dijk
8 years ago
04b2460e
fe9cefa7
+13
-7
2 changed files
expand all
collapse all
unified
split
nixos
modules
services
monitoring
graphite.nix
tests
graphite.nix
+2
-2
nixos/modules/services/monitoring/graphite.nix
···
22
);
23
24
graphiteApiConfig = pkgs.writeText "graphite-api.yaml" ''
25
-
time_zone: ${config.time.timeZone}
26
search_index: ${dataDir}/index
0
27
${optionalString (cfg.api.finders != []) ''finders:''}
28
${concatMapStringsSep "\n" (f: " - " + f.moduleName) cfg.api.finders}
29
${optionalString (cfg.api.functions != []) ''functions:''}
···
536
environment = {
537
PYTHONPATH = let
538
aenv = pkgs.python.buildEnv.override {
539
-
extraLibs = [ cfg.api.package pkgs.cairo ] ++ cfg.api.finders;
540
};
541
in "${aenv}/${pkgs.python.sitePackages}";
542
GRAPHITE_API_CONFIG = graphiteApiConfig;
···
22
);
23
24
graphiteApiConfig = pkgs.writeText "graphite-api.yaml" ''
0
25
search_index: ${dataDir}/index
26
+
${optionalString (!isNull config.time.timeZone) ''time_zone: ${config.time.timeZone}''}
27
${optionalString (cfg.api.finders != []) ''finders:''}
28
${concatMapStringsSep "\n" (f: " - " + f.moduleName) cfg.api.finders}
29
${optionalString (cfg.api.functions != []) ''functions:''}
···
536
environment = {
537
PYTHONPATH = let
538
aenv = pkgs.python.buildEnv.override {
539
+
extraLibs = [ cfg.api.package pkgs.cairo pkgs.pythonPackages.cffi ] ++ cfg.api.finders;
540
};
541
in "${aenv}/${pkgs.python.sitePackages}";
542
GRAPHITE_API_CONFIG = graphiteApiConfig;
+11
-5
nixos/tests/graphite.nix
···
4
nodes = {
5
one =
6
{ config, pkgs, ... }: {
0
7
services.graphite = {
8
-
web = {
0
9
enable = true;
10
-
};
11
-
carbon = {
12
-
enableCache = true;
13
};
0
0
0
14
};
15
};
16
-
};
17
18
testScript = ''
19
startAll;
20
$one->waitForUnit("default.target");
21
$one->requireActiveUnit("graphiteWeb.service");
0
0
22
$one->requireActiveUnit("carbonCache.service");
0
23
$one->succeed("echo \"foo 1 `date +%s`\" | nc -q0 localhost 2003");
24
$one->waitUntilSucceeds("curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo")
25
'';
···
4
nodes = {
5
one =
6
{ config, pkgs, ... }: {
7
+
time.timeZone = "UTC";
8
services.graphite = {
9
+
web.enable = true;
10
+
api = {
11
enable = true;
12
+
port = 8082;
0
0
13
};
14
+
carbon.enableCache = true;
15
+
seyren.enable = true;
16
+
pager.enable = true;
17
};
18
};
19
+
};
20
21
testScript = ''
22
startAll;
23
$one->waitForUnit("default.target");
24
$one->requireActiveUnit("graphiteWeb.service");
25
+
$one->requireActiveUnit("graphiteApi.service");
26
+
$one->requireActiveUnit("graphitePager.service");
27
$one->requireActiveUnit("carbonCache.service");
28
+
$one->requireActiveUnit("seyren.service");
29
$one->succeed("echo \"foo 1 `date +%s`\" | nc -q0 localhost 2003");
30
$one->waitUntilSucceeds("curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo")
31
'';