From c0363be5e42ea59d06bd95be2cec4304bd7e93eb Mon Sep 17 00:00:00 2001 From: Viktor Barzin Date: Mon, 16 Feb 2026 23:06:41 +0000 Subject: [PATCH] [ci skip] Add Grafana dashboard for Technitium DNS query logs Add MySQL datasource and 15-panel dashboard for DNS analytics: queries over time, response codes, top domains/clients, response times, blocked/NxDomain domains. Enable Grafana dashboard sidecar for auto-provisioning dashboards from ConfigMaps. --- .claude/CLAUDE.md | 1 + main.tf | 12 +- modules/kubernetes/main.tf | 18 +- .../monitoring/dashboards/technitium-dns.json | 488 ++++++++++++++++++ .../monitoring/grafana_chart_values.yaml | 5 +- modules/kubernetes/technitium/main.tf | 43 ++ terraform.tfvars | Bin 47311 -> 47532 bytes 7 files changed, 557 insertions(+), 10 deletions(-) create mode 100644 modules/kubernetes/monitoring/dashboards/technitium-dns.json diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index b422da6b..8a9fac30 100755 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -8,6 +8,7 @@ - **After updating any `.claude/` files**: Always commit them immediately (`git add .claude/ && git commit -m "[ci skip] update claude knowledge"`) to avoid building up unstaged changes. - **Skills available**: Check `.claude/skills/` directory for specialized workflows (e.g., `setup-project.md` for deploying new services) - **CRITICAL: All infrastructure changes must go through Terraform**. NEVER modify cluster resources directly (e.g., via kubectl apply/edit/patch, helm install, docker run). Always make changes in the Terraform `.tf` files and apply with `terraform apply`. The real cluster state must never deviate from what's defined in Terraform — if a manual change is unavoidable (e.g., containerd config on running nodes), document it and ensure the Terraform templates match so future provisioning is consistent. Use `kubectl` only for read-only operations (get, describe, logs) and ephemeral debugging (run --rm, delete stuck pods), never for persistent state changes. +- **CRITICAL: NEVER put sensitive data (API keys, passwords, tokens, credentials) into committed files** unless they are encrypted (e.g., via git-crypt). Secrets belong in `terraform.tfvars` (which is git-crypt encrypted) or in the `secrets/` directory. Never hardcode credentials in `.tf` files, scripts, `.claude/` files, or any other unencrypted committed file. Always pass secrets through the Terraform variable chain (`terraform.tfvars` → `main.tf` → module variables). ## Execution Environment - **File operations**: Read, Edit, Write, Glob, Grep tools diff --git a/main.tf b/main.tf index 4741fd48..1282d40d 100644 --- a/main.tf +++ b/main.tf @@ -59,6 +59,7 @@ variable "webhook_handler_fb_app_secret" {} variable "webhook_handler_git_user" {} variable "technitium_username" {} variable "technitium_password" {} +variable "technitium_db_password" {} variable "webhook_handler_git_token" {} variable "webhook_handler_ssh_key" {} variable "monitoring_idrac_username" {} @@ -154,6 +155,9 @@ variable "affine_postgresql_password" { type = string } variable "health_postgresql_password" { type = string } variable "health_secret_key" { type = string } variable "moltbot_ssh_key" { type = string } +variable "gemini_api_key" { type = string } +variable "llama_api_key" { type = string } +variable "brave_api_key" { type = string } variable "kube_config_path" { type = string @@ -605,8 +609,9 @@ module "kubernetes_cluster" { frigate_valchedrym_camera_credentials = var.frigate_valchedrym_camera_credentials // updating technitium records - technitium_username = var.technitium_username - technitium_password = var.technitium_password + technitium_username = var.technitium_username + technitium_password = var.technitium_password + technitium_db_password = var.technitium_db_password paperless_db_password = var.paperless_db_password @@ -690,6 +695,9 @@ module "kubernetes_cluster" { health_postgresql_password = var.health_postgresql_password health_secret_key = var.health_secret_key moltbot_ssh_key = var.moltbot_ssh_key + gemini_api_key = var.gemini_api_key + llama_api_key = var.llama_api_key + brave_api_key = var.brave_api_key } diff --git a/modules/kubernetes/main.tf b/modules/kubernetes/main.tf index c55ad15f..ee486040 100644 --- a/modules/kubernetes/main.tf +++ b/modules/kubernetes/main.tf @@ -37,6 +37,7 @@ variable "webhook_handler_git_token" {} variable "webhook_handler_ssh_key" {} variable "technitium_username" {} variable "technitium_password" {} +variable "technitium_db_password" {} variable "idrac_username" {} variable "idrac_password" {} variable "alertmanager_slack_api_url" {} @@ -125,6 +126,9 @@ variable "affine_postgresql_password" { type = string } variable "health_postgresql_password" { type = string } variable "health_secret_key" { type = string } variable "moltbot_ssh_key" { type = string } +variable "gemini_api_key" { type = string } +variable "llama_api_key" { type = string } +variable "brave_api_key" { type = string } variable "defcon_level" { @@ -481,11 +485,12 @@ module "travel_blog" { } module "technitium" { - source = "./technitium" - for_each = contains(local.active_modules, "technitium") ? { technitium = true } : {} - tls_secret_name = var.tls_secret_name - homepage_token = var.homepage_credentials["technitium"]["token"] - tier = local.tiers.core + source = "./technitium" + for_each = contains(local.active_modules, "technitium") ? { technitium = true } : {} + tls_secret_name = var.tls_secret_name + homepage_token = var.homepage_credentials["technitium"]["token"] + technitium_db_password = var.technitium_db_password + tier = local.tiers.core } module "headscale" { @@ -1137,6 +1142,9 @@ module "moltbot" { for_each = contains(local.active_modules, "moltbot") ? { moltbot = true } : {} tls_secret_name = var.tls_secret_name ssh_key = var.moltbot_ssh_key + gemini_api_key = var.gemini_api_key + llama_api_key = var.llama_api_key + brave_api_key = var.brave_api_key tier = local.tiers.aux depends_on = [null_resource.core_services] diff --git a/modules/kubernetes/monitoring/dashboards/technitium-dns.json b/modules/kubernetes/monitoring/dashboards/technitium-dns.json new file mode 100644 index 00000000..b0b17c37 --- /dev/null +++ b/modules/kubernetes/monitoring/dashboards/technitium-dns.json @@ -0,0 +1,488 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { "type": "datasource", "uid": "grafana" }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "description": "Technitium DNS query logs from MySQL", + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 1, + "id": null, + "links": [], + "panels": [ + { + "title": "Total Queries", + "type": "stat", + "datasource": { "type": "mysql", "uid": "technitium-mysql" }, + "gridPos": { "h": 4, "w": 4, "x": 0, "y": 0 }, + "fieldConfig": { + "defaults": { + "color": { "mode": "thresholds" }, + "thresholds": { + "steps": [ + { "color": "green", "value": null } + ] + } + }, + "overrides": [] + }, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "textMode": "auto", + "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false } + }, + "targets": [ + { + "rawSql": "SELECT COUNT(*) as total_queries FROM dns_logs WHERE $__timeFilter(timestamp)", + "format": "table", + "refId": "A" + } + ] + }, + { + "title": "Cached %", + "type": "stat", + "datasource": { "type": "mysql", "uid": "technitium-mysql" }, + "gridPos": { "h": 4, "w": 4, "x": 4, "y": 0 }, + "fieldConfig": { + "defaults": { + "color": { "mode": "thresholds" }, + "unit": "percentunit", + "thresholds": { + "steps": [ + { "color": "red", "value": null }, + { "color": "yellow", "value": 0.3 }, + { "color": "green", "value": 0.5 } + ] + } + }, + "overrides": [] + }, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "textMode": "auto", + "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false } + }, + "targets": [ + { + "rawSql": "SELECT SUM(CASE WHEN response_type = 3 THEN 1 ELSE 0 END) / COUNT(*) as cached_pct FROM dns_logs WHERE $__timeFilter(timestamp)", + "format": "table", + "refId": "A" + } + ] + }, + { + "title": "Blocked %", + "type": "stat", + "datasource": { "type": "mysql", "uid": "technitium-mysql" }, + "gridPos": { "h": 4, "w": 4, "x": 8, "y": 0 }, + "fieldConfig": { + "defaults": { + "color": { "mode": "thresholds" }, + "unit": "percentunit", + "thresholds": { + "steps": [ + { "color": "green", "value": null }, + { "color": "yellow", "value": 0.1 }, + { "color": "red", "value": 0.3 } + ] + } + }, + "overrides": [] + }, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "textMode": "auto", + "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false } + }, + "targets": [ + { + "rawSql": "SELECT SUM(CASE WHEN response_type = 4 THEN 1 ELSE 0 END) / COUNT(*) as blocked_pct FROM dns_logs WHERE $__timeFilter(timestamp)", + "format": "table", + "refId": "A" + } + ] + }, + { + "title": "NxDomain %", + "type": "stat", + "datasource": { "type": "mysql", "uid": "technitium-mysql" }, + "gridPos": { "h": 4, "w": 4, "x": 12, "y": 0 }, + "fieldConfig": { + "defaults": { + "color": { "mode": "thresholds" }, + "unit": "percentunit", + "thresholds": { + "steps": [ + { "color": "green", "value": null }, + { "color": "yellow", "value": 0.2 }, + { "color": "red", "value": 0.5 } + ] + } + }, + "overrides": [] + }, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "textMode": "auto", + "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false } + }, + "targets": [ + { + "rawSql": "SELECT SUM(CASE WHEN rcode = 3 THEN 1 ELSE 0 END) / COUNT(*) as nxdomain_pct FROM dns_logs WHERE $__timeFilter(timestamp)", + "format": "table", + "refId": "A" + } + ] + }, + { + "title": "Avg Response Time", + "type": "stat", + "datasource": { "type": "mysql", "uid": "technitium-mysql" }, + "gridPos": { "h": 4, "w": 4, "x": 16, "y": 0 }, + "fieldConfig": { + "defaults": { + "color": { "mode": "thresholds" }, + "unit": "ms", + "thresholds": { + "steps": [ + { "color": "green", "value": null }, + { "color": "yellow", "value": 50 }, + { "color": "red", "value": 200 } + ] + } + }, + "overrides": [] + }, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "textMode": "auto", + "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false } + }, + "targets": [ + { + "rawSql": "SELECT AVG(response_rtt) as avg_rtt_ms FROM dns_logs WHERE $__timeFilter(timestamp) AND response_rtt IS NOT NULL", + "format": "table", + "refId": "A" + } + ] + }, + { + "title": "Queries by Protocol", + "type": "stat", + "datasource": { "type": "mysql", "uid": "technitium-mysql" }, + "gridPos": { "h": 4, "w": 4, "x": 20, "y": 0 }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" } + }, + "overrides": [] + }, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "textMode": "auto", + "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": true } + }, + "targets": [ + { + "rawSql": "SELECT SUM(CASE WHEN protocol = 0 THEN 1 ELSE 0 END) as UDP, SUM(CASE WHEN protocol = 1 THEN 1 ELSE 0 END) as TCP, SUM(CASE WHEN protocol = 3 THEN 1 ELSE 0 END) as DoH, SUM(CASE WHEN protocol = 4 THEN 1 ELSE 0 END) as DoT FROM dns_logs WHERE $__timeFilter(timestamp)", + "format": "table", + "refId": "A" + } + ] + }, + { + "title": "Queries Over Time", + "type": "timeseries", + "datasource": { "type": "mysql", "uid": "technitium-mysql" }, + "gridPos": { "h": 8, "w": 24, "x": 0, "y": 4 }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "bars", + "fillOpacity": 50, + "gradientMode": "none", + "hideFrom": { "legend": false, "tooltip": false, "viz": false }, + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { "type": "linear" }, + "showPoints": "never", + "spanNulls": false, + "stacking": { "group": "A", "mode": "normal" } + } + }, + "overrides": [] + }, + "options": { + "legend": { "calcs": ["sum"], "displayMode": "list", "placement": "bottom" }, + "tooltip": { "mode": "multi", "sort": "desc" } + }, + "targets": [ + { + "rawSql": "SELECT $__timeGroup(timestamp, $__interval) as time, SUM(CASE WHEN response_type = 1 THEN 1 ELSE 0 END) as Authoritative, SUM(CASE WHEN response_type = 2 THEN 1 ELSE 0 END) as Recursive, SUM(CASE WHEN response_type = 3 THEN 1 ELSE 0 END) as Cached, SUM(CASE WHEN response_type = 4 THEN 1 ELSE 0 END) as Blocked, SUM(CASE WHEN response_type = 5 THEN 1 ELSE 0 END) as Dropped FROM dns_logs WHERE $__timeFilter(timestamp) GROUP BY time ORDER BY time", + "format": "time_series", + "refId": "A" + } + ] + }, + { + "title": "Response Codes", + "type": "piechart", + "datasource": { "type": "mysql", "uid": "technitium-mysql" }, + "gridPos": { "h": 8, "w": 8, "x": 0, "y": 12 }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" } + }, + "overrides": [ + { "matcher": { "id": "byName", "options": "NOERROR" }, "properties": [{ "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } }] }, + { "matcher": { "id": "byName", "options": "NXDOMAIN" }, "properties": [{ "id": "color", "value": { "fixedColor": "yellow", "mode": "fixed" } }] }, + { "matcher": { "id": "byName", "options": "SERVFAIL" }, "properties": [{ "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } }] }, + { "matcher": { "id": "byName", "options": "REFUSED" }, "properties": [{ "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" } }] } + ] + }, + "options": { + "legend": { "displayMode": "table", "placement": "right", "values": ["value", "percent"] }, + "pieType": "donut", + "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": true }, + "tooltip": { "mode": "single" } + }, + "targets": [ + { + "rawSql": "SELECT SUM(CASE WHEN rcode = 0 THEN 1 ELSE 0 END) as NOERROR, SUM(CASE WHEN rcode = 2 THEN 1 ELSE 0 END) as SERVFAIL, SUM(CASE WHEN rcode = 3 THEN 1 ELSE 0 END) as NXDOMAIN, SUM(CASE WHEN rcode = 5 THEN 1 ELSE 0 END) as REFUSED, SUM(CASE WHEN rcode NOT IN (0,2,3,5) THEN 1 ELSE 0 END) as Other FROM dns_logs WHERE $__timeFilter(timestamp)", + "format": "table", + "refId": "A" + } + ] + }, + { + "title": "Response Types", + "type": "piechart", + "datasource": { "type": "mysql", "uid": "technitium-mysql" }, + "gridPos": { "h": 8, "w": 8, "x": 8, "y": 12 }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" } + }, + "overrides": [ + { "matcher": { "id": "byName", "options": "Cached" }, "properties": [{ "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } }] }, + { "matcher": { "id": "byName", "options": "Blocked" }, "properties": [{ "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } }] }, + { "matcher": { "id": "byName", "options": "Recursive" }, "properties": [{ "id": "color", "value": { "fixedColor": "blue", "mode": "fixed" } }] }, + { "matcher": { "id": "byName", "options": "Authoritative" }, "properties": [{ "id": "color", "value": { "fixedColor": "purple", "mode": "fixed" } }] } + ] + }, + "options": { + "legend": { "displayMode": "table", "placement": "right", "values": ["value", "percent"] }, + "pieType": "donut", + "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": true }, + "tooltip": { "mode": "single" } + }, + "targets": [ + { + "rawSql": "SELECT SUM(CASE WHEN response_type = 1 THEN 1 ELSE 0 END) as Authoritative, SUM(CASE WHEN response_type = 2 THEN 1 ELSE 0 END) as Recursive, SUM(CASE WHEN response_type = 3 THEN 1 ELSE 0 END) as Cached, SUM(CASE WHEN response_type = 4 THEN 1 ELSE 0 END) as Blocked, SUM(CASE WHEN response_type = 5 THEN 1 ELSE 0 END) as Dropped FROM dns_logs WHERE $__timeFilter(timestamp)", + "format": "table", + "refId": "A" + } + ] + }, + { + "title": "Query Types", + "type": "piechart", + "datasource": { "type": "mysql", "uid": "technitium-mysql" }, + "gridPos": { "h": 8, "w": 8, "x": 16, "y": 12 }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" } + }, + "overrides": [] + }, + "options": { + "legend": { "displayMode": "table", "placement": "right", "values": ["value", "percent"] }, + "pieType": "donut", + "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": true }, + "tooltip": { "mode": "single" } + }, + "targets": [ + { + "rawSql": "SELECT SUM(CASE WHEN qtype = 1 THEN 1 ELSE 0 END) as A, SUM(CASE WHEN qtype = 28 THEN 1 ELSE 0 END) as AAAA, SUM(CASE WHEN qtype = 5 THEN 1 ELSE 0 END) as CNAME, SUM(CASE WHEN qtype = 15 THEN 1 ELSE 0 END) as MX, SUM(CASE WHEN qtype = 16 THEN 1 ELSE 0 END) as TXT, SUM(CASE WHEN qtype = 33 THEN 1 ELSE 0 END) as SRV, SUM(CASE WHEN qtype = 12 THEN 1 ELSE 0 END) as PTR, SUM(CASE WHEN qtype = 6 THEN 1 ELSE 0 END) as SOA, SUM(CASE WHEN qtype = 2 THEN 1 ELSE 0 END) as NS, SUM(CASE WHEN qtype = 65 THEN 1 ELSE 0 END) as HTTPS, SUM(CASE WHEN qtype NOT IN (1,2,5,6,12,15,16,28,33,65) THEN 1 ELSE 0 END) as Other FROM dns_logs WHERE $__timeFilter(timestamp)", + "format": "table", + "refId": "A" + } + ] + }, + { + "title": "Top 20 Queried Domains", + "type": "table", + "datasource": { "type": "mysql", "uid": "technitium-mysql" }, + "gridPos": { "h": 10, "w": 12, "x": 0, "y": 20 }, + "fieldConfig": { + "defaults": { + "custom": { "filterable": true } + }, + "overrides": [ + { "matcher": { "id": "byName", "options": "count" }, "properties": [{ "id": "custom.width", "value": 100 }] } + ] + }, + "options": { + "showHeader": true, + "sortBy": [{ "desc": true, "displayName": "count" }] + }, + "targets": [ + { + "rawSql": "SELECT qname as domain, COUNT(*) as count FROM dns_logs WHERE $__timeFilter(timestamp) GROUP BY qname ORDER BY count DESC LIMIT 20", + "format": "table", + "refId": "A" + } + ] + }, + { + "title": "Top 20 Clients", + "type": "table", + "datasource": { "type": "mysql", "uid": "technitium-mysql" }, + "gridPos": { "h": 10, "w": 12, "x": 12, "y": 20 }, + "fieldConfig": { + "defaults": { + "custom": { "filterable": true } + }, + "overrides": [ + { "matcher": { "id": "byName", "options": "count" }, "properties": [{ "id": "custom.width", "value": 100 }] } + ] + }, + "options": { + "showHeader": true, + "sortBy": [{ "desc": true, "displayName": "count" }] + }, + "targets": [ + { + "rawSql": "SELECT client_ip, COUNT(*) as count FROM dns_logs WHERE $__timeFilter(timestamp) GROUP BY client_ip ORDER BY count DESC LIMIT 20", + "format": "table", + "refId": "A" + } + ] + }, + { + "title": "Average Response Time Over Time", + "type": "timeseries", + "datasource": { "type": "mysql", "uid": "technitium-mysql" }, + "gridPos": { "h": 8, "w": 24, "x": 0, "y": 30 }, + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "unit": "ms", + "custom": { + "axisBorderShow": false, + "axisLabel": "Response Time (ms)", + "axisPlacement": "auto", + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "none", + "lineWidth": 2, + "pointSize": 5, + "showPoints": "never", + "spanNulls": true + } + }, + "overrides": [] + }, + "options": { + "legend": { "calcs": ["mean", "max"], "displayMode": "list", "placement": "bottom" }, + "tooltip": { "mode": "multi", "sort": "desc" } + }, + "targets": [ + { + "rawSql": "SELECT $__timeGroup(timestamp, $__interval) as time, AVG(response_rtt) as avg_rtt, MAX(response_rtt) as max_rtt FROM dns_logs WHERE $__timeFilter(timestamp) AND response_rtt IS NOT NULL GROUP BY time ORDER BY time", + "format": "time_series", + "refId": "A" + } + ] + }, + { + "title": "Top 20 NxDomain Domains", + "type": "table", + "datasource": { "type": "mysql", "uid": "technitium-mysql" }, + "gridPos": { "h": 10, "w": 12, "x": 0, "y": 38 }, + "fieldConfig": { + "defaults": { + "custom": { "filterable": true } + }, + "overrides": [ + { "matcher": { "id": "byName", "options": "count" }, "properties": [{ "id": "custom.width", "value": 100 }] } + ] + }, + "options": { + "showHeader": true, + "sortBy": [{ "desc": true, "displayName": "count" }] + }, + "targets": [ + { + "rawSql": "SELECT qname as domain, COUNT(*) as count FROM dns_logs WHERE $__timeFilter(timestamp) AND rcode = 3 GROUP BY qname ORDER BY count DESC LIMIT 20", + "format": "table", + "refId": "A" + } + ] + }, + { + "title": "Top 20 Blocked Domains", + "type": "table", + "datasource": { "type": "mysql", "uid": "technitium-mysql" }, + "gridPos": { "h": 10, "w": 12, "x": 12, "y": 38 }, + "fieldConfig": { + "defaults": { + "custom": { "filterable": true } + }, + "overrides": [ + { "matcher": { "id": "byName", "options": "count" }, "properties": [{ "id": "custom.width", "value": 100 }] } + ] + }, + "options": { + "showHeader": true, + "sortBy": [{ "desc": true, "displayName": "count" }] + }, + "targets": [ + { + "rawSql": "SELECT qname as domain, COUNT(*) as count FROM dns_logs WHERE $__timeFilter(timestamp) AND response_type = 4 GROUP BY qname ORDER BY count DESC LIMIT 20", + "format": "table", + "refId": "A" + } + ] + } + ], + "refresh": "5m", + "schemaVersion": 39, + "tags": ["dns", "technitium", "mysql"], + "templating": { "list": [] }, + "time": { "from": "now-24h", "to": "now" }, + "timepicker": {}, + "timezone": "", + "title": "Technitium DNS", + "uid": "technitium-dns", + "version": 1 +} diff --git a/modules/kubernetes/monitoring/grafana_chart_values.yaml b/modules/kubernetes/monitoring/grafana_chart_values.yaml index 9a32eece..d7b4ec7f 100644 --- a/modules/kubernetes/monitoring/grafana_chart_values.yaml +++ b/modules/kubernetes/monitoring/grafana_chart_values.yaml @@ -20,9 +20,8 @@ sidecar: datasources: enabled: "true" dashboards: - enabled: false - # label: "grafana_dashboard" - # folder: "/var/lib/grafana/dashboards" + enabled: true + label: "grafana_dashboard" dashboardProviders: dashboardproviders.yaml: apiVersion: 1 diff --git a/modules/kubernetes/technitium/main.tf b/modules/kubernetes/technitium/main.tf index 8b60f93b..f9d3357e 100644 --- a/modules/kubernetes/technitium/main.tf +++ b/modules/kubernetes/technitium/main.tf @@ -1,6 +1,7 @@ variable "tls_secret_name" {} variable "tier" { type = string } variable "homepage_token" {} +variable "technitium_db_password" {} resource "kubernetes_namespace" "technitium" { metadata { @@ -260,3 +261,45 @@ module "ingress-doh" { service_name = "technitium-web" } +# Grafana datasource for Technitium DNS query logs in MySQL +resource "kubernetes_config_map" "grafana_technitium_datasource" { + metadata { + name = "grafana-technitium-datasource" + namespace = "monitoring" + labels = { + grafana_datasource = "1" + } + } + data = { + "technitium-datasource.yaml" = yamlencode({ + apiVersion = 1 + datasources = [{ + name = "Technitium MySQL" + type = "mysql" + access = "proxy" + url = "mysql.dbaas.svc.cluster.local:3306" + database = "technitium" + user = "technitium" + uid = "technitium-mysql" + secureJsonData = { + password = var.technitium_db_password + } + }] + }) + } +} + +# Grafana dashboard for Technitium DNS query logs +resource "kubernetes_config_map" "grafana_technitium_dashboard" { + metadata { + name = "grafana-technitium-dashboard" + namespace = "monitoring" + labels = { + grafana_dashboard = "1" + } + } + data = { + "technitium-dns.json" = file("${path.module}/../monitoring/dashboards/technitium-dns.json") + } +} + diff --git a/terraform.tfvars b/terraform.tfvars index e389d7140dbd66d4924305cd597fed1625d836b5..ee5e276effcdca0f19c50fb11110eabf9e9f9ac2 100644 GIT binary patch literal 47532 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

v3(@G_0rs>>`R!f6(Vp-K<{?8l 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 Y;ms@-(mr(|n=%@HaC}6K+a+q~1OSWFB>(^b literal 47311 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%0D|FjeIn(%_6&QHbHwH-;*_ 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

Aw5b}0xAyTC!c;R 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