Skip to content

Commit f3234e8

Browse files
Redis enterprise Integration- Beta package (#3617)
* Redis enterprise integration beta tested with 5.2 version. * Uses prometheus end-point to export the metrics. * Initial dashboards.
1 parent ad2761e commit f3234e8

File tree

24 files changed

+2252
-0
lines changed

24 files changed

+2252
-0
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@
131131
/packages/rabbitmq @elastic/obs-service-integrations
132132
/packages/radware @elastic/security-external-integrations
133133
/packages/redis @elastic/obs-service-integrations
134+
/packages/redisenterprise @elastic/obs-service-integrations
134135
/packages/santa @elastic/security-external-integrations
135136
/packages/security_detection_engine @elastic/protections
136137
/packages/sentinel_one @elastic/security-external-integrations
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
dependencies:
2+
ecs:
3+
reference: git@v8.2.1
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Redis Enterprise
2+
3+
Redis Enterprise integration provides monitoring of [redis](https://redis.com/) cluster. Monitoring is done via prometheus exported port of redis enterprise cluster. Once a redis enterprise [cluster](https://redis.com/redis-enterprise/technology/redis-enterprise-cluster-architecture/) is installed, prometheus port is available for monitoring. The url of the host:port(8070) needs to be passed to the hosts in the settings.
4+
5+
Redis Enterpise integration is tested with redislabs/redis:5.2.2-24 version.
6+
7+
# Metrics
8+
9+
## Node Metrics
10+
11+
Captures all the node specific exported metrics, matching pattern **"node_*"**
12+
13+
{{event "node"}}
14+
15+
{{fields "node"}}
16+
17+
## Proxy Metrics
18+
19+
Captures all the proxy specific exported metrics, matching pattern **"listener_*"**
20+
21+
{{event "proxy"}}
22+
23+
{{fields "proxy"}}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# newer versions go on top
2+
- version: "0.1.1"
3+
changes:
4+
- description: Minor changes
5+
type: enhancement
6+
link: https://github.com/elastic/integrations/pull/3617
7+
- version: "0.1.0"
8+
changes:
9+
- description: Initial working of the package
10+
type: enhancement
11+
link: https://github.com/elastic/integrations/pull/3617 # FIXME Replace with the real PR link
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
metricsets: ["collector"]
2+
period: {{period}}
3+
4+
# Disable
5+
use_types: false
6+
rate_counters: false
7+
8+
hosts:
9+
{{#each hosts}}
10+
- {{this}}
11+
{{/each}}
12+
13+
# Filters
14+
metrics_filters.include : ["node_*"]
15+
metrics_filters.exclude: ["^up$"]
16+
17+
# Empty path, since prometheus is available on seprate port.
18+
metrics_path:
19+
20+
ssl.verification_mode: "none"
21+
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
description: Pipeline for parsing Redis Enterprise metrics
3+
processors:
4+
- set:
5+
field: ecs.version
6+
value: '8.2.1'
7+
- rename:
8+
field: prometheus
9+
target_field: redisenterprise.node
10+
ignore_missing: true
11+
ignore_failure: true
12+
- foreach:
13+
field: redisenterprise.node.metrics
14+
processor:
15+
gsub:
16+
field: "_ingest._key"
17+
pattern: 'node_'
18+
replacement: ''
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
- name: data_stream.type
2+
type: constant_keyword
3+
description: Data stream type.
4+
- name: data_stream.dataset
5+
type: constant_keyword
6+
description: Data stream dataset.
7+
- name: data_stream.namespace
8+
type: constant_keyword
9+
description: Data stream namespace.
10+
- name: '@timestamp'
11+
type: date
12+
description: Event timestamp.
13+
- name: event.module
14+
type: constant_keyword
15+
description: Event module
16+
- name: event.dataset
17+
type: constant_keyword
18+
description: Event dataset
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
- external: ecs
2+
name: ecs.version
3+
- external: ecs
4+
name: service.address
5+
- external: ecs
6+
name: service.type
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
- name: redisenterprise.node
2+
type: group
3+
release: beta
4+
fields:
5+
- name: metrics.*
6+
# use pattern for matching to ensure future extensibillity.
7+
type: float
8+
description: Node prometheus metrics
9+
- name: labels.*
10+
type: object
11+
object_type: keyword
12+
description: Label fields
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
title: "node"
2+
type: metrics
3+
release: beta
4+
streams:
5+
- input: prometheus/metrics
6+
template_path: stream.yml.hbs
7+
title: Redis Enterprise Metrics
8+
description: Collect node prometheus metrics from Redis Enterprise
9+
vars:
10+
- name: period
11+
type: text
12+
title: Period
13+
default: 10s

0 commit comments

Comments
 (0)