diff --git a/modules/kubernetes/main.tf b/modules/kubernetes/main.tf index 4a89d174..0da9bc37 100644 --- a/modules/kubernetes/main.tf +++ b/modules/kubernetes/main.tf @@ -239,6 +239,7 @@ module "monitoring" { idrac_username = var.idrac_username idrac_password = var.idrac_password alertmanager_slack_api_url = var.alertmanager_slack_api_url + tiny_tuya_service_secret = var.tiny_tuya_service_secret depends_on = [null_resource.core_services] } diff --git a/modules/kubernetes/monitoring/dashboards/ups.json b/modules/kubernetes/monitoring/dashboards/ups.json index 85bb2a31..830b9826 100644 --- a/modules/kubernetes/monitoring/dashboards/ups.json +++ b/modules/kubernetes/monitoring/dashboards/ups.json @@ -1607,7 +1607,7 @@ "mode": "palette-classic" }, "custom": { - "axisBorderShow": false, + "axisBorderShow": true, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1709,7 +1709,127 @@ "useBackend": false } ], - "title": "Panel Title", + "title": "Current Consumption", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": true, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "watth" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 21, + "x": 3, + "y": 44 + }, + "id": 29, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "increase(automatic_transfer_switch_totalele_add[1d]) * 10", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "interval": "1d", + "legendFormat": "Inverter", + "range": true, + "refId": "A", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "increase(automatic_transfer_switch_dwele_add[1d]) * 10", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "interval": "1d", + "legendFormat": "Grid", + "range": true, + "refId": "B", + "useBackend": false + } + ], + "title": "Daily Total Consumption", "type": "timeseries" }, { @@ -1769,7 +1889,7 @@ } ] }, - "unit": "watt" + "unit": "watth" }, "overrides": [] }, @@ -1777,7 +1897,7 @@ "h": 8, "w": 21, "x": 3, - "y": 44 + "y": 52 }, "id": 26, "options": { @@ -1800,7 +1920,7 @@ }, "disableTextWrap": false, "editorMode": "builder", - "expr": "automatic_transfer_switch_dwele_add", + "expr": "automatic_transfer_switch_dwele_add * 10", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, @@ -1816,7 +1936,7 @@ }, "disableTextWrap": false, "editorMode": "builder", - "expr": "automatic_transfer_switch_totalele_add", + "expr": "automatic_transfer_switch_totalele_add * 10", "fullMetaSearch": false, "hide": false, "includeNullMetadata": true, @@ -1838,13 +1958,13 @@ "list": [] }, "time": { - "from": "now-15m", + "from": "now-7d", "to": "now" }, "timepicker": {}, "timezone": "browser", "title": "Huawei UPS 2000", "uid": "ee70yskqw5u68f", - "version": 29, + "version": 33, "weekStart": "" } diff --git a/modules/kubernetes/monitoring/main.tf b/modules/kubernetes/monitoring/main.tf index b54bbc7b..88ff7ae3 100644 --- a/modules/kubernetes/monitoring/main.tf +++ b/modules/kubernetes/monitoring/main.tf @@ -10,6 +10,7 @@ variable "idrac_password" { default = "calvin" } variable "alertmanager_slack_api_url" {} +variable "tiny_tuya_service_secret" { type = string } module "tls_secret" { source = "../setup_tls_secret" @@ -71,7 +72,7 @@ resource "helm_release" "prometheus" { # version = "15.0.2" version = "25.8.2" - values = [templatefile("${path.module}/prometheus_chart_values.tpl", { alertmanager_mail_pass = var.alertmanager_account_password, alertmanager_slack_api_url = var.alertmanager_slack_api_url })] + values = [templatefile("${path.module}/prometheus_chart_values.tpl", { alertmanager_mail_pass = var.alertmanager_account_password, alertmanager_slack_api_url = var.alertmanager_slack_api_url, tuya_api_key = var.tiny_tuya_service_secret })] } # Terraform get angry with the 30k values file :/ use ansible until solved diff --git a/modules/kubernetes/monitoring/prometheus_chart_values.tpl b/modules/kubernetes/monitoring/prometheus_chart_values.tpl index a77b9f86..3a7acbf0 100644 --- a/modules/kubernetes/monitoring/prometheus_chart_values.tpl +++ b/modules/kubernetes/monitoring/prometheus_chart_values.tpl @@ -452,6 +452,8 @@ extraScrapeConfigs: | - targets: - "tuya-bridge.tuya-bridge.svc.cluster.local:80" metrics_path: '/metrics/bfe98afa941d5a1e2def8s' + params: + api-key: ['${tuya_api_key}'] metric_relabel_configs: - source_labels: [ __name__ ] target_label: '__name__' @@ -463,6 +465,8 @@ extraScrapeConfigs: | - targets: - "tuya-bridge.tuya-bridge.svc.cluster.local:80" metrics_path: '/metrics/bf62301ef04e38d881ugcu' + params: + api-key: ['${tuya_api_key}'] metric_relabel_configs: - source_labels: [ __name__ ] target_label: '__name__' @@ -474,6 +478,8 @@ extraScrapeConfigs: | - targets: - "tuya-bridge.tuya-bridge.svc.cluster.local:80" metrics_path: '/metrics/bf1a684e80ae942e4dji6b' + params: + api-key: ['${tuya_api_key}'] metric_relabel_configs: - source_labels: [ __name__ ] target_label: '__name__'