summaryrefslogtreecommitdiffstats
path: root/lass/2configs/monitoring/client.nix
blob: e879d6960c3874a837d2cba5d571aa02a2503840 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
{pkgs, config, ...}:
with import <stockholm/lib>;
{
  lass.telegraf = {
    enable = true;
    interval = "1s";


    outputs = ''
      [outputs.influxdb]
        urls = ["http://prism:8086"]
        database = "telegraf_db"
        user_agent = "telegraf"
    '';
    inputs = [
      ''
        [cpu]
          percpu = false
          totalcpu = true
          drop = ["cpu_time"]
      ''
      ''
        [[inputs.mem]]
      ''
      ''
        [[inputs.ping]]
        urls = ["8.8.8.8"]
      ''
      ''
        [[inputs.net]]
      ''
      ''
        [[inputs.dns_query]]
          servers = ["8.8.8.8"]
      ''
    ];
  };
  systemd.services.telegraf.path = with pkgs; [
    iputils
    lm_sensors
  ];

  services.collectd = {
    enable = true;
    autoLoadPlugin = true;
    extraConfig = ''
      Hostname ${config.krebs.build.host.name}
      LoadPlugin load
      LoadPlugin disk
      LoadPlugin memory
      Interval 30.0

      LoadPlugin interface
      <Plugin "interface">
        Interface "*Link"
        Interface "lo"
        Interface "vboxnet*"
        Interface "virbr*"
        IgnoreSelected true
      </Plugin>

      LoadPlugin df
      <Plugin "df">
        MountPoint "/nix/store"
        FSType "tmpfs"
        FSType "binfmt_misc"
        FSType "debugfs"
        FSType "mqueue"
        FSType "hugetlbfs"
        FSType "systemd-1"
        FSType "cgroup"
        FSType "securityfs"
        FSType "ramfs"
        FSType "proc"
        FSType "devpts"
        FSType "devtmpfs"
        MountPoint "/var/lib/docker/devicemapper"
        IgnoreSelected true
      </Plugin>

      LoadPlugin cpu
      <Plugin cpu>
        ReportByCpu true
        ReportByState true
        ValuesPercentage true
      </Plugin>

      LoadPlugin network
      <Plugin "network">
          Server "prism" "25826"
      </Plugin>
    '';
  };
}