diff options
| author | makefu <github@syntax-fehler.de> | 2017-01-09 16:02:02 +0100 | 
|---|---|---|
| committer | makefu <github@syntax-fehler.de> | 2017-01-09 16:02:02 +0100 | 
| commit | 1ca165d96d21e13f5c62e9a0a45d21ecef984992 (patch) | |
| tree | 49927ba40e9da10f098706194d85999050aa6a3d | |
| parent | 2f19eccf24e6b936542bbab04a435f3127c65962 (diff) | |
m 2 logging: init
| -rw-r--r-- | makefu/2configs/logging/central-stats-client.nix | 60 | ||||
| -rw-r--r-- | makefu/2configs/logging/central-stats-server.nix | 36 | 
2 files changed, 96 insertions, 0 deletions
| diff --git a/makefu/2configs/logging/central-stats-client.nix b/makefu/2configs/logging/central-stats-client.nix new file mode 100644 index 000000000..c1365c581 --- /dev/null +++ b/makefu/2configs/logging/central-stats-client.nix @@ -0,0 +1,60 @@ +{pkgs, config, ...}: +{ +	services.collectd = { +    enable = true; +    autoLoadPlugin = true; +    extraConfig = '' +			Hostname ${config.krebs.build.host.name} +			LoadPlugin load +			LoadPlugin disk +			LoadPlugin memory +			LoadPlugin df +			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" +        # MountPoint "/run*" +        # MountPoint "/sys*" +        # MountPoint "/dev" +        # MountPoint "/dev/shm" +        # MountPoint "/tmp" +        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 "${config.makefu.stats-server}" "25826" +      </Plugin> +    ''; +  }; +} diff --git a/makefu/2configs/logging/central-stats-server.nix b/makefu/2configs/logging/central-stats-server.nix new file mode 100644 index 000000000..eb4e2a344 --- /dev/null +++ b/makefu/2configs/logging/central-stats-server.nix @@ -0,0 +1,36 @@ +{pkgs, config, ...}: + +with import <stockholm/lib>; +let +	collectd-port = 25826; +	influx-port = 8086; +  grafana-port = 3000; # TODO nginx forward +in { +	services.grafana.enable = true; +  services.grafana.addr = "0.0.0.0"; + +  services.influxdb.enable = true; + +  # forward these via nginx +  services.influxdb.extraConfig = { +    meta.hostname = config.krebs.build.host.name; +    # meta.logging-enabled = true; +    http.bind-address = ":${toString influx-port}"; +    admin.bind-address = ":8083"; +    monitoring = { +      enabled = false; +      # write-interval = "24h"; +    }; +		collectd = [{ +      enabled = true; +      typesdb = "${pkgs.collectd}/share/collectd/types.db"; +      database = "collectd_db"; +      port = collectd-port; +    }]; +  }; +  networking.firewall.extraCommands = '' +    iptables -A INPUT -i retiolum -p udp --dport ${toString collectd-port} -j ACCEPT +    iptables -A INPUT -i retiolum -p tcp --dport ${toString influx-port} -j ACCEPT +    iptables -A INPUT -i retiolum -p tcp --dport ${toString grafana-port} -j ACCEPT +  ''; +} | 
