Skip to content
Snippets Groups Projects
Select Git revision
  • 13cfbe3b3d1c4fb6912c982a488b1786bca6ac0c
  • main default protected
  • release-0.15
  • automated-updates-main
  • release-0.13
  • automated-updates-release-0.13
  • release-0.14
  • release-0.10
  • release-0.11
  • release-0.12
  • fix-versions-action
  • versions-fix
  • release-0.9
  • release-0.8
  • release-0.7
  • release-0.6
  • release-0.5
  • release-0.4
  • release-0.3
  • release-0.1
  • release-0.2
  • v0.15.0
  • v0.14.0
  • v0.13.0
  • v0.12.0
  • v0.11.0
  • v0.10.0
  • v0.9.0
  • v0.8.0
  • v0.7.0
  • v0.6.0
  • v0.5.0
  • v0.4.0
  • v0.3.0
  • v0.2.0
  • v0.1.0
36 results

weave-net-example.jsonnet

Blame
  • user avatar
    5d06e286
    History
    weave-net-example.jsonnet 1.76 KiB
    local kp = (import 'kube-prometheus/main.libsonnet') +
               (import 'kube-prometheus/addons/weave-net/weave-net.libsonnet') + {
      values+:: {
        common+: {
          namespace: 'monitoring',
        },
      },
      kubernetesControlPlane+: {
        prometheusRuleWeaveNet+: {
          spec+: {
            groups: std.map(
              function(group)
                if group.name == 'weave-net' then
                  group {
                    rules: std.map(
                      function(rule)
                        if rule.alert == 'WeaveNetFastDPFlowsLow' then
                          rule {
                            expr: 'sum(weave_flows) < 20000',
                          }
                        else if rule.alert == 'WeaveNetIPAMUnreachable' then
                          rule {
                            expr: 'weave_ipam_unreachable_percentage > 25',
                          }
                        else
                          rule
                      ,
                      group.rules
                    ),
                  }
                else
                  group,
              super.groups
            ),
          },
        },
      },
    };
    
    { ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
    { ['0prometheus-operator-' + name]: kp.prometheusOperator[name] for name in std.objectFields(kp.prometheusOperator) } +
    { ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } +
    { ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) } +
    { ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } +
    { ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } +
    { ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) }