nixos/systemhealth: drop unmaintained module
This commit is contained in:
parent
1dcf51f8eb
commit
265163da07
|
@ -263,6 +263,11 @@
|
||||||
<literal>false</literal>.
|
<literal>false</literal>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The <option>services.systemhealth</option> module has been removed from nixpkgs due to lack of maintainer.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -519,7 +519,6 @@
|
||||||
./services/monitoring/scollector.nix
|
./services/monitoring/scollector.nix
|
||||||
./services/monitoring/smartd.nix
|
./services/monitoring/smartd.nix
|
||||||
./services/monitoring/sysstat.nix
|
./services/monitoring/sysstat.nix
|
||||||
./services/monitoring/systemhealth.nix
|
|
||||||
./services/monitoring/teamviewer.nix
|
./services/monitoring/teamviewer.nix
|
||||||
./services/monitoring/telegraf.nix
|
./services/monitoring/telegraf.nix
|
||||||
./services/monitoring/thanos.nix
|
./services/monitoring/thanos.nix
|
||||||
|
|
|
@ -1,133 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.services.systemhealth;
|
|
||||||
|
|
||||||
systemhealth = with pkgs; stdenv.mkDerivation {
|
|
||||||
name = "systemhealth-1.0";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://www.brianlane.com/downloads/systemhealth/systemhealth-1.0.tar.bz2";
|
|
||||||
sha256 = "1q69lz7hmpbdpbz36zb06nzfkj651413n9icx0njmyr3xzq1j9qy";
|
|
||||||
};
|
|
||||||
buildInputs = [ python ];
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
# Make it work for kernels 3.x, not so different than 2.6
|
|
||||||
sed -i 's/2\.6/4.0/' system_health.py
|
|
||||||
cp system_health.py $out/bin
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
rrdDir = "/var/lib/health/rrd";
|
|
||||||
htmlDir = "/var/lib/health/html";
|
|
||||||
|
|
||||||
configFile = rrdDir + "/.syshealthrc";
|
|
||||||
# The program will try to read $HOME/.syshealthrc, so we set the proper home.
|
|
||||||
command = "HOME=${rrdDir} ${systemhealth}/bin/system_health.py";
|
|
||||||
|
|
||||||
cronJob = ''
|
|
||||||
*/5 * * * * wwwrun ${command} --log
|
|
||||||
5 * * * * wwwrun ${command} --graph
|
|
||||||
'';
|
|
||||||
|
|
||||||
nameEqualName = s: "${s} = ${s}";
|
|
||||||
interfacesSection = concatStringsSep "\n" (map nameEqualName cfg.interfaces);
|
|
||||||
|
|
||||||
driveLine = d: "${d.path} = ${d.name}";
|
|
||||||
drivesSection = concatStringsSep "\n" (map driveLine cfg.drives);
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options = {
|
|
||||||
services.systemhealth = {
|
|
||||||
enable = mkOption {
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Enable the system health monitor and its generation of graphs.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
urlPrefix = mkOption {
|
|
||||||
default = "/health";
|
|
||||||
description = ''
|
|
||||||
The URL prefix under which the System Health web pages appear in httpd.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
interfaces = mkOption {
|
|
||||||
default = [ "lo" ];
|
|
||||||
example = [ "lo" "eth0" "eth1" ];
|
|
||||||
description = ''
|
|
||||||
Interfaces to monitor (minimum one).
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
drives = mkOption {
|
|
||||||
default = [ ];
|
|
||||||
example = [ { name = "root"; path = "/"; } ];
|
|
||||||
description = ''
|
|
||||||
Drives to monitor.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
services.cron.systemCronJobs = [ cronJob ];
|
|
||||||
|
|
||||||
system.activationScripts.systemhealth = stringAfter [ "var" ]
|
|
||||||
''
|
|
||||||
mkdir -p ${rrdDir} ${htmlDir}
|
|
||||||
chown wwwrun:wwwrun ${rrdDir} ${htmlDir}
|
|
||||||
|
|
||||||
cat >${configFile} << EOF
|
|
||||||
[paths]
|
|
||||||
rrdtool = ${pkgs.rrdtool}/bin/rrdtool
|
|
||||||
loadavg_rrd = loadavg
|
|
||||||
ps = /run/current-system/sw/bin/ps
|
|
||||||
df = /run/current-system/sw/bin/df
|
|
||||||
meminfo_rrd = meminfo
|
|
||||||
uptime_rrd = uptime
|
|
||||||
rrd_path = ${rrdDir}
|
|
||||||
png_path = ${htmlDir}
|
|
||||||
|
|
||||||
[processes]
|
|
||||||
|
|
||||||
[interfaces]
|
|
||||||
${interfacesSection}
|
|
||||||
|
|
||||||
[drives]
|
|
||||||
${drivesSection}
|
|
||||||
|
|
||||||
[graphs]
|
|
||||||
width = 400
|
|
||||||
time = ['-3hours', '-32hours', '-8days', '-5weeks', '-13months']
|
|
||||||
height = 100
|
|
||||||
|
|
||||||
[external]
|
|
||||||
|
|
||||||
EOF
|
|
||||||
|
|
||||||
chown wwwrun:wwwrun ${configFile}
|
|
||||||
|
|
||||||
${pkgs.su}/bin/su -s "/bin/sh" -c "${command} --check" wwwrun
|
|
||||||
${pkgs.su}/bin/su -s "/bin/sh" -c "${command} --html" wwwrun
|
|
||||||
'';
|
|
||||||
|
|
||||||
services.httpd.extraSubservices = [
|
|
||||||
{ function = f: {
|
|
||||||
extraConfig = ''
|
|
||||||
Alias ${cfg.urlPrefix} ${htmlDir}
|
|
||||||
|
|
||||||
<Directory ${htmlDir}>
|
|
||||||
Order allow,deny
|
|
||||||
Allow from all
|
|
||||||
</Directory>
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in New Issue