Skip to content

Commit 08dd405

Browse files
authored
Merge pull request #2 from foogaro/redis_enterprise_prometheus_v2_metrics
Redis enterprise prometheus v2 metrics
2 parents dff42e2 + ffbe324 commit 08dd405

39 files changed

+10820
-1
lines changed

.codecov.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,10 @@ coverage:
163163
target: 75
164164
flags:
165165
- redisenterprise
166+
Redis_Enterprise_Prometheus:
167+
target: 75
168+
flags:
169+
- redis_enterprise_prometheus
166170
Redis_Enterprise_V2:
167171
target: 75
168172
flags:
@@ -575,6 +579,11 @@ flags:
575579
paths:
576580
- redis_enterprise/datadog_checks/redis_enterprise
577581
- redis_enterprise/tests
582+
redis_enterprise_prometheus:
583+
carryforward: true
584+
paths:
585+
- redis_enterprise_prometheus/datadog_checks/redis_enterprise_prometheus
586+
- redis_enterprise_prometheus/tests
578587
redis_sentinel:
579588
carryforward: true
580589
paths:

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@
164164
/redisenterprise/ @maguec [email protected] @DataDog/ecosystems-review
165165
/redis_cloud/ @redis-field-engineering [email protected]
166166
/redis_enterprise/ @redis-field-engineering [email protected]
167+
/redis_enterprise_prometheus/ @redis-field-engineering [email protected]
167168
/redis_sentinel/ @DataDog/agent-integrations
168169
/redpanda/ @redpanda-data [email protected]
169170
/resilience4j/ @willianccs [email protected]

.github/workflows/test-all.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1018,6 +1018,25 @@ jobs:
10181018
test-py3: ${{ inputs.test-py3 }}
10191019
setup-env-vars: "${{ inputs.setup-env-vars }}"
10201020
secrets: inherit
1021+
jd9748f1:
1022+
uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
1023+
with:
1024+
job-name: Redis Enterprise Prometheus
1025+
target: redis_enterprise_prometheus
1026+
platform: linux
1027+
runner: '["ubuntu-22.04"]'
1028+
repo: "${{ inputs.repo }}"
1029+
python-version: "${{ inputs.python-version }}"
1030+
standard: ${{ inputs.standard }}
1031+
latest: ${{ inputs.latest }}
1032+
agent-image: "${{ inputs.agent-image }}"
1033+
agent-image-py2: "${{ inputs.agent-image-py2 }}"
1034+
agent-image-windows: "${{ inputs.agent-image-windows }}"
1035+
agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
1036+
test-py2: ${{ inputs.test-py2 }}
1037+
test-py3: ${{ inputs.test-py3 }}
1038+
setup-env-vars: "${{ inputs.setup-env-vars }}"
1039+
secrets: inherit
10211040
ja8f7203:
10221041
uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
10231042
with:

redis_enterprise/assets/dashboards/redis_enterprise_proxy.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{
1+
{
22
"title": "Redis Enterprise - Proxy",
33
"description": "Redis Enterprise Proxy presents a single, usable endpoint that hides topological complexity",
44
"widgets": [
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# CHANGELOG - Redis Enterprise
2+
3+
## 2.0.1 / 2025-02-28
4+
5+
***Added***:
6+
7+
* Added Search metrics to metadata
8+
* Added Search Dashboard
9+
10+
## 2.0.0 / 2025-02-28
11+
12+
***Changed***:
13+
14+
* Redis v2 metrics
15+
* Renamed prefix to rdse2
16+
* Renamed Groups
17+
18+
***Added***:
19+
20+
* Added Security Dashboard
21+
22+
## 1.1.2 / 2025-02-28
23+
24+
***Changed***:
25+
26+
* Update `tls_verify` handling in check code to ensure default is set to 'True'
27+
28+
## 1.1.1 / 2025-01-21
29+
30+
***Changed***:
31+
32+
* Represent used memory as a percentage in Shard and Database dashboards
33+
34+
## 1.1.0 / 2024-10-06
35+
36+
***Changed***:
37+
38+
* Renamed Replication as Active-Active
39+
40+
***Added***:
41+
42+
* Added Shard dashboard
43+
* Added Proxy Threads dashboard
44+
45+
## 1.0.1 / 2024-08-09
46+
47+
***Changed***:
48+
49+
* Fixed issue with extra_metrics not being reported
50+
* Updated configuration documentation
51+
52+
***Added***:
53+
54+
* Added Replication and Proxy Dashboards
55+
* Added tests to check all additional metrics
56+
* Added node_cert_expiration_seconds to Node metrics
57+
58+
## 1.0.0 / 2024-05-02
59+
60+
***Added***:
61+
62+
* Initial Release
63+

redis_enterprise_prometheus/README.md

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# Agent Check: Redis Enterprise Prometheus
2+
3+
## Overview
4+
5+
Redis is a fast, versatile data store that supports a variety of data structures, including strings, hashes, lists, sets, streams, and more. It also offers programmability, extensibility, persistence, clustering, and high availability. The community edition of Redis adds additional data models and capabilities, which include vector search, probabilistic data structures, JSON support, and full-text search.
6+
7+
This integration works with on-premises and private cloud installations of [Redis Enterprise][1] using Prometheus metrics.
8+
The integration provides metrics for four critical cluster components: clusters, databases, nodes, and shards. This allows you to monitor database throughput, memory utilization, CPU usage, connection counts, replication health, and a variety of additional metrics within Datadog.
9+
You can use this information to understand the overall health of your Redis Enterprise clusters, diagnose application performance issues, and prevent downtime.
10+
11+
For a full list of supported metrics, see the [Metrics](#metrics) section below.
12+
13+
## Setup
14+
15+
### Installation
16+
17+
1. Run the following command to install the Agent integration:
18+
```shell
19+
datadog-agent integration install -t datadog-redis_enterprise_prometheus==2.0.1
20+
```
21+
22+
2. Configure the integration by setting the `openmetrics_endpoint` to your cluster's master node. See [Integration][2] for further information.
23+
24+
3. [Restart][3] the agent.
25+
26+
27+
### Configuration
28+
29+
Set the `openmetrics_endpoint` to point to your cluster. See the [example][4]. Leave `tls_verify` set to false.
30+
31+
There are two optional parameters: `extra_metrics` and `excluded_metrics`, as noted in the example configuration file.
32+
33+
The extra_metrics parameter takes a list of metric groups. The following are the available groups: REDIS2.REPLICATION,
34+
REDIS2.SHARDREPL, REDIS2.LDAP, REDIS2.NETWORK, REDIS2.MEMORY, REDIS2.X509, REDIS2.DISK, REDIS2.FILESYSTEM, REDIS2.PROCESS, REDIS2.PRESSURE, REDIS2.FLASH, REDIS2.SEARCH. The default metrics groups RDSE2.REDIS_CLUSTER,
35+
RDSE2.REDIS_DATABASE, RDSE2.REDIS_SHARD, RDSE2.REDIS_INFO, and RDSE2.REDIS_NODE are automatically inserted by the integration.
36+
37+
The exclude_metrics parameter takes a list of individual metrics to exclude, meaning that this information will not be
38+
passed on to Datadog. The individual metrics should be stripped of their prefix, e.g., 'rdse2.generation' would
39+
become 'generation'. The full list of metrics is available on the 'Data Collected' tab of the integration page, or via the link in the [Metrics](#metrics) section.
40+
The following groups use the associated prefixes, which can be used to search for individual metrics on
41+
the data collected page.
42+
43+
| Group | Prefix | Notes |
44+
|--------------------------|----------------------------|------------------------------------------------------|
45+
| RDSE2.REDIS_CLUSTER | rdse2. | Cluster-level metrics |
46+
| RDSE2.REDIS_DATABASE | rdse2.endpoint_ | Database endpoint metrics |
47+
| RDSE2.REDIS_SHARD | rdse2.redis_server_ | Shard-level Redis server metrics |
48+
| RDSE2.REDIS_NODE | rdse2.node_ | Node-level metrics including x509 certificates |
49+
| RDSE2.REDIS_INFO | rdse2.node_ | Node information metrics |
50+
| REDIS2.REPLICATION | rdse2.database_syncer_ | Database replication metrics |
51+
| REDIS2.SHARDREPL | rdse2.redis_crdt_ | Shard-level CRDT replication metrics |
52+
| REDIS2.LDAP | rdse2.directory_ | LDAP directory service metrics |
53+
| REDIS2.NETWORK | rdse2.node_network_ | Network interface metrics |
54+
| REDIS2.MEMORY | rdse2.node_memory_ | Memory usage metrics |
55+
| REDIS2.X509 | rdse2.x509_ | X509 certificate metrics |
56+
| REDIS2.DISK | rdse2.node_disk_ | Disk I/O metrics |
57+
| REDIS2.FILESYSTEM | rdse2.node_filesystem_ | Filesystem usage metrics |
58+
| REDIS2.PROCESS | rdse2.node_processes_ | Process metrics |
59+
| REDIS2.PRESSURE | rdse2.node_pressure_ | System pressure metrics |
60+
| REDIS2.FLASH | rdse2.node_*_flash | Flash storage metrics |
61+
| REDIS2.SEARCH | rdse2.redis_server_search_ | RediSearch module metrics |
62+
63+
### Validation
64+
65+
1. Ensure you can ping the machine, particularly in a cloud environment. Run `wget --no-check-certificate <endpoint>`
66+
or `curl -k <endpoint>` to ensure that you can receive metrics.
67+
68+
2. Check the [status][5] of the Datadog agent.
69+
70+
71+
## Data Collected
72+
73+
The current release gathers all metrics for clusters, databases, nodes, and shards. By default, it collects metrics from the following groups: RDSE2.REDIS_CLUSTER, RDSE2.REDIS_DATABASE, RDSE2.REDIS_SHARD, RDSE2.REDIS_NODE, and RDSE2.REDIS_INFO. Optionally, via the extra_metrics parameter,
74+
data for replication, LDAP, network, memory, X509 certificates, disk, filesystem, processes, pressure, flash storage, and search can be gathered; see the list in the [Configuration](#configuration) section.
75+
76+
77+
### Metrics
78+
79+
See [metadata.csv][6] for a list of metrics provided by this integration.
80+
81+
82+
### Service Checks
83+
84+
Redis Enterprise does not include any service checks.
85+
86+
87+
### Events
88+
89+
Redis Enterprise does not include any events.
90+
91+
92+
## Troubleshooting
93+
94+
Need help? Please contact [Redis Support][8].
95+
96+
[1]: https://redis.com/redis-enterprise-software/overview/
97+
[2]: https://docs.datadoghq.com/getting_started/integrations/
98+
[3]: https://docs.datadoghq.com/agent/guide/agent-commands/#start-stop-and-restart-the-agent
99+
[4]: https://github.com/DataDog/integrations-extras/blob/master/redis_enterprise_prometheus/datadog_checks/redis_enterprise_prometheus/data/conf.yaml.example
100+
[5]: https://docs.datadoghq.com/agent/guide/agent-commands/#agent-status-and-information
101+
[6]: https://github.com/DataDog/integrations-extras/blob/master/redis_enterprise_prometheus/metadata.csv
102+
[7]: mailto:[email protected]
103+
[8]: https://redis.io/support/
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
name: Redis Enterprise Prometheus
2+
files:
3+
- name: redis_enterprise_prometheus.yaml
4+
options:
5+
- template: init_config
6+
options:
7+
- template: init_config/default
8+
- template: instances
9+
options:
10+
- template: instances/default

0 commit comments

Comments
 (0)