kube-prometheus/docs/monitoring-other-namespaces.md
Saswata Mukherjee 7e94f218e1 Add mdox link checking and formatting
Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>
2021-10-21 19:12:33 +05:30

1.7 KiB

weight, toc, title, menu, lead, images, draft, description, date
weight toc title menu lead images draft description date
640 true Monitoring other Namespaces
docs
parent
kube
This guide will help you monitor applications in other Namespaces.
false This guide will help you monitor applications in other Namespaces. 2021-03-08T23:04:32+01:00

This guide will help you monitor applications in other Namespaces. By default the RBAC rules are only enabled for the Default and kube-system Namespace during Install.

Setup

You have to give the list of the Namespaces that you want to be able to monitor. This is done in the variable prometheus.roleSpecificNamespaces. You usually set this in your .jsonnet file when building the manifests.

Example to create the needed Role and RoleBinding for the Namespace foo :

local kp = (import 'kube-prometheus/main.libsonnet') + {
  _config+:: {
    namespace: 'monitoring',

    prometheus+:: {
      namespaces: ["default", "kube-system", "foo"],
    },
  },
};
 
{ ['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) } +
{ ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } +
{ ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } +
{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) }