Skip to content

Commit a186ea7

Browse files
authored
Add Stack Monitoring usage reporting (#4708) (#4711)
1 parent 2f88655 commit a186ea7

File tree

2 files changed

+32
-5
lines changed

2 files changed

+32
-5
lines changed

pkg/telemetry/telemetry.go

+13-3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
kbv1 "github.com/elastic/cloud-on-k8s/pkg/apis/kibana/v1"
1919
mapsv1alpha1 "github.com/elastic/cloud-on-k8s/pkg/apis/maps/v1alpha1"
2020
"github.com/elastic/cloud-on-k8s/pkg/controller/common/reconciler"
21+
"github.com/elastic/cloud-on-k8s/pkg/controller/common/stackmon/monitoring"
2122
"github.com/elastic/cloud-on-k8s/pkg/controller/kibana"
2223
"github.com/elastic/cloud-on-k8s/pkg/license"
2324
"github.com/elastic/cloud-on-k8s/pkg/utils/k8s"
@@ -29,9 +30,11 @@ import (
2930
)
3031

3132
const (
32-
autoscaledResourceCount = "autoscaled_resource_count"
33-
resourceCount = "resource_count"
34-
podCount = "pod_count"
33+
autoscaledResourceCount = "autoscaled_resource_count"
34+
resourceCount = "resource_count"
35+
podCount = "pod_count"
36+
stackMonitoringLogsCount = "stack_monitoring_logs_count"
37+
stackMonitoringMetricsCount = "stack_monitoring_metrics_count"
3538

3639
timestampFieldName = "timestamp"
3740
)
@@ -192,11 +195,18 @@ func esStats(k8sClient k8s.Client, managedNamespaces []string) (string, interfac
192195
}
193196

194197
for _, es := range esList.Items {
198+
es := es
195199
stats[resourceCount]++
196200
stats[podCount] += es.Status.AvailableNodes
197201
if es.IsAutoscalingDefined() {
198202
stats[autoscaledResourceCount]++
199203
}
204+
if monitoring.IsLogsDefined(&es) {
205+
stats[stackMonitoringLogsCount]++
206+
}
207+
if monitoring.IsMetricsDefined(&es) {
208+
stats[stackMonitoringMetricsCount]++
209+
}
200210
}
201211
}
202212
return "elasticsearches", stats, nil

pkg/telemetry/telemetry_test.go

+19-2
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,21 @@ func TestNewReporter(t *testing.T) {
155155
AvailableNodes: 6,
156156
},
157157
},
158+
&esv1.Elasticsearch{
159+
ObjectMeta: metav1.ObjectMeta{
160+
Namespace: "ns1",
161+
Name: "monitored",
162+
},
163+
Spec: esv1.ElasticsearchSpec{
164+
Monitoring: esv1.Monitoring{
165+
Logs: esv1.LogsMonitoring{ElasticsearchRefs: []commonv1.ObjectSelector{{Name: "monitoring"}}},
166+
Metrics: esv1.MetricsMonitoring{ElasticsearchRefs: []commonv1.ObjectSelector{{Name: "monitoring"}}},
167+
},
168+
},
169+
Status: esv1.ElasticsearchStatus{
170+
AvailableNodes: 1,
171+
},
172+
},
158173
&apmv1.ApmServer{
159174
ObjectMeta: metav1.ObjectMeta{
160175
Namespace: "ns1",
@@ -321,8 +336,10 @@ func TestNewReporter(t *testing.T) {
321336
resource_count: 2
322337
elasticsearches:
323338
autoscaled_resource_count: 1
324-
pod_count: 9
325-
resource_count: 2
339+
pod_count: 10
340+
resource_count: 3
341+
stack_monitoring_logs_count: 1
342+
stack_monitoring_metrics_count: 1
326343
enterprisesearches:
327344
pod_count: 3
328345
resource_count: 1

0 commit comments

Comments
 (0)