modules/shared/telegraf: add hostInfo script

This commit is contained in:
zowoq 2024-05-04 18:49:57 +10:00
parent 06b72a6b95
commit b10d79f62a

View file

@ -1,4 +1,19 @@
{ inputs, lib, ... }:
{ config, inputs, lib, pkgs, ... }:
let
hostInfo = pkgs.writeShellScript "host-info" ''
nix_version="$(${config.nix.package}/bin/nix store ping --store daemon --json | ${pkgs.jq}/bin/jq -r '.version')"
case "$(uname -s)" in
Darwin)
os_version="$(/usr/bin/sw_vers --productVersion)_$(/usr/bin/sw_vers --buildVersion)"
;;
Linux)
os_version="$(uname -r)"
;;
esac
system="$(${config.nix.package}/bin/nix eval --impure --raw --expr 'builtins.currentSystem')"
echo "host,nix_version=$nix_version,os_version=$os_version,system=$system info=1"
'';
in
{
environment.etc =
let
@ -19,6 +34,12 @@
};
services.telegraf.extraConfig.inputs = {
exec = [
{
commands = [ hostInfo ];
data_format = "influx";
}
];
file = [
{
data_format = "prometheus";