40 lines
960 B
Nix
40 lines
960 B
Nix
{ pkgs, config, ... }:
|
|
let
|
|
version = "latest";
|
|
in
|
|
{
|
|
|
|
services.zabbixAgent = {
|
|
enable = true;
|
|
server = "mc7,10.88.1.0";
|
|
package = pkgs.zabbix74.agent2;
|
|
#package = (pkgs.callPackages ../packages/zabbix/agent2.nix {}).${version};
|
|
settings = {
|
|
UserParameter = [
|
|
"systemd.exitstatus[*],systemctl show --value -p ExecMainStatus '$1'"
|
|
"borg.check[*],borg_check.sh '$1' '$2' '$3'"
|
|
];
|
|
};
|
|
};
|
|
systemd.services.zabbix-agent.path = [
|
|
(pkgs.writeShellScriptBin "borg_check.sh" (builtins.readFile ./borg_check.sh))
|
|
pkgs.gawk
|
|
pkgs.smartmontools
|
|
];
|
|
users.users.zabbix-agent.extraGroups = [ "systemd-journal" ];
|
|
|
|
#allow zabbix-agent to run smartctl
|
|
security.sudo.extraRules = [
|
|
{
|
|
users = [ "zabbix-agent" ];
|
|
commands = [
|
|
{
|
|
command = "${pkgs.smartmontools}/bin/smartctl";
|
|
options = [ "NOPASSWD" ];
|
|
}
|
|
];
|
|
}
|
|
];
|
|
}
|
|
|
|
# vim: set et ts=2 sw=2 ai:
|