provisioning-code/workspace/wuji/mirador/configmap.yaml

170 lines
5.1 KiB
YAML

---
# 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 }
}
]
}