github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/application/applications/monitoring/config/dashboards.go (about) 1 package config 2 3 import ( 4 "path/filepath" 5 6 toolsetslatest "github.com/caos/orbos/internal/operator/boom/api/latest" 7 ) 8 9 var orgID = 0 10 11 func getGrafanaDashboards(dashboardsfolder string, toolsetCRDSpec *toolsetslatest.ToolsetSpec) []*Provider { 12 providers := make([]*Provider, 0) 13 if toolsetCRDSpec.APIGateway != nil && toolsetCRDSpec.APIGateway.Deploy && 14 toolsetCRDSpec.MetricsPersisting != nil && (toolsetCRDSpec.MetricsPersisting.Metrics == nil || toolsetCRDSpec.MetricsPersisting.Metrics.Ambassador) { 15 provider := &Provider{ 16 ConfigMaps: []string{ 17 "grafana-dashboard-ambassador-envoy-global", 18 "grafana-dashboard-ambassador-envoy-ingress", 19 "grafana-dashboard-ambassador-envoy-service", 20 }, 21 Folder: filepath.Join(dashboardsfolder, "ambassador"), 22 } 23 providers = append(providers, provider) 24 } 25 26 if toolsetCRDSpec.Reconciling != nil && toolsetCRDSpec.Reconciling.Deploy && 27 toolsetCRDSpec.MetricsPersisting != nil && (toolsetCRDSpec.MetricsPersisting.Metrics == nil || toolsetCRDSpec.MetricsPersisting.Metrics.Argocd) { 28 provider := &Provider{ 29 ConfigMaps: []string{ 30 "grafana-dashboard-argocd", 31 }, 32 Folder: filepath.Join(dashboardsfolder, "argocd"), 33 } 34 providers = append(providers, provider) 35 } 36 37 nodeExporterDeployed := toolsetCRDSpec.NodeMetricsExporter != nil && toolsetCRDSpec.NodeMetricsExporter.Deploy && 38 toolsetCRDSpec.MetricsPersisting != nil && (toolsetCRDSpec.MetricsPersisting.Metrics == nil || toolsetCRDSpec.MetricsPersisting.Metrics.PrometheusNodeExporter) 39 if nodeExporterDeployed { 40 provider := &Provider{ 41 ConfigMaps: []string{ 42 "grafana-dashboard-node-cluster-rsrc-use", 43 "grafana-dashboard-node-rsrc-use", 44 }, 45 Folder: filepath.Join(dashboardsfolder, "prometheusnodeexporter"), 46 } 47 providers = append(providers, provider) 48 } 49 50 if toolsetCRDSpec.LogCollection != nil && toolsetCRDSpec.LogCollection.Deploy && 51 toolsetCRDSpec.MetricsPersisting != nil && (toolsetCRDSpec.MetricsPersisting.Metrics == nil || toolsetCRDSpec.MetricsPersisting.Metrics.LoggingOperator) { 52 provider := &Provider{ 53 ConfigMaps: []string{ 54 "grafana-dashboard-logging-dashboard-rev3", 55 }, 56 Folder: filepath.Join(dashboardsfolder, "loggingoperator"), 57 } 58 providers = append(providers, provider) 59 } 60 61 kubeStateMetricsDeployed := toolsetCRDSpec.KubeMetricsExporter != nil && toolsetCRDSpec.KubeMetricsExporter.Deploy && 62 toolsetCRDSpec.MetricsPersisting != nil && (toolsetCRDSpec.MetricsPersisting.Metrics == nil || toolsetCRDSpec.MetricsPersisting.Metrics.KubeStateMetrics) 63 if kubeStateMetricsDeployed { 64 provider := &Provider{ 65 ConfigMaps: []string{ 66 "grafana-persistentvolumesusage", 67 }, 68 Folder: filepath.Join(dashboardsfolder, "persistentvolumesusage"), 69 } 70 providers = append(providers, provider) 71 } 72 73 if toolsetCRDSpec.MetricsPersisting != nil && (toolsetCRDSpec.MetricsPersisting.Metrics == nil || toolsetCRDSpec.MetricsPersisting.Metrics.Boom) { 74 provider := &Provider{ 75 ConfigMaps: []string{ 76 "grafana-dashboard-boom", 77 }, 78 Folder: filepath.Join(dashboardsfolder, "boom"), 79 } 80 providers = append(providers, provider) 81 } 82 83 if toolsetCRDSpec.MetricsPersisting != nil && (toolsetCRDSpec.MetricsPersisting.Metrics == nil || toolsetCRDSpec.MetricsPersisting.Metrics.Zitadel) { 84 provider := &Provider{ 85 ConfigMaps: []string{ 86 "grafana-dashboard-zitadel-cockroachdb-replicas", 87 "grafana-dashboard-zitadel-cockroachdb-runtime", 88 "grafana-dashboard-zitadel-cockroachdb-sql", 89 "grafana-dashboard-zitadel-cockroachdb-storage", 90 "grafana-dashboard-zitadel-health", 91 "grafana-dashboard-zitadel-health-details", 92 "grafana-dashboard-zitadel", 93 }, 94 Folder: filepath.Join(dashboardsfolder, "zitadel"), 95 } 96 providers = append(providers, provider) 97 } 98 99 systemdExporterDeployed := toolsetCRDSpec.SystemdMetricsExporter != nil && toolsetCRDSpec.SystemdMetricsExporter.Deploy && 100 toolsetCRDSpec.MetricsPersisting != nil && (toolsetCRDSpec.MetricsPersisting.Metrics == nil || toolsetCRDSpec.MetricsPersisting.Metrics.PrometheusSystemdExporter) 101 if systemdExporterDeployed && kubeStateMetricsDeployed && nodeExporterDeployed { 102 provider := &Provider{ 103 ConfigMaps: []string{ 104 "grafana-dashboard-cluster-health", 105 "grafana-dashboard-instance-health", 106 "grafana-dashboard-probes-health", 107 }, 108 Folder: filepath.Join(dashboardsfolder, "health"), 109 } 110 providers = append(providers, provider) 111 } 112 113 provider := &Provider{ 114 ConfigMaps: []string{ 115 "grafana-dashboard-kubelet", 116 }, 117 Folder: filepath.Join(dashboardsfolder, "kubelet"), 118 } 119 providers = append(providers, provider) 120 121 return providers 122 }