summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/elchos/log.nix
diff options
context:
space:
mode:
authorlassulus <lass@lassul.us>2016-12-25 12:13:49 +0100
committerlassulus <lass@lassul.us>2016-12-25 12:13:49 +0100
commit9224478adf54f7f65c7e8565c846160b2f0ea467 (patch)
treeca477dd5d011581da0b3796f30c842c9fdddf214 /makefu/2configs/elchos/log.nix
parent8f16b738c75f25738ca94f146d84c5cc5ec7eaa3 (diff)
parent1eceb8ac46fd1cebbb5091a50359e4863efdaf42 (diff)
Merge remote-tracking branch 'gum/master'
Diffstat (limited to 'makefu/2configs/elchos/log.nix')
-rw-r--r--makefu/2configs/elchos/log.nix56
1 files changed, 56 insertions, 0 deletions
diff --git a/makefu/2configs/elchos/log.nix b/makefu/2configs/elchos/log.nix
new file mode 100644
index 000000000..3facd1ceb
--- /dev/null
+++ b/makefu/2configs/elchos/log.nix
@@ -0,0 +1,56 @@
+{ config, lib, pkgs, ... }:
+
+with import <stockholm/lib>;
+let
+in {
+ networking.firewall.allowedTCPPorts = [ 80 443 514 ];
+ networking.firewall.allowedUDPPorts = [ 80 443 514 ];
+ services.logstash = {
+ enable = true;
+ enableWeb = true;
+ inputConfig = ''
+ syslog {
+ timezone => "Etc/UTC"
+ }
+ '';
+ filterConfig = ''
+ if ( [program] == "proftpd") {
+ kv {
+ field_split => " "
+ }
+ }
+ '';
+ outputConfig = ''
+ stdout {
+ codec => rubydebug
+ }
+ elasticsearch { }
+ '';
+ };
+ services.elasticsearch = {
+ enable = true;
+ };
+ services.kibana = {
+ enable = true;
+ port = 9332;
+ };
+ services.nginx = {
+ virtualHosts = {
+ "log.nsupdate.info" = {
+ enableACME = true;
+ forceSSL = true;
+ basicAuth = import <secrets/kibana-auth.nix>;
+ locations = {
+ "/" = {
+ proxyPass = "http://localhost:9332";
+ extraConfig = ''
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ '';
+ };
+ };
+ };
+ };
+ };
+}