diff --git a/jsonnet/kube-prometheus/alerts/alertmanager.libsonnet b/jsonnet/kube-prometheus/alerts/alertmanager.libsonnet
deleted file mode 100644
index bcabf4d9fce152864c3f43be051647c63341b117..0000000000000000000000000000000000000000
--- a/jsonnet/kube-prometheus/alerts/alertmanager.libsonnet
+++ /dev/null
@@ -1,57 +0,0 @@
-{
-  prometheusAlerts+:: {
-    groups+: [
-      {
-        name: 'alertmanager.rules',
-        rules: [
-          {
-            alert: 'AlertmanagerConfigInconsistent',
-            annotations: {
-              message: |||
-                The configuration of the instances of the Alertmanager cluster `{{ $labels.namespace }}/{{ $labels.service }}` are out of sync.
-                {{ range printf "alertmanager_config_hash{namespace=\"%s\",service=\"%s\"}" $labels.namespace $labels.service | query }}
-                Configuration hash for pod {{ .Labels.pod }} is "{{ printf "%.f" .Value }}"
-                {{ end }}
-              |||,
-            },
-            expr: |||
-              count by(namespace,service) (count_values by(namespace,service) ("config_hash", alertmanager_config_hash{%(alertmanagerSelector)s})) != 1
-            ||| % $._config,
-            'for': '5m',
-            labels: {
-              severity: 'critical',
-            },
-          },
-          {
-            alert: 'AlertmanagerFailedReload',
-            annotations: {
-              message: "Reloading Alertmanager's configuration has failed for {{ $labels.namespace }}/{{ $labels.pod}}.",
-            },
-            expr: |||
-              alertmanager_config_last_reload_successful{%(alertmanagerSelector)s} == 0
-            ||| % $._config,
-            'for': '10m',
-            labels: {
-              severity: 'warning',
-            },
-          },
-          {
-            alert: 'AlertmanagerMembersInconsistent',
-            annotations: {
-              message: 'Alertmanager has not found all other members of the cluster.',
-            },
-            expr: |||
-              alertmanager_cluster_members{%(alertmanagerSelector)s}
-                != on (service) GROUP_LEFT()
-              count by (service) (alertmanager_cluster_members{%(alertmanagerSelector)s})
-            ||| % $._config,
-            'for': '5m',
-            labels: {
-              severity: 'critical',
-            },
-          },
-        ],
-      },
-    ],
-  },
-}
diff --git a/jsonnet/kube-prometheus/alerts/alerts.libsonnet b/jsonnet/kube-prometheus/alerts/alerts.libsonnet
index adc461303474c64a86543b64abd6d83c4e9cd04b..8733ae447f6197e3e34db14b27b91e40afbed2c2 100644
--- a/jsonnet/kube-prometheus/alerts/alerts.libsonnet
+++ b/jsonnet/kube-prometheus/alerts/alerts.libsonnet
@@ -1,3 +1,2 @@
-(import 'alertmanager.libsonnet') +
 (import 'general.libsonnet') +
 (import 'node.libsonnet')
diff --git a/jsonnet/kube-prometheus/jsonnetfile.json b/jsonnet/kube-prometheus/jsonnetfile.json
index b74b034d691194ecc12b7f4229d8e2ca0fe83ea0..9663febdc71edb288e63497abfacae5b0f508e2b 100644
--- a/jsonnet/kube-prometheus/jsonnetfile.json
+++ b/jsonnet/kube-prometheus/jsonnetfile.json
@@ -83,6 +83,16 @@
       "version": "release-2.22",
       "name": "prometheus"
     },
+    {
+      "source": {
+        "git": {
+          "remote": "https://github.com/prometheus/alertmanager",
+          "subdir": "doc/alertmanager-mixin"
+        }
+      },
+      "version": "master",
+      "name": "alertmanager"
+    },
     {
       "source": {
         "git": {
diff --git a/jsonnet/kube-prometheus/kube-prometheus.libsonnet b/jsonnet/kube-prometheus/kube-prometheus.libsonnet
index 26943f12a3bbdcd58420d624f0908208aa915877..dc4c41539b2ae77cf683beec143c9347a9b3a394 100644
--- a/jsonnet/kube-prometheus/kube-prometheus.libsonnet
+++ b/jsonnet/kube-prometheus/kube-prometheus.libsonnet
@@ -6,6 +6,7 @@ local kubeRbacProxyContainer = import './kube-rbac-proxy/container.libsonnet';
 (import './node-exporter/node-exporter.libsonnet') +
 (import 'github.com/prometheus/node_exporter/docs/node-mixin/mixin.libsonnet') +
 (import './alertmanager/alertmanager.libsonnet') +
+(import 'github.com/prometheus/alertmanager/doc/alertmanager-mixin/mixin.libsonnet') +
 (import 'github.com/prometheus-operator/prometheus-operator/jsonnet/prometheus-operator/prometheus-operator.libsonnet') +
 (import 'github.com/prometheus-operator/prometheus-operator/jsonnet/mixin/mixin.libsonnet') +
 (import './prometheus/prometheus.libsonnet') +
@@ -160,6 +161,8 @@ local kubeRbacProxyContainer = import './kube-rbac-proxy/container.libsonnet';
     coreDNSSelector: 'job="kube-dns"',
     podLabel: 'pod',
 
+    alertmanagerName: '{{ $labels.namespace }}/{{ $labels.pod}}',
+    alertmanagerClusterLabels: 'namespace,service',
     alertmanagerSelector: 'job="alertmanager-' + $._config.alertmanager.name + '",namespace="' + $._config.namespace + '"',
     prometheusSelector: 'job="prometheus-' + $._config.prometheus.name + '",namespace="' + $._config.namespace + '"',
     prometheusName: '{{$labels.namespace}}/{{$labels.pod}}',