m central-logging: init
This commit is contained in:
parent
d242cd5149
commit
bd90a14732
@ -385,6 +385,8 @@ with import <stockholm/lib>;
|
||||
aliases = [
|
||||
"omo.retiolum"
|
||||
"omo.r"
|
||||
"logs.makefu.r"
|
||||
"stats.makefu.r"
|
||||
];
|
||||
tinc.pubkey = ''
|
||||
-----BEGIN RSA PUBLIC KEY-----
|
||||
|
@ -54,9 +54,10 @@ in {
|
||||
../2configs/omo-share.nix
|
||||
../2configs/tinc/retiolum.nix
|
||||
../2configs/logging/central-stats-server.nix
|
||||
../2configs/logging/central-logging-server.nix
|
||||
../2configs/logging/central-stats-client.nix
|
||||
../2configs/logging/central-logging-client.nix
|
||||
|
||||
../2configs/kapacitor.nix
|
||||
# ../2configs/torrent.nix
|
||||
|
||||
# ../2configs/elchos/search.nix
|
||||
|
32
makefu/2configs/logging/central-logging-client.nix
Normal file
32
makefu/2configs/logging/central-logging-client.nix
Normal file
@ -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: ["*"]
|
||||
|
||||
'';
|
||||
};
|
||||
}
|
23
makefu/2configs/logging/central-logging-server.nix
Normal file
23
makefu/2configs/logging/central-logging-server.nix
Normal file
@ -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
|
||||
'';
|
||||
}
|
@ -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')
|
||||
|
@ -4,8 +4,13 @@ with import <stockholm/lib>;
|
||||
{
|
||||
options.makefu.stats-server = lib.mkOption {
|
||||
type = types.str;
|
||||
default = "omo.retiolum";
|
||||
default = "stats.makefu.r";
|
||||
description = "Central stats server (collectd)";
|
||||
};
|
||||
options.makefu.log-server = lib.mkOption {
|
||||
type = types.str;
|
||||
default = "logs.makefu.r";
|
||||
description = "Central logging server (logstash,elasticsearch)";
|
||||
};
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user