Merge remote-tracking branch 'gum/master'
This commit is contained in:
commit
6e81f6f528
|
@ -3,19 +3,20 @@ with import <stockholm/lib>;
|
||||||
let
|
let
|
||||||
secret = (import <secrets/elchos-token.nix>);
|
secret = (import <secrets/elchos-token.nix>);
|
||||||
in {
|
in {
|
||||||
systemd.services.elchos-irctoken = {
|
systemd.services.elchos-irctoken2 = {
|
||||||
startAt = "*:0/30";
|
startAt = "*:0/5";
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
RuntimeMaxSec = "20";
|
RuntimeMaxSec = "20";
|
||||||
};
|
};
|
||||||
script = ''
|
script = ''
|
||||||
set -euf
|
set -euf
|
||||||
now=$(date -u +%Y-%m-%dT%H:%M)
|
now=$(date -u +%Y-%m-%dT%H:%M)
|
||||||
sec=$(echo -n "${secret}$now" | md5sum | cut -d\ -f1)
|
sleep 5
|
||||||
message="The secret valid for 30 minutes is $sec"
|
sec=$(cat /tmp/irc-secret)
|
||||||
echo "token for $now (UTC) is $sec"
|
message="The current secret is $sec"
|
||||||
|
echo "$message"
|
||||||
LOGNAME=sec-announcer
|
LOGNAME=sec-announcer
|
||||||
HOSTNAME=$(${pkgs.systemd}/bin/hostnamectl --static)
|
HOSTNAME=$(${pkgs.systemd}/bin/hostnamectl --transient)
|
||||||
IRC_SERVER=irc.freenode.net
|
IRC_SERVER=irc.freenode.net
|
||||||
IRC_PORT=6667
|
IRC_PORT=6667
|
||||||
IRC_NICK=$HOSTNAME-$$
|
IRC_NICK=$HOSTNAME-$$
|
||||||
|
@ -59,4 +60,18 @@ in {
|
||||||
| ${pkgs.netcat}/bin/netcat "$IRC_SERVER" "$IRC_PORT" |tee -a ircin
|
| ${pkgs.netcat}/bin/netcat "$IRC_SERVER" "$IRC_PORT" |tee -a ircin
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
systemd.services.elchos-create-token = {
|
||||||
|
startAt = "*:0/30";
|
||||||
|
serviceConfig = {
|
||||||
|
RuntimeMaxSec = "20";
|
||||||
|
};
|
||||||
|
script = ''
|
||||||
|
set -euf
|
||||||
|
now=$(date -u +%Y-%m-%dT%H:%M)
|
||||||
|
sec=$(echo -n "${secret}$now" | md5sum | cut -d\ -f1)
|
||||||
|
message="The secret valid for 30 minutes is $sec"
|
||||||
|
echo -n "$sec" > /tmp/irc-secret
|
||||||
|
echo "token for $now (UTC) is $sec"
|
||||||
|
'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,8 +39,57 @@ with import <stockholm/lib>;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.graphite = {
|
services.graphite = {
|
||||||
|
beacon = {
|
||||||
|
enable = true;
|
||||||
|
config = {
|
||||||
|
graphite_url = "http://localhost:18080";
|
||||||
|
|
||||||
|
no_data = "critical";
|
||||||
|
loading_error = "normal";
|
||||||
|
|
||||||
|
prefix = "[elchos]";
|
||||||
|
|
||||||
|
cli = {
|
||||||
|
command = ''${pkgs.irc-announce}/bin/irc-announce irc.freenode.org 6667 alert0r \#elchos ' [elchos] ''${level} ''${name} ''${value}' '';
|
||||||
|
};
|
||||||
|
#smtp = {
|
||||||
|
# from = "beacon@mors.r";
|
||||||
|
# to = [
|
||||||
|
# "lass@mors.r"
|
||||||
|
# ];
|
||||||
|
#};
|
||||||
|
normal_handlers = [
|
||||||
|
# "smtp"
|
||||||
|
"cli"
|
||||||
|
];
|
||||||
|
warning_handlers = [
|
||||||
|
# "smtp"
|
||||||
|
"cli"
|
||||||
|
];
|
||||||
|
critical_handlers = [
|
||||||
|
# "smtp"
|
||||||
|
"cli"
|
||||||
|
];
|
||||||
|
alerts = let
|
||||||
|
high-load = hostid: let
|
||||||
|
host = "elch-${toString hostid}"; in {
|
||||||
|
name = "high-cpu-load-${host}";
|
||||||
|
query = "aliasByNode(perSecond(elchos.${host}.cpu.0.cpu.idle),1)";
|
||||||
|
method = "average";
|
||||||
|
interval = "1minute";
|
||||||
|
logging = "info";
|
||||||
|
repeat_interval = "5minute";
|
||||||
|
rules = [
|
||||||
|
# "warning: < 30.0"
|
||||||
|
"critical: < 1.0"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
in map high-load [ 1 2 3 4 5 6 7 8 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
api = {
|
api = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.graphiteApi;
|
||||||
listenAddress = "127.0.0.1";
|
listenAddress = "127.0.0.1";
|
||||||
port = 18080;
|
port = 18080;
|
||||||
};
|
};
|
||||||
|
@ -50,8 +99,8 @@ with import <stockholm/lib>;
|
||||||
config = ''
|
config = ''
|
||||||
[cache]
|
[cache]
|
||||||
MAX_CACHE_SIZE = inf
|
MAX_CACHE_SIZE = inf
|
||||||
MAX_UPDATES_PER_SECOND = 1
|
MAX_UPDATES_PER_SECOND = 10
|
||||||
MAX_CREATES_PER_MINUTE = 500
|
MAX_CREATES_PER_MINUTE = 5000
|
||||||
'';
|
'';
|
||||||
storageSchemas = ''
|
storageSchemas = ''
|
||||||
[carbon]
|
[carbon]
|
||||||
|
@ -62,6 +111,10 @@ with import <stockholm/lib>;
|
||||||
patterhn = ^elchos\.
|
patterhn = ^elchos\.
|
||||||
retentions = 10s:30d,60s:3y
|
retentions = 10s:30d,60s:3y
|
||||||
|
|
||||||
|
|
||||||
|
[default]
|
||||||
|
pattern = ^krebs\.
|
||||||
|
retentions = 1s:30d,30s:3m,300s:1y
|
||||||
[default]
|
[default]
|
||||||
pattern = .*
|
pattern = .*
|
||||||
retentions = 30s:30d,300s:1y
|
retentions = 30s:30d,300s:1y
|
||||||
|
|
Loading…
Reference in New Issue
Block a user