--- # Pre-exported monitoring model for mirador-agent. # Source: workspace/wuji/monitoring.ncl # Regenerate: # nickel export --import-path /path/to/provisioning \ # workspace/wuji/monitoring.ncl > workspace/wuji/mirador/monitoring.json # kubectl create configmap mirador-agent-config \ # --from-file=monitoring.json=workspace/wuji/mirador/monitoring.json \ # -n libre-wuji --dry-run=client -o yaml > workspace/wuji/mirador/configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: mirador-agent-config namespace: libre-wuji labels: app: mirador-agent component: mirador data: monitoring.json: | { "channels": [], "collectors": [ { "config": {}, "id": "kube-nodes", "kind": "Kube", "probe_timeout_secs": 10 }, { "config": { "namespace": "libre-wuji" }, "id": "kube-ns", "kind": "Kube", "probe_timeout_secs": 10 }, { "config": { "label_selector": "app.kubernetes.io/name=nats", "namespace": "libre-wuji" }, "id": "kube-nats", "kind": "Kube", "probe_timeout_secs": 10 }, { "config": { "label_selector": "app.kubernetes.io/name=postgresql", "namespace": "libre-wuji" }, "id": "kube-postgres", "kind": "Kube", "probe_timeout_secs": 10 }, { "config": { "label_selector": "app.kubernetes.io/name=forgejo", "namespace": "libre-wuji" }, "id": "kube-forgejo", "kind": "Kube", "probe_timeout_secs": 10 }, { "config": { "label_selector": "app=woodpecker", "namespace": "libre-wuji" }, "id": "kube-woodpecker", "kind": "Kube", "probe_timeout_secs": 10 }, { "config": { "label_selector": "app.kubernetes.io/name=zot", "namespace": "libre-wuji" }, "id": "kube-zot", "kind": "Kube", "probe_timeout_secs": 10 } ], "monitors": [ { "actions": [], "collector": "kube-nodes", "for_secs": 60, "id": "libre-wuji.nodes.ready", "name": "Nodes ready", "threshold": { "metric": "nodes.ready", "op": "Lt", "unit": "", "value": 1 } }, { "actions": [], "collector": "kube-nodes", "for_secs": 120, "id": "libre-wuji.nodes.not_ready", "name": "Nodes not ready", "threshold": { "metric": "nodes.not_ready", "op": "Gt", "unit": "", "value": 0 } }, { "actions": [], "collector": "kube-ns", "for_secs": 0, "id": "libre-wuji.pvcs.lost", "name": "PVCs lost", "threshold": { "metric": "pvcs.lost", "op": "Gt", "unit": "", "value": 0 } }, { "actions": [], "collector": "kube-ns", "for_secs": 60, "id": "libre-wuji.pods.failed", "name": "Pods failed", "threshold": { "metric": "pods.failed", "op": "Gt", "unit": "", "value": 0 } }, { "actions": [], "collector": "kube-ns", "for_secs": 120, "id": "libre-wuji.deployments.ratio", "name": "Deployment ready ratio", "threshold": { "metric": "deployments.ready_ratio", "op": "Lt", "unit": "%", "value": 90 } }, { "actions": [], "collector": "kube-nats", "depends_on": [], "for_secs": 60, "id": "libre-wuji.nats.not_ready", "name": "nats pods not ready", "threshold": { "metric": "pods.not_ready", "op": "Gt", "unit": "", "value": 0 } }, { "actions": [], "collector": "kube-postgres", "depends_on": [], "for_secs": 60, "id": "libre-wuji.postgres.not_ready", "name": "postgres pods not ready", "threshold": { "metric": "pods.not_ready", "op": "Gt", "unit": "", "value": 0 } }, { "actions": [], "collector": "kube-forgejo", "depends_on": [], "for_secs": 60, "id": "libre-wuji.forgejo.not_ready", "name": "forgejo pods not ready", "threshold": { "metric": "pods.not_ready", "op": "Gt", "unit": "", "value": 0 } }, { "actions": [], "collector": "kube-woodpecker", "depends_on": [], "for_secs": 60, "id": "libre-wuji.woodpecker.not_ready", "name": "woodpecker pods not ready", "threshold": { "metric": "pods.not_ready", "op": "Gt", "unit": "", "value": 0 } }, { "actions": [], "collector": "kube-zot", "depends_on": [], "for_secs": 60, "id": "libre-wuji.zot.not_ready", "name": "zot pods not ready", "threshold": { "metric": "pods.not_ready", "op": "Gt", "unit": "", "value": 0 } } ] }