diff --git a/README.md b/README.md index a88352faf2..c9095ecbd3 100644 --- a/README.md +++ b/README.md @@ -10,14 +10,21 @@ _... automated via [Flux](https://fluxcd.io), [Renovate](https://github.com/reno
-[![Discord](https://img.shields.io/discord/673534664354430999?style=for-the-badge&label&logo=discord&logoColor=white&color=blue)](https://discord.gg/home-operations) -[![Kubernetes](https://img.shields.io/badge/dynamic/yaml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fburoa%2Fk8s-gitops%2Fmaster%2Fkubernetes%2Fapps%2Fkube-system%2Fsystem-upgrade-controller%2Fplans%2Fkubernetes.yaml&query=%24.spec.version&style=for-the-badge&logo=kubernetes&logoColor=white&label=%20)](https://k8s.io) +[![Discord](https://img.shields.io/discord/673534664354430999?style=for-the-badge&label&logo=discord&logoColor=white&color=blue)](https://discord.gg/home-operations)  +[![Kubernetes](https://img.shields.io/badge/dynamic/yaml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fburoa%2Fk8s-gitops%2Fmaster%2Fkubernetes%2Fapps%2Fkube-system%2Fsystem-upgrade-controller%2Fplans%2Fkubernetes.yaml&query=%24.spec.version&style=for-the-badge&logo=kubernetes&logoColor=white&label=%20)](https://k8s.io)  [![Renovate](https://img.shields.io/github/actions/workflow/status/buroa/k8s-gitops/renovate.yaml?branch=master&label=&logo=renovatebot&style=for-the-badge&color=blue)](https://github.com/buroa/k8s-gitops/actions/workflows/renovate.yaml) -[![Home-Internet](https://img.shields.io/uptimerobot/status/m794001384-01d2febd339773320ef5aae1?label=Home%20Internet&style=for-the-badge&logo=google-home&logoColor=white)](https://status.ktwo.io) -[![Plex](https://img.shields.io/uptimerobot/status/m793802743-0b6044ca7f1ec92851b9a495?label=Plex&style=for-the-badge&logo=plex&logoColor=white)](https://status.ktwo.io/endpoints/_plex) +[![Home-Internet](https://img.shields.io/uptimerobot/status/m794001384-01d2febd339773320ef5aae1?label=Home%20Internet&style=for-the-badge&logo=ubiquiti&logoColor=white)](https://status.ktwo.io)  +[![Plex](https://img.shields.io/uptimerobot/status/m793802743-0b6044ca7f1ec92851b9a495?label=Plex&style=for-the-badge&logo=plex&logoColor=white)](https://status.ktwo.io/endpoints/_plex)  [![Overseerr](https://img.shields.io/uptimerobot/status/m793802757-ca314435a1d7b7dc1ca5dac9?label=Overseerr&style=for-the-badge&logo=insomnia&logoColor=white)](https://status.ktwo.io/endpoints/_overseerr) +![Age](https://img.shields.io/endpoint?url=https%3A%2F%2Fkromgo.ktwo.io%2Fquery%3Fformat%3Dendpoint%26metric%3Dcluster_age_days&style=for-the-badge&label=Age)  +![Uptime](https://img.shields.io/endpoint?url=https%3A%2F%2Fkromgo.ktwo.io%2Fquery%3Fformat%3Dendpoint%26metric%3Dcluster_uptime_days&style=for-the-badge&label=Uptime)  +![Nodes](https://img.shields.io/endpoint?url=https%3A%2F%2Fkromgo.ktwo.io%2Fquery%3Fformat%3Dendpoint%26metric%3Dcluster_node_count&style=for-the-badge&label=Nodes)  +![Pods](https://img.shields.io/endpoint?url=https%3A%2F%2Fkromgo.ktwo.io%2Fquery%3Fformat%3Dendpoint%26metric%3Dcluster_pod_count&style=for-the-badge&label=Pods)  +![CPU](https://img.shields.io/endpoint?url=https%3A%2F%2Fkromgo.ktwo.io%2Fquery%3Fformat%3Dendpoint%26metric%3Dcluster_node_cpu&style=for-the-badge&label=CPU)  +![Power](https://img.shields.io/endpoint?url=https%3A%2F%2Fkromgo.ktwo.io%2Fquery%3Fformat%3Dendpoint%26metric%3Dcluster_power_usage&style=for-the-badge&label=Power) +
--- diff --git a/kubernetes/apps/default/kromgo/app/configs/config.yaml b/kubernetes/apps/default/kromgo/app/configs/config.yaml index ad1a81c37f..74ecc4d3c1 100644 --- a/kubernetes/apps/default/kromgo/app/configs/config.yaml +++ b/kubernetes/apps/default/kromgo/app/configs/config.yaml @@ -1,23 +1,31 @@ --- metrics: + - name: cluster_age_days + query: round((time() - max(kube_node_created)) / 86400) + suffix: d + + - name: cluster_uptime_days + query: round(avg(node_time_seconds{kubernetes_node=~"[m|w][0-2]"} - node_boot_time_seconds) / 86400) + suffix: d + - name: cluster_node_count query: count(count by (node) (kube_node_status_condition{condition="Ready"})) + - name: cluster_pod_count + query: sum(kube_pod_status_phase{phase="Running"}) + - name: cluster_node_cpu query: round(cluster:node_cpu:ratio_rate5m * 100, 0.1) suffix: "%" colors: - - { color: "green", min: 0, max: 35 } - - { color: "orange", min: 36, max: 75 } - - { color: "red", min: 76, max: 1000 } - - - name: cluster_pods_count - query: sum(kube_pod_status_phase{phase="Running"}) + - { color: green, min: 0, max: 35 } + - { color: orange, min: 36, max: 75 } + - { color: red, min: 76, max: 9999 } - name: cluster_power_usage - query: round(avg_over_time(upsAdvanceOutputPower[5m]), 0.1) - suffix: "w" + query: round(upsAdvanceOutputPower, 0.1) + suffix: w colors: - - { color: "green", min: 0, max: 400 } - - { color: "orange", min: 401, max: 750 } - - { color: "red", min: 751, max: 2000 } + - { color: green, min: 0, max: 400 } + - { color: orange, min: 401, max: 500 } + - { color: red, min: 501, max: 2000 } diff --git a/kubernetes/apps/monitoring/kube-prometheus-stack/app/helmrelease.yaml b/kubernetes/apps/monitoring/kube-prometheus-stack/app/helmrelease.yaml index 4c12d30cfa..b35b85bef3 100644 --- a/kubernetes/apps/monitoring/kube-prometheus-stack/app/helmrelease.yaml +++ b/kubernetes/apps/monitoring/kube-prometheus-stack/app/helmrelease.yaml @@ -57,30 +57,6 @@ spec: resources: requests: storage: 1Gi - grafana: - enabled: false - forceDeployDashboards: true - sidecar: - dashboards: - multicluster: - etcd: - enabled: true - kubeStateMetrics: - enabled: true - kube-state-metrics: - metricLabelsAllowlist: - - pods=[*] - - deployments=[*] - - persistentvolumeclaims=[*] - prometheus: - monitor: - enabled: true - relabelings: - - action: replace - regex: (.*) - replacement: $1 - sourceLabels: ["__meta_kubernetes_pod_node_name"] - targetLabel: kubernetes_node kubelet: enabled: true serviceMonitor: @@ -99,13 +75,8 @@ spec: kubeEtcd: enabled: true endpoints: *endpoints - service: - enabled: true - port: 2381 - targetPort: 2381 kubeProxy: enabled: false - endpoints: *endpoints kubeScheduler: enabled: true endpoints: *endpoints @@ -162,3 +133,41 @@ spec: memory: 2048M limits: memory: 8192M + nodeExporter: + enabled: true + prometheus-node-exporter: + prometheus: + monitor: + enabled: true + relabelings: + - action: replace + regex: (.*) + replacement: $1 + sourceLabels: + - __meta_kubernetes_pod_node_name + targetLabel: kubernetes_node + kubeStateMetrics: + enabled: true + kube-state-metrics: + metricLabelsAllowlist: + - pods=[*] + - deployments=[*] + - persistentvolumeclaims=[*] + prometheus: + monitor: + enabled: true + relabelings: + - action: replace + regex: (.*) + replacement: $1 + sourceLabels: + - __meta_kubernetes_pod_node_name + targetLabel: kubernetes_node + grafana: + enabled: false + forceDeployDashboards: true + sidecar: + dashboards: + multicluster: + etcd: + enabled: true