Skip to content

Commit eece248

Browse files
feat(es-otel): Add elasticsearch otel definitions for prod (#2581)
* feat(es-otel): Add elasticsearch otel definations for prod * fix(es-otel): Update golden metrics function for validation failure * fix(es-otel): Update rel name for staging * fix(es-otel): Remove unused staging file * fix(es-otel): Update owner for entity definations
1 parent a41c9fe commit eece248

18 files changed

+423
-200
lines changed

entity-types/infra-elasticsearchcluster/definition.stg.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ synthesis:
2424
value: "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver"
2525
- attribute: elasticsearch.cluster.name
2626
present: true
27+
- attribute: elasticsearch.node.name
28+
present: false
2729
tags:
2830
otel.library.name:
2931
entityTagName: instrumentation.name
@@ -42,6 +44,8 @@ synthesis:
4244
value: "otelcol/elasticsearchreceiver"
4345
- attribute: elasticsearch.cluster.name
4446
present: true
47+
- attribute: elasticsearch.node.name
48+
present: false
4549
tags:
4650
otel.library.name:
4751
entityTagName: instrumentation.name
@@ -60,6 +64,8 @@ synthesis:
6064
value: 'api.logs.otlp'
6165
- attribute: elasticsearch.cluster.name
6266
present: true
67+
- attribute: elasticsearch.node.name
68+
present: false
6369
tags:
6470
instrumentation.provider:
6571
entityTagName: instrumentation.name
@@ -84,8 +90,8 @@ dashboardTemplates:
8490
newRelic:
8591
template: newrelic_dashboard.stg.json
8692
opentelemetry:
87-
template: opentelemetry_dashboard.stg.json
93+
template: opentelemetry_dashboard.json
8894

8995
ownership:
9096
primaryOwner:
91-
teamName: "no owner"
97+
teamName: "OnHost Agent and Integrations"
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
domain: INFRA
2+
type: ELASTICSEARCHCLUSTER
3+
4+
goldenTags:
5+
- elasticsearch.cluster.name
6+
- host.name
7+
8+
configuration:
9+
entityExpirationTime: DAILY
10+
alertable: true
11+
12+
synthesis:
13+
rules:
14+
- ruleName: infra_elasticsearchcluster_elasticsearch_cluster_name
15+
identifier: elasticsearch.cluster.name
16+
name: elasticsearch.cluster.name
17+
encodeIdentifierInGUID: true
18+
conditions:
19+
- attribute: eventType
20+
value: Metric
21+
- attribute: instrumentation.provider
22+
value: opentelemetry
23+
- attribute: otel.library.name
24+
value: "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver"
25+
- attribute: elasticsearch.cluster.name
26+
present: true
27+
- attribute: elasticsearch.node.name
28+
present: false
29+
tags:
30+
otel.library.name:
31+
entityTagName: instrumentation.name
32+
elasticsearch.cluster.name:
33+
host.name:
34+
- ruleName: infra_elasticsearchcluster_elasticsearch_cluster_name_2
35+
identifier: elasticsearch.cluster.name
36+
name: elasticsearch.cluster.name
37+
encodeIdentifierInGUID: true
38+
conditions:
39+
- attribute: eventType
40+
value: Metric
41+
- attribute: instrumentation.provider
42+
value: opentelemetry
43+
- attribute: otel.library.name
44+
value: "otelcol/elasticsearchreceiver"
45+
- attribute: elasticsearch.cluster.name
46+
present: true
47+
- attribute: elasticsearch.node.name
48+
present: false
49+
tags:
50+
otel.library.name:
51+
entityTagName: instrumentation.name
52+
elasticsearch.cluster.name:
53+
host.name:
54+
- ruleName: infra_elasticsearchcluster_elasticsearch_cluster_name_3
55+
identifier: elasticsearch.cluster.name
56+
name: elasticsearch.cluster.name
57+
encodeIdentifierInGUID: true
58+
conditions:
59+
- attribute: eventType
60+
value: Log
61+
- attribute: instrumentation.provider
62+
value: opentelemetry
63+
- attribute: newrelic.source
64+
value: 'api.logs.otlp'
65+
- attribute: elasticsearch.cluster.name
66+
present: true
67+
- attribute: elasticsearch.node.name
68+
present: false
69+
tags:
70+
instrumentation.provider:
71+
entityTagName: instrumentation.name
72+
elasticsearch.cluster.name:
73+
host.name:
74+
75+
dashboardTemplates:
76+
opentelemetry:
77+
template: opentelemetry_dashboard.json
78+
79+
ownership:
80+
primaryOwner:
81+
teamName: "OnHost Agent and Integrations"

entity-types/infra-elasticsearchcluster/golden_metrics.stg.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
clusterHealth:
22
title: Cluster Health
3-
displayAsValue: true
43
queries:
54
opentelemetry:
6-
select: latest(status)
5+
select: latest(elasticsearch.cluster.health)
76
from: Metric
7+
where: metricName = 'elasticsearch.cluster.health'
8+
facet: status
89
eventId: entity.guid
910
eventName: entity.name
1011
newRelic:
@@ -18,6 +19,7 @@ clusterDataNode:
1819
opentelemetry:
1920
select: average(elasticsearch.cluster.data_nodes)
2021
from: Metric
22+
where: metricName = 'elasticsearch.cluster.data_nodes'
2123
eventId: entity.guid
2224
eventName: entity.name
2325
newRelic:
@@ -31,6 +33,7 @@ clusterNode:
3133
opentelemetry:
3234
select: average(elasticsearch.cluster.nodes)
3335
from: Metric
36+
where: metricName = 'elasticsearch.cluster.nodes'
3437
eventId: entity.guid
3538
eventName: entity.name
3639
newRelic:
@@ -44,7 +47,7 @@ clusterActiveShard:
4447
opentelemetry:
4548
select: average(elasticsearch.cluster.shards)
4649
from: Metric
47-
where: state='active'
50+
where: metricName = 'elasticsearch.cluster.shards' AND state='active'
4851
eventId: entity.guid
4952
eventName: entity.name
5053
clusterInitializingShard:
@@ -53,7 +56,7 @@ clusterInitializingShard:
5356
opentelemetry:
5457
select: average(elasticsearch.cluster.shards)
5558
from: Metric
56-
where: state='initializing'
59+
where: metricName = 'elasticsearch.cluster.shards' AND state='initializing'
5760
eventId: entity.guid
5861
eventName: entity.name
5962
clusterPrimaryActiveShard:
@@ -62,7 +65,7 @@ clusterPrimaryActiveShard:
6265
opentelemetry:
6366
select: average(elasticsearch.cluster.shards)
6467
from: Metric
65-
where: state='active_primary'
68+
where: metricName = 'elasticsearch.cluster.shards' AND state='active_primary'
6669
eventId: entity.guid
6770
eventName: entity.name
6871
clusterRelocatingShard:
@@ -71,7 +74,7 @@ clusterRelocatingShard:
7174
opentelemetry:
7275
select: average(elasticsearch.cluster.shards)
7376
from: Metric
74-
where: state='relocating'
77+
where: metricName = 'elasticsearch.cluster.shards' AND state='relocating'
7578
eventId: entity.guid
7679
eventName: entity.name
7780
clusterUnassignedShard:
@@ -80,7 +83,7 @@ clusterUnassignedShard:
8083
opentelemetry:
8184
select: average(elasticsearch.cluster.shards)
8285
from: Metric
83-
where: state='unassigned'
86+
where: metricName = 'elasticsearch.cluster.shards' AND state='unassigned'
8487
eventId: entity.guid
8588
eventName: entity.name
8689
newRelic:
@@ -89,10 +92,11 @@ clusterUnassignedShard:
8992
eventId: entityGuid
9093
eventName: entityName
9194
clusterPendingTask:
92-
title: Cluster Pending Task
95+
title: Cluster Pending Tasks
9396
queries:
9497
opentelemetry:
9598
select: latest(elasticsearch.cluster.pending_tasks)
9699
from: Metric
100+
where: metricName = 'elasticsearch.cluster.pending_tasks'
97101
eventId: entity.guid
98102
eventName: entity.name
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
clusterHealth:
2+
title: Cluster Health
3+
queries:
4+
opentelemetry:
5+
select: latest(elasticsearch.cluster.health)
6+
from: Metric
7+
where: metricName = 'elasticsearch.cluster.health'
8+
facet: status
9+
eventId: entity.guid
10+
eventName: entity.name
11+
clusterDataNode:
12+
title: Cluster Data Node
13+
queries:
14+
opentelemetry:
15+
select: average(elasticsearch.cluster.data_nodes)
16+
from: Metric
17+
where: metricName = 'elasticsearch.cluster.data_nodes'
18+
eventId: entity.guid
19+
eventName: entity.name
20+
clusterNode:
21+
title: Cluster Node
22+
queries:
23+
opentelemetry:
24+
select: average(elasticsearch.cluster.nodes)
25+
from: Metric
26+
where: metricName = 'elasticsearch.cluster.nodes'
27+
eventId: entity.guid
28+
eventName: entity.name
29+
clusterActiveShard:
30+
title: Cluster Active Shard
31+
queries:
32+
opentelemetry:
33+
select: average(elasticsearch.cluster.shards)
34+
from: Metric
35+
where: metricName = 'elasticsearch.cluster.shards' AND state='active'
36+
eventId: entity.guid
37+
eventName: entity.name
38+
clusterInitializingShard:
39+
title: Cluster Initializing Shard
40+
queries:
41+
opentelemetry:
42+
select: average(elasticsearch.cluster.shards)
43+
from: Metric
44+
where: metricName = 'elasticsearch.cluster.shards' AND state='initializing'
45+
eventId: entity.guid
46+
eventName: entity.name
47+
clusterPrimaryActiveShard:
48+
title: Cluster Primary Active Shard
49+
queries:
50+
opentelemetry:
51+
select: average(elasticsearch.cluster.shards)
52+
from: Metric
53+
where: metricName = 'elasticsearch.cluster.shards' AND state='active_primary'
54+
eventId: entity.guid
55+
eventName: entity.name
56+
clusterRelocatingShard:
57+
title: Cluster Relocating Shard
58+
queries:
59+
opentelemetry:
60+
select: average(elasticsearch.cluster.shards)
61+
from: Metric
62+
where: metricName = 'elasticsearch.cluster.shards' AND state='relocating'
63+
eventId: entity.guid
64+
eventName: entity.name
65+
clusterUnassignedShard:
66+
title: Cluster Unassigned Shard
67+
queries:
68+
opentelemetry:
69+
select: average(elasticsearch.cluster.shards)
70+
from: Metric
71+
where: metricName = 'elasticsearch.cluster.shards' AND state='unassigned'
72+
eventId: entity.guid
73+
eventName: entity.name
74+
clusterPendingTask:
75+
title: Cluster Pending Tasks
76+
queries:
77+
opentelemetry:
78+
select: latest(elasticsearch.cluster.pending_tasks)
79+
from: Metric
80+
where: metricName = 'elasticsearch.cluster.pending_tasks'
81+
eventId: entity.guid
82+
eventName: entity.name

0 commit comments

Comments
 (0)