mirror of
				https://github.com/prometheus-operator/kube-prometheus.git
				synced 2025-11-03 17:41:01 +01:00 
			
		
		
		
	use alertmanager-mixin instead of alerts baked in kube-prometheus
This commit is contained in:
		
							parent
							
								
									25f88e8132
								
							
						
					
					
						commit
						d4ca837790
					
				@ -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',
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
    ],
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,3 +1,2 @@
 | 
				
			|||||||
(import 'alertmanager.libsonnet') +
 | 
					 | 
				
			||||||
(import 'general.libsonnet') +
 | 
					(import 'general.libsonnet') +
 | 
				
			||||||
(import 'node.libsonnet')
 | 
					(import 'node.libsonnet')
 | 
				
			||||||
 | 
				
			|||||||
@ -83,6 +83,16 @@
 | 
				
			|||||||
      "version": "release-2.22",
 | 
					      "version": "release-2.22",
 | 
				
			||||||
      "name": "prometheus"
 | 
					      "name": "prometheus"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "source": {
 | 
				
			||||||
 | 
					        "git": {
 | 
				
			||||||
 | 
					          "remote": "https://github.com/prometheus/alertmanager",
 | 
				
			||||||
 | 
					          "subdir": "doc/alertmanager-mixin"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "version": "master",
 | 
				
			||||||
 | 
					      "name": "alertmanager"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "source": {
 | 
					      "source": {
 | 
				
			||||||
        "git": {
 | 
					        "git": {
 | 
				
			||||||
 | 
				
			|||||||
@ -6,6 +6,7 @@ local kubeRbacProxyContainer = import './kube-rbac-proxy/container.libsonnet';
 | 
				
			|||||||
(import './node-exporter/node-exporter.libsonnet') +
 | 
					(import './node-exporter/node-exporter.libsonnet') +
 | 
				
			||||||
(import 'github.com/prometheus/node_exporter/docs/node-mixin/mixin.libsonnet') +
 | 
					(import 'github.com/prometheus/node_exporter/docs/node-mixin/mixin.libsonnet') +
 | 
				
			||||||
(import './alertmanager/alertmanager.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/prometheus-operator/prometheus-operator.libsonnet') +
 | 
				
			||||||
(import 'github.com/prometheus-operator/prometheus-operator/jsonnet/mixin/mixin.libsonnet') +
 | 
					(import 'github.com/prometheus-operator/prometheus-operator/jsonnet/mixin/mixin.libsonnet') +
 | 
				
			||||||
(import './prometheus/prometheus.libsonnet') +
 | 
					(import './prometheus/prometheus.libsonnet') +
 | 
				
			||||||
@ -160,6 +161,8 @@ local kubeRbacProxyContainer = import './kube-rbac-proxy/container.libsonnet';
 | 
				
			|||||||
    coreDNSSelector: 'job="kube-dns"',
 | 
					    coreDNSSelector: 'job="kube-dns"',
 | 
				
			||||||
    podLabel: 'pod',
 | 
					    podLabel: 'pod',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    alertmanagerName: '{{ $labels.namespace }}/{{ $labels.pod}}',
 | 
				
			||||||
 | 
					    alertmanagerClusterLabels: 'namespace,service',
 | 
				
			||||||
    alertmanagerSelector: 'job="alertmanager-' + $._config.alertmanager.name + '",namespace="' + $._config.namespace + '"',
 | 
					    alertmanagerSelector: 'job="alertmanager-' + $._config.alertmanager.name + '",namespace="' + $._config.namespace + '"',
 | 
				
			||||||
    prometheusSelector: 'job="prometheus-' + $._config.prometheus.name + '",namespace="' + $._config.namespace + '"',
 | 
					    prometheusSelector: 'job="prometheus-' + $._config.prometheus.name + '",namespace="' + $._config.namespace + '"',
 | 
				
			||||||
    prometheusName: '{{$labels.namespace}}/{{$labels.pod}}',
 | 
					    prometheusName: '{{$labels.namespace}}/{{$labels.pod}}',
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user