l monitoring: delete legacy config
This commit is contained in:
parent
1d1861fe7c
commit
4190562d12
@ -1,26 +0,0 @@
|
|||||||
{pkgs, config, ...}:
|
|
||||||
with import <stockholm/lib>;
|
|
||||||
{
|
|
||||||
services.telegraf = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
extraConfig = {
|
|
||||||
agent.interval = "1s";
|
|
||||||
outputs = {
|
|
||||||
influxdb = {
|
|
||||||
urls = ["http://prism:8086"];
|
|
||||||
database = "telegraf_db";
|
|
||||||
user_agent = "telegraf";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
inputs = {
|
|
||||||
cpu = {
|
|
||||||
percpu = false;
|
|
||||||
totalcpu = true;
|
|
||||||
};
|
|
||||||
mem = {};
|
|
||||||
net = {};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,44 +0,0 @@
|
|||||||
{pkgs, config, ...}:
|
|
||||||
with import <stockholm/lib>;
|
|
||||||
let
|
|
||||||
echoToIrc = msg:
|
|
||||||
pkgs.writeDash "echo_irc" ''
|
|
||||||
set -euf
|
|
||||||
export LOGNAME=prism-alarm
|
|
||||||
${pkgs.irc-announce}/bin/irc-announce \
|
|
||||||
irc.r 6667 ${config.networking.hostName}-alarm \#noise "${msg}" >/dev/null
|
|
||||||
'';
|
|
||||||
|
|
||||||
in {
|
|
||||||
krebs.monit = {
|
|
||||||
enable = true;
|
|
||||||
http.enable = true;
|
|
||||||
alarms = {
|
|
||||||
nirwanabluete = {
|
|
||||||
test = "${pkgs.curl}/bin/curl -sf 'https://nirwanabluete.de/'";
|
|
||||||
alarm = echoToIrc "test nirwanabluete failed";
|
|
||||||
};
|
|
||||||
ubik = {
|
|
||||||
test = "${pkgs.curl}/bin/curl -sf 'https://ubikmedia.de'";
|
|
||||||
alarm = echoToIrc "test ubik failed";
|
|
||||||
};
|
|
||||||
cac-panel = {
|
|
||||||
test = "${pkgs.curl}/bin/curl -sf 'https://panel.cloudatcost.com/login.php'";
|
|
||||||
alarm = echoToIrc "test cac-panel failed";
|
|
||||||
};
|
|
||||||
radio = {
|
|
||||||
test = pkgs.writeBash "check_stream" ''
|
|
||||||
${pkgs.curl}/bin/curl -sif http://lassul.us:8000/radio.ogg \
|
|
||||||
| ${pkgs.gawk}/bin/awk '/^\r$/{exit}{print $0}' \
|
|
||||||
| ${pkgs.gnugrep}/bin/grep -q "200 OK" || exit "''${PIPESTATUS[0]}"
|
|
||||||
'';
|
|
||||||
alarm = echoToIrc "test radio failed";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
krebs.iptables.tables.filter.INPUT.rules = [
|
|
||||||
{ predicate = "-p tcp -i retiolum --dport 9093"; target = "ACCEPT"; }
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
|||||||
{pkgs, config, ...}:
|
|
||||||
with import <stockholm/lib>;
|
|
||||||
{
|
|
||||||
services.influxdb.enable = true;
|
|
||||||
|
|
||||||
services.influxdb.extraConfig = {
|
|
||||||
meta.hostname = config.krebs.build.host.name;
|
|
||||||
# meta.logging-enabled = true;
|
|
||||||
http.bind-address = ":8086";
|
|
||||||
admin.bind-address = ":8083";
|
|
||||||
http.log-enabled = false;
|
|
||||||
monitoring = {
|
|
||||||
enabled = false;
|
|
||||||
# write-interval = "24h";
|
|
||||||
};
|
|
||||||
collectd = [{
|
|
||||||
enabled = true;
|
|
||||||
typesdb = "${pkgs.collectd}/share/collectd/types.db";
|
|
||||||
database = "collectd_db";
|
|
||||||
port = 25826;
|
|
||||||
}];
|
|
||||||
};
|
|
||||||
|
|
||||||
krebs.kapacitor =
|
|
||||||
let
|
|
||||||
db = "telegraf_db";
|
|
||||||
echoToIrc = pkgs.writeDash "echo_irc" ''
|
|
||||||
set -euf
|
|
||||||
data="$(${pkgs.jq}/bin/jq -r .message)"
|
|
||||||
export LOGNAME=prism-alarm
|
|
||||||
${pkgs.irc-announce}/bin/irc-announce \
|
|
||||||
irc.r 6667 prism-alarm \#noise "$data" >/dev/null
|
|
||||||
'';
|
|
||||||
in {
|
|
||||||
enable = true;
|
|
||||||
alarms = {
|
|
||||||
cpu = {
|
|
||||||
database = db;
|
|
||||||
text = ''
|
|
||||||
var data = batch
|
|
||||||
|query(${"'''"}
|
|
||||||
SELECT mean("usage_user") AS mean
|
|
||||||
FROM "${db}"."default"."cpu"
|
|
||||||
${"'''"})
|
|
||||||
.period(10m)
|
|
||||||
.every(1m)
|
|
||||||
.groupBy('host')
|
|
||||||
data |alert()
|
|
||||||
.crit(lambda: "mean" > 90)
|
|
||||||
.exec('${echoToIrc}')
|
|
||||||
data |deadman(1.0,5m)
|
|
||||||
.stateChangesOnly()
|
|
||||||
.exec('${echoToIrc}')
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
ram = {
|
|
||||||
database = db;
|
|
||||||
text = ''
|
|
||||||
var data = batch
|
|
||||||
|query(${"'''"}
|
|
||||||
SELECT mean("used_percent") AS mean
|
|
||||||
FROM "${db}"."default"."mem"
|
|
||||||
${"'''"})
|
|
||||||
.period(10m)
|
|
||||||
.every(1m)
|
|
||||||
.groupBy('host')
|
|
||||||
data |alert()
|
|
||||||
.crit(lambda: "mean" > 90)
|
|
||||||
.exec('${echoToIrc}')
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.grafana = {
|
|
||||||
enable = true;
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
auth.anonymous.enable = true;
|
|
||||||
security = import <secrets/grafana_security.nix>; # { AdminUser = ""; adminPassword = ""}
|
|
||||||
};
|
|
||||||
|
|
||||||
krebs.iptables.tables.filter.INPUT.rules = [
|
|
||||||
{ predicate = "-p tcp -i retiolum --dport 8086"; target = "ACCEPT"; }
|
|
||||||
{ predicate = "-p tcp -i retiolum --dport 3000"; target = "ACCEPT"; }
|
|
||||||
{ predicate = "-p udp -i retiolum --dport 25826"; target = "ACCEPT"; }
|
|
||||||
];
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user