Compare commits

...

4 Commits

Author SHA1 Message Date
oysteikt 6f65a78933 ildkule/prometheus/phpfpm: scrape from bekkalokk
Eval nix flake / evals (push) Successful in 7m37s
Eval nix flake / evals (pull_request) Successful in 6m54s
2026-07-26 18:19:04 +09:00
oysteikt 87240b15a2 bekkalokk/prometheus-phpfpm-exporter: init 2026-07-26 18:19:04 +09:00
oysteikt 4f6c731d25 flake.lock: bump pvv-nettsiden
Build topology graph / evals (push) Successful in 2m14s
Eval nix flake / evals (push) Successful in 7m7s
2026-07-25 20:51:24 +09:00
oysteikt ee718563c8 bicep/postgresql: don't open udp 5432 in firewall
Build topology graph / evals (push) Successful in 2m12s
Eval nix flake / evals (push) Successful in 6m43s
2026-07-25 07:35:42 +09:00
6 changed files with 75 additions and 5 deletions
Generated
+4 -4
View File
@@ -379,11 +379,11 @@
]
},
"locked": {
"lastModified": 1782759909,
"narHash": "sha256-gktjBeZyoRvVBkm2cO1tD99fdQ34iUDyB6iecRdorm4=",
"lastModified": 1784979981,
"narHash": "sha256-OnvjEXYU/InjJYH2+iIrvHWIjHnc5J9f84qWhrgAWlY=",
"ref": "main",
"rev": "ad6c79fb713884a4a2df8aab30914cd0c1c2e6cb",
"revCount": 587,
"rev": "ffb8ed0c9df2444727e49f16f7e43ea70184dc4b",
"revCount": 590,
"type": "git",
"url": "https://git.pvv.ntnu.no/Projects/nettsiden.git"
},
+1
View File
@@ -13,6 +13,7 @@
./services/mediawiki
./services/nginx.nix
./services/phpfpm.nix
./services/prometheus-phpfpm-exporter.nix
./services/vaultwarden.nix
./services/webmail
./services/website
@@ -0,0 +1,54 @@
{ config, lib, values, ... }:
let
cfg = config.services.prometheus.exporters.php-fpm;
pools = [
"idp"
"mediawiki"
"pvv-nettsiden"
"roundcube"
"snappymail"
];
in
{
services.phpfpm.pools = lib.genAttrs pools (_: {
settings."pm.status_path" = "/status";
});
services.prometheus.exporters.php-fpm = {
enable = true;
listenAddress = "127.0.0.1";
extraFlags = [
"--phpfpm.scrape-uri=${lib.concatMapStringsSep "," (name: "unix://${config.services.phpfpm.pools.${name}.socket};/status") pools}"
];
};
systemd.services.prometheus-php-fpm-exporter.serviceConfig = {
Slice = "system-monitoring.slice";
SupplementaryGroups = [ config.services.nginx.group ];
RestrictAddressFamilies = lib.mkForce [
"AF_INET"
"AF_INET6"
"AF_UNIX"
];
};
services.nginx = lib.mkIf cfg.enable {
virtualHosts."www.pvv.ntnu.no" = lib.mkIf config.services.nginx.enable {
forceSSL = true;
enableACME = true;
kTLS = true;
locations."/prometheus-php-fpm-exporter/metrics" = {
proxyPass = "http://localhost:${toString cfg.port}/metrics";
extraConfig = ''
allow 127.0.0.1;
allow ::1;
allow ${values.hosts.ildkule.ipv4};
allow ${values.hosts.ildkule.ipv6};
deny all;
'';
};
};
};
}
@@ -150,7 +150,6 @@ in
};
networking.firewall.allowedTCPPorts = lib.mkIf cfg.enable [ 5432 ];
networking.firewall.allowedUDPPorts = lib.mkIf cfg.enable [ 5432 ];
environment.systemPackages = [
(pkgs.writeShellApplication {
@@ -7,6 +7,7 @@ in {
./machines.nix
./matrix-synapse.nix
./mysqld.nix
./phpfpm.nix
./postgres.nix
];
@@ -0,0 +1,15 @@
{ ... }:
{
services.prometheus.scrapeConfigs = [{
job_name = "phpfpm";
scheme = "https";
metrics_path = "/prometheus-php-fpm-exporter/metrics";
static_configs = [
{
labels.hostname = "bekkalokk";
targets = [ "www.pvv.ntnu.no:443" ];
}
];
}];
}