diff --git a/morph/lib/monitoring.nix b/morph/lib/monitoring.nix
index c955f09b109d7df5a705d221fe2bcc5b4e001aff..d299d62ae7997511897517f9574e33c6de94b7a5 100644
--- a/morph/lib/monitoring.nix
+++ b/morph/lib/monitoring.nix
@@ -24,7 +24,7 @@ let
   vpnClientIPs = lib.remove monitoringvpnIPv4 (map (node: node.vpnIPv4) monitoringHosts);
   # A list of VPN clients (IP addresses or hostnames) as strings indicating
   # which nodes to scrape "nodeExporter" metrics from.
-  nodeExporterTargets = map (node: node.name) monitoringHosts;
+  nodeExporterTargets = map (node: node.vpnHostName) monitoringHosts;
 in {
   imports = [
     ../../nixos/modules/monitoring/vpn/server.nix
diff --git a/nixos/modules/monitoring/server/prometheus.nix b/nixos/modules/monitoring/server/prometheus.nix
index 3bb00a5b95855859e455b5df8fb065b3d70bc855..2a78dd3e797c0b28d14fc9e9e0858811ac86ef76 100644
--- a/nixos/modules/monitoring/server/prometheus.nix
+++ b/nixos/modules/monitoring/server/prometheus.nix
@@ -10,7 +10,7 @@ let
   cfg = config.services.private-storage.monitoring.prometheus;
   dropPortNumber = {
     source_labels = [ "__address__" ];
-    regex = "^(.*):\\d+$";
+    regex = "^(.*)(?:\\.monitoringvpn):\\d+$";
     target_label = "instance";
   };
 
diff --git a/nixpkgs.json b/nixpkgs.json
index 3402b15fb26efb0b03969fc9a6100b8d686d3293..16d6d156ca249f01de214717368017d7822c03aa 100644
--- a/nixpkgs.json
+++ b/nixpkgs.json
@@ -1,5 +1,5 @@
 {
   "name": "source",
-  "url": "https://releases.nixos.org/nixos/21.11/nixos-21.11.335665.0f316e4d72d/nixexprs.tar.xz",
-  "sha256": "095yqwfm41mmzml0xjvvk4vxjjgrycywr27jw907z6d971vhj06s"
+  "url": "https://releases.nixos.org/nixos/21.11/nixos-21.11.335820.521e4d7d13b/nixexprs.tar.xz",
+  "sha256": "16p4cxpzlwdj6pv29a2dd0cv439v0dwlddzkdh1wnv7075nw2lyh"
 }
\ No newline at end of file