Redis Enterprise
Collect metrics from Redis Enterprise Cluster
Version |
0.9.0 (View all) |
Compatible Kibana version(s) |
8.9.0 or higher |
Supported Serverless project types |
Security Observability |
Subscription level |
Basic |
Level of support |
Elastic |
Redis Enterprise integration provides monitoring of redis cluster. Monitoring is done via prometheus exported port of redis enterprise cluster. Once a redis enterprise cluster 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.
Compatibility
Tested with Redis Enterprise v7.2.4.
Metrics
Node Metrics
Captures all the node specific exported metrics, matching pattern "node_*"
An example event for node
looks as following:
{
"agent": {
"name": "docker-fleet-agent",
"id": "8412e9e5-6fd3-4587-bc60-1fba76200570",
"type": "metricbeat",
"ephemeral_id": "cc4072b4-71a6-40be-ad91-7245b283f11d",
"version": "8.10.4"
},
"@timestamp": "2023-10-27T08:01:51.865Z",
"ecs": {
"version": "8.5.1"
},
"service": {
"address": "https://host.docker.internal:8070/metrics",
"type": "prometheus"
},
"data_stream": {
"namespace": "default",
"type": "metrics",
"dataset": "redisenterprise.node"
},
"host": {
"hostname": "docker-fleet-agent",
"os": {
"kernel": "5.10.104-linuxkit",
"codename": "focal",
"name": "Ubuntu",
"type": "linux",
"family": "debian",
"version": "20.04.6 LTS (Focal Fossa)",
"platform": "ubuntu"
},
"containerized": false,
"ip": [
"172.19.0.7"
],
"name": "docker-fleet-agent",
"id": "5bf910baf91142d6b435357818c88ef5",
"mac": [
"02-42-AC-13-00-07"
],
"architecture": "aarch64"
},
"elastic_agent": {
"id": "8412e9e5-6fd3-4587-bc60-1fba76200570",
"version": "8.10.4",
"snapshot": false
},
"redisenterprise": {
"node": {
"labels": {
"cluster": "cluster.local",
"node": "1",
"instance": "host.docker.internal:8070",
"job": "prometheus"
},
"cpu_iowait_min": {
"value": 0.001
},
"cpu_nice_min": {
"value": 0
},
"cur_aof_rewrites": {
"value": 0
},
"cpu_system_max": {
"value": 0.037
},
"persistent_storage_avail": {
"value": 50210169287.111
},
"cpu_irqs_min": {
"value": 0.003
},
"cpu_idle_max": {
"value": 0.751
},
"ephemeral_storage_avail": {
"value": 50210169287.111
},
"egress_bytes": {
"value": 1342.5556666666669
},
"cpu_system_median": {
"value": 0.036
},
"total_req": {
"value": 0
},
"cpu_system_min": {
"value": 0.034
},
"persistent_storage_free": {
"value": 53426885063.111
},
"cpu_user_min": {
"value": 0.192
},
"egress_bytes_median": {
"value": 1569.778
},
"cpu_user_median": {
"value": 0.195
},
"cpu_steal_median": {
"value": 0
},
"egress_bytes_min": {
"value": 885.889
},
"ingress_bytes_min": {
"value": 242
},
"conns": {
"value": 0
},
"cpu_steal_min": {
"value": 0
},
"cpu_user": {
"value": 0.19533333333333336
},
"free_memory": {
"value": 257662065.778
},
"cpu_idle": {
"value": 0.7493333333333334
},
"cpu_system": {
"value": 0.03566666666666667
},
"cpu_steal_max": {
"value": 0
},
"cpu_nice": {
"value": 0
},
"available_memory": {
"value": 146729029.556
},
"ingress_bytes": {
"value": 258.815
},
"cpu_user_max": {
"value": 0.199
}
}
},
"metricset": {
"period": 10000,
"name": "collector"
},
"event": {
"duration": 240631792,
"agent_id_status": "verified",
"ingested": "2023-10-27T08:01:52Z",
"module": "prometheus",
"dataset": "redisenterprise.node"
}
}
Exported fields
Field | Description | Type | Metric Type |
---|---|---|---|
@timestamp | Event timestamp. | date | |
agent.id | Unique identifier of this agent (if one exists). Example: For Beats this would be beat.id. | keyword | |
cloud.account.id | The cloud account or organization id used to identify different entities in a multi-tenant environment. Examples: AWS account id, Google Cloud ORG Id, or other unique identifier. | keyword | |
cloud.availability_zone | Availability zone in which this host, resource, or service is located. | keyword | |
cloud.instance.id | Instance ID of the host machine. | keyword | |
cloud.provider | Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean. | keyword | |
cloud.region | Region in which this host, resource, or service is located. | keyword | |
container.id | Unique container id. | keyword | |
data_stream.dataset | Data stream dataset. | constant_keyword | |
data_stream.namespace | Data stream namespace. | constant_keyword | |
data_stream.type | Data stream type. | constant_keyword | |
ecs.version | ECS version this event conforms to. ecs.version is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events. | keyword | |
event.dataset | Event dataset | constant_keyword | |
event.module | Event module | constant_keyword | |
host.name | Name of the host. It can contain what hostname returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use. | keyword | |
redisenterprise.node.*.value | Node metrics. | object | gauge |
redisenterprise.node.labels.addr | Network address or IP address of the node. | keyword | |
redisenterprise.node.labels.cluster | name of the cluster to which the node belongs. | keyword | |
redisenterprise.node.labels.cnm_version | Version of the Redis Enterprise cluster node management software that the node is running. | keyword | |
redisenterprise.node.labels.instance | The <host>:<port> or network address or endpoint of the Redis Enterprise node. | keyword | |
redisenterprise.node.labels.job | Configured job name like prometheus. | keyword | |
redisenterprise.node.labels.logical_name | Logical name or role of the node within the cluster. | keyword | |
redisenterprise.node.labels.node | Specific node within the cluster | keyword | |
redisenterprise.node.labels.path | Specifies the file path to the certificate file associated with the node and role. | keyword | |
service.address | Address where data about this service was collected from. This should be a URI, network address (ipv4:port or [ipv6]:port) or a resource path (sockets). | keyword | |
service.type | The type of the service data is collected from. The type can be used to group and correlate logs and metrics from one service type. Example: If logs or metrics are collected from Elasticsearch, service.type would be elasticsearch . | keyword |
Proxy Metrics
Captures all the proxy specific exported metrics, matching pattern "listener_*"
An example event for proxy
looks as following:
{
"agent": {
"name": "docker-fleet-agent",
"id": "e275fc30-5606-41f2-a4f9-c30819350b25",
"ephemeral_id": "d53c023d-a17d-40d1-b9bc-4850df49633a",
"type": "metricbeat",
"version": "8.10.4"
},
"@timestamp": "2023-10-27T09:02:20.616Z",
"ecs": {
"version": "8.5.1"
},
"data_stream": {
"namespace": "default",
"type": "metrics",
"dataset": "redisenterprise.proxy"
},
"service": {
"address": "https://host.docker.internal:8070/metrics",
"type": "prometheus"
},
"elastic_agent": {
"id": "e275fc30-5606-41f2-a4f9-c30819350b25",
"version": "8.10.4",
"snapshot": false
},
"host": {
"hostname": "docker-fleet-agent",
"os": {
"kernel": "5.10.104-linuxkit",
"codename": "focal",
"name": "Ubuntu",
"type": "linux",
"family": "debian",
"version": "20.04.6 LTS (Focal Fossa)",
"platform": "ubuntu"
},
"containerized": false,
"ip": [
"172.22.0.7"
],
"name": "docker-fleet-agent",
"id": "5bf910baf91142d6b435357818c88ef5",
"mac": [
"02-42-AC-16-00-07"
],
"architecture": "aarch64"
},
"redisenterprise": {
"proxy": {
"listener_resp2_clients_max": {
"counter": 0
},
"listener_egress_bytes": {
"counter": 0
},
"listener_last_req_time": {
"counter": 0
},
"listener_other_res": {
"counter": 0
},
"listener_ingress_bytes_max": {
"counter": 0
},
"listener_total_connections_received_max": {
"counter": 0
},
"listener_other_req": {
"counter": 0
},
"listener_resp3_clients_max": {
"counter": 0
},
"listener_sconn_hello_setuser_max": {
"counter": 0
},
"listener_other_res_max": {
"counter": 0
},
"listener_write_req_max": {
"counter": 0
},
"listener_cmd_touch_max": {
"counter": 0
},
"listener_egress_bytes_max": {
"counter": 0
},
"listener_sconn_hello_setresp": {
"counter": 0
},
"listener_auth_cmds_max": {
"counter": 0
},
"listener_read_res": {
"counter": 0
},
"listener_resp3_clients": {
"counter": 0
},
"listener_read_req": {
"counter": 0
},
"listener_total_res": {
"counter": 0
},
"listener_max_connections_exceeded_max": {
"counter": 0
},
"listener_sconn_hello_setuser": {
"counter": 0
},
"listener_total_req": {
"counter": 0
},
"listener_read_started_res_max": {
"counter": 0
},
"listener_acc_other_latency": {
"counter": 0
},
"listener_cmd_get_max": {
"counter": 0
},
"listener_acc_latency": {
"counter": 0
},
"listener_read_req_max": {
"counter": 0
},
"listener_write_res_max": {
"counter": 0
},
"listener_sconn_hello_failed": {
"counter": 0
},
"listener_total_started_res_max": {
"counter": 0
},
"listener_write_started_res": {
"counter": 0
},
"listener_write_req": {
"counter": 0
},
"listener_total_res_max": {
"counter": 0
},
"listener_write_started_res_max": {
"counter": 0
},
"listener_cmd_flush": {
"counter": 0
},
"listener_write_res": {
"counter": 0
},
"labels": {
"bdb": "1",
"cluster": "cluster.local",
"node": "1",
"proxy": "1:1:1",
"endpoint": "1:1",
"instance": "host.docker.internal:8070",
"port": "12000",
"job": "prometheus"
},
"listener_cmd_touch": {
"counter": 0
},
"listener_cmd_flush_max": {
"counter": 0
},
"listener_last_res_time": {
"counter": 0
},
"listener_auth_errors_max": {
"counter": 0
},
"listener_sconn_hello_failed_max": {
"counter": 0
},
"listener_acc_read_latency_max": {
"counter": 0
},
"listener_acc_write_latency_max": {
"counter": 0
},
"listener_total_connections_received": {
"counter": 0
},
"listener_conns": {
"counter": 0
},
"listener_total_req_max": {
"counter": 0
},
"listener_acc_write_latency": {
"counter": 0
},
"listener_acc_other_latency_max": {
"counter": 0
},
"listener_read_res_max": {
"counter": 0
},
"listener_cmd_set": {
"counter": 0
},
"listener_acc_read_latency": {
"counter": 0
},
"listener_monitor_sessions_count": {
"counter": 0
},
"listener_resp2_clients": {
"counter": 0
},
"listener_other_started_res_max": {
"counter": 0
},
"listener_max_connections_exceeded": {
"counter": 0
},
"listener_ingress_bytes": {
"counter": 0
},
"listener_other_started_res": {
"counter": 0
},
"listener_auth_cmds": {
"counter": 0
},
"listener_read_started_res": {
"counter": 0
},
"listener_cmd_get": {
"counter": 0
},
"listener_other_req_max": {
"counter": 0
},
"listener_total_started_res": {
"counter": 0
},
"listener_auth_errors": {
"counter": 0
},
"listener_cmd_set_max": {
"counter": 0
},
"listener_acc_latency_max": {
"counter": 0
},
"listener_sconn_hello_setresp_max": {
"counter": 0
}
}
},
"metricset": {
"period": 10000,
"name": "collector"
},
"event": {
"duration": 395309250,
"agent_id_status": "verified",
"ingested": "2023-10-27T09:02:21Z",
"module": "prometheus",
"dataset": "redisenterprise.proxy"
}
}
Exported fields
Field | Description | Type | Metric Type |
---|---|---|---|
@timestamp | Event timestamp. | date | |
agent.id | Unique identifier of this agent (if one exists). Example: For Beats this would be beat.id. | keyword | |
cloud.account.id | The cloud account or organization id used to identify different entities in a multi-tenant environment. Examples: AWS account id, Google Cloud ORG Id, or other unique identifier. | keyword | |
cloud.availability_zone | Availability zone in which this host, resource, or service is located. | keyword | |
cloud.instance.id | Instance ID of the host machine. | keyword | |
cloud.provider | Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean. | keyword | |
cloud.region | Region in which this host, resource, or service is located. | keyword | |
container.id | Unique container id. | keyword | |
data_stream.dataset | Data stream dataset. | constant_keyword | |
data_stream.namespace | Data stream namespace. | constant_keyword | |
data_stream.type | Data stream type. | constant_keyword | |
ecs.version | ECS version this event conforms to. ecs.version is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events. | keyword | |
event.dataset | Event dataset | constant_keyword | |
event.module | Event module | constant_keyword | |
host.name | Name of the host. It can contain what hostname returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use. | keyword | |
redisenterprise.proxy.*.counter | Proxy metrics. | object | counter |
redisenterprise.proxy.labels.bdb | Managed database, indicating which database is being referred to. | keyword | |
redisenterprise.proxy.labels.cluster | Cluster name. | keyword | |
redisenterprise.proxy.labels.endpoint | Endpoint id. | keyword | |
redisenterprise.proxy.labels.instance | Host address of cluster's instance expressed in the form of an IP:PORT. | keyword | |
redisenterprise.proxy.labels.job | Type of the job. | keyword | |
redisenterprise.proxy.labels.node | The node that is being monitored. | keyword | |
redisenterprise.proxy.labels.port | The port number to connect to the database. | keyword | |
redisenterprise.proxy.labels.proxy | Proxy that is bound to the database.. | keyword | |
service.address | Address where data about this service was collected from. This should be a URI, network address (ipv4:port or [ipv6]:port) or a resource path (sockets). | keyword | |
service.type | The type of the service data is collected from. The type can be used to group and correlate logs and metrics from one service type. Example: If logs or metrics are collected from Elasticsearch, service.type would be elasticsearch . | keyword |
Changelog
Version | Details | Kibana version(s) |
---|---|---|
0.9.0 | Enhancement View pull request | — |
0.8.4 | Bug fix View pull request | — |
0.8.3 | Enhancement View pull request | — |
0.8.2 | Enhancement View pull request | — |
0.8.1 | Enhancement View pull request | — |
0.8.0 | Enhancement View pull request | — |
0.7.0 | Enhancement View pull request | — |
0.6.0 | Enhancement View pull request | — |
0.5.0 | Enhancement View pull request | — |
0.4.1 | Bug fix View pull request | — |
0.4.0 | Enhancement View pull request | — |
0.3.1 | Enhancement View pull request | — |
0.3.0 | Enhancement View pull request | — |
0.2.0 | Enhancement View pull request | — |
0.1.1 | Enhancement View pull request | — |
0.1.0 | Enhancement View pull request | — |