summaryrefslogtreecommitdiffstats
path: root/makefu/2configs
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2017-02-05 22:34:16 +0100
committermakefu <github@syntax-fehler.de>2017-02-05 22:34:16 +0100
commitbd90a14732f418f5d77ad2e925fe728940268f3e (patch)
treed0fe85ec584dd9ee16d8894efadea9a3b375cb7b /makefu/2configs
parentd242cd51498258a66ff910d7c80b3a1fa722f554 (diff)
m central-logging: init
Diffstat (limited to 'makefu/2configs')
-rw-r--r--makefu/2configs/logging/central-logging-client.nix32
-rw-r--r--makefu/2configs/logging/central-logging-server.nix23
-rw-r--r--makefu/2configs/logging/central-stats-server.nix6
3 files changed, 58 insertions, 3 deletions
diff --git a/makefu/2configs/logging/central-logging-client.nix b/makefu/2configs/logging/central-logging-client.nix
new file mode 100644
index 000000000..04d2de0d0
--- /dev/null
+++ b/makefu/2configs/logging/central-logging-client.nix
@@ -0,0 +1,32 @@
+{pkgs, buil, config, ...}:
+let
+ log-server = config.makefu.log-server;
+ log-port = 9200;
+in {
+ services.journalbeat = {
+ enable = true;
+ # TODO: filter for certain journal fields, not all
+ extraConfig = ''
+ journalbeat:
+ name: logs-${config.krebs.build.host.name}
+ seek_position: cursor
+ cursor_seek_fallback: tail
+ write_cursor_state: true
+ cursor_flush_period: 5s
+ clean_field_names: true
+ convert_to_numbers: false
+ move_metadata_to_field: journal
+ default_type: journal
+ output.elasticsearch:
+ enabled: true
+ hosts: ["${log-server}:${builtins.toString log-port}"]
+ template.enabled: false
+ #output.console:
+ # enabled: true
+ logging.level: info
+ logging.to_syslog: true
+ logging.selectors: ["*"]
+
+ '';
+ };
+}
diff --git a/makefu/2configs/logging/central-logging-server.nix b/makefu/2configs/logging/central-logging-server.nix
new file mode 100644
index 000000000..e2cfe6948
--- /dev/null
+++ b/makefu/2configs/logging/central-logging-server.nix
@@ -0,0 +1,23 @@
+{pkgs, config, ...}:
+
+with import <stockholm/lib>;
+let
+ es-port = 9200;
+ kibana-port = 5601;
+in {
+ services.elasticsearch = {
+ enable = true;
+ listenAddress = "0.0.0.0";
+ port = es-port;
+ };
+ services.kibana = {
+ enable = true;
+ listenAddress = "0.0.0.0";
+ port = kibana-port;
+ };
+
+ networking.firewall.extraCommands = ''
+ iptables -A INPUT -i retiolum -p tcp --dport ${toString es-port} -j ACCEPT
+ iptables -A INPUT -i retiolum -p tcp --dport ${toString es-port} -j ACCEPT
+ '';
+}
diff --git a/makefu/2configs/logging/central-stats-server.nix b/makefu/2configs/logging/central-stats-server.nix
index d4e73ab79..8151d4939 100644
--- a/makefu/2configs/logging/central-stats-server.nix
+++ b/makefu/2configs/logging/central-stats-server.nix
@@ -7,7 +7,7 @@ let
grafana-port = 3000; # TODO nginx forward
in {
imports = [
- ../../lass/3modules/kapacitor.nix
+ ../../../lass/3modules/kapacitor.nix
];
services.grafana.enable = true;
services.grafana.addr = "0.0.0.0";
@@ -45,11 +45,11 @@ in {
alarms = {
cpu_deadman = ''
var data = batch
- |query('''
+ |query(${"'''"}
SELECT mean("value") AS mean
FROM "collectd_db"."default"."cpu_value"
WHERE "type_instance" = 'idle' AND "type" = 'percent' fill(0)
- ''')
+ ${"'''"})
.period(10m)
.every(1m)
.groupBy('host')