Skip to content

Commit

Permalink
Cherry-pick #9657 to 6.x: Add redis key metricset (#9885)
Browse files Browse the repository at this point in the history
Add redis key metricset to collect information about keys
like length, type or TTL.

(cherry picked from commit 5dbe803)

Add a dashboard with details for Redis keys using the new key metricset.
Visualizations included show lists length, what is useful when redis is used
for queuing, and average strings sizes and TTLs, what is useful when Redis
is used as a cache.

(cherry picked from commit ac04c32)
  • Loading branch information
jsoriano authored Jan 7, 2019
1 parent 1ca42f0 commit 004fb3d
Show file tree
Hide file tree
Showing 18 changed files with 1,611 additions and 5 deletions.
9 changes: 6 additions & 3 deletions CHANGELOG.next.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ https://github.com/elastic/beats/compare/v6.6.0...6.x[Check the HEAD diff]

*Metricbeat*

- Fix issue preventing diskio metrics collection for idle disks. {issue}9124[9124] {pull}9125[9125]
- Allow beats to blacklist certain part of the configuration while using Central Management. {pull}9099[9099]

*Packetbeat*
Expand Down Expand Up @@ -56,6 +55,7 @@ https://github.com/elastic/beats/compare/v6.6.0...6.x[Check the HEAD diff]
*Auditbeat*

*Filebeat*

- Correctly parse `December` or `Dec` in the Syslog input. {pull}9349[9349]
- Fix improperly set config for CRI Flag in Docker Input {pull}8899[8899]
- Just enabling the `elasticsearch` fileset and starting Filebeat no longer causes an error. {pull}8891[8891]
Expand All @@ -76,13 +76,14 @@ https://github.com/elastic/beats/compare/v6.6.0...6.x[Check the HEAD diff]
- Add missing journalbeat non breaking fixes. {pull}9106[9106]

*Metricbeat*
- Fix panics in vsphere module when certain values where not returned by the API. {pull}9784[9784]

- Fix panics in vsphere module when certain values where not returned by the API. {pull}9784[9784]
- Add missing namespace field in http server metricset {pull}7890[7890]
- Fix race condition when enriching events with kubernetes metadata. {issue}9055[9055] {issue}9067[9067]
- Fix panic on docker healthcheck collection on dockers without healthchecks. {pull}9171[9171]
- Fix issue with not collecting Elasticsearch cross-cluster replication stats correctly. {pull}9179[9179]
- The `node.name` field in the `elasticsearch/node` metricset now correctly reports the Elasticsarch node name. Previously this field was incorrectly reporting the node ID instead. {pull}9209[9209]
- Fix issue preventing diskio metrics collection for idle disks. {issue}9124[9124] {pull}9125[9125]

*Packetbeat*

Expand All @@ -95,8 +96,8 @@ https://github.com/elastic/beats/compare/v6.6.0...6.x[Check the HEAD diff]
==== Added

*Affecting all Beats*
- Unify dashboard exporter tools. {pull}9097[9097]

- Unify dashboard exporter tools. {pull}9097[9097]
- Dissect will now flag event on parsing error. {pull}8751[8751]
- Added the `redirect_stderr` option that allows panics to be logged to log files. {pull}8430[8430]
- Add cache.ttl to add_host_metadata. {pull}9359[9359]
Expand All @@ -109,6 +110,7 @@ https://github.com/elastic/beats/compare/v6.6.0...6.x[Check the HEAD diff]
- Add system module. {pull}9546[9546]

*Filebeat*

- Added `detect_null_bytes` selector to detect null bytes from a io.reader. {pull}9210[9210]
- Added `syslog_host` variable to HAProxy module to allow syslog listener to bind to configured host. {pull}9366[9366]
- Added support on Traefik for Common Log Format and Combined Log Format mixed which is the default Traefik format {issue}8015[8015] {issue}6111[6111] {pull}8768[8768].
Expand Down Expand Up @@ -142,6 +144,7 @@ https://github.com/elastic/beats/compare/v6.6.0...6.x[Check the HEAD diff]
- Add field `event.dataset` which is `{module}.{metricset).
- Add more TCP statuses to `socket_summary` metricset. {pull}9430[9430]
- Remove experimental tag from ceph metricsets. {pull}9708[9708]
- Add `key` metricset to the Redis module. {issue}9582[9582] {pull}9657[9657]

*Packetbeat*

Expand Down
57 changes: 57 additions & 0 deletions metricbeat/docs/fields.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -17693,6 +17693,63 @@ type: long
Count of slow operations
--
[float]
== key fields
`key` contains information about keys.
*`redis.key.name`*::
+
--
type: keyword
Key name.
--
*`redis.key.id`*::
+
--
type: keyword
Unique id for this key (With the form <keyspace>:<name>).
--
*`redis.key.type`*::
+
--
type: keyword
Key type as shown by `TYPE` command.
--
*`redis.key.length`*::
+
--
type: long
Length of the key (Number of elements for lists, length for strings, cardinality for sets).
--
*`redis.key.expire.ttl`*::
+
--
type: long
Seconds to expire.
--
[float]
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions metricbeat/docs/modules/redis.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,13 @@ The following metricsets are available:

* <<metricbeat-metricset-redis-info,info>>

* <<metricbeat-metricset-redis-key,key>>

* <<metricbeat-metricset-redis-keyspace,keyspace>>

include::redis/info.asciidoc[]

include::redis/key.asciidoc[]

include::redis/keyspace.asciidoc[]

21 changes: 21 additions & 0 deletions metricbeat/docs/modules/redis/key.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
////
This file is generated! See scripts/docs_collector.py
////

[[metricbeat-metricset-redis-key]]
=== Redis key metricset

include::../../../module/redis/key/_meta/docs.asciidoc[]


==== Fields

For a description of each field in the metricset, see the
<<exported-fields-redis,exported fields>> section.

Here is an example document generated by this metricset:

[source,json]
----
include::../../../module/redis/key/_meta/data.json[]
----
3 changes: 2 additions & 1 deletion metricbeat/docs/modules_list.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,8 @@ This file is generated! See scripts/docs_collector.py
|<<metricbeat-metricset-rabbitmq-node,node>> beta[]
|<<metricbeat-metricset-rabbitmq-queue,queue>> beta[]
|<<metricbeat-module-redis,Redis>> |image:./images/icon-yes.png[Prebuilt dashboards are available] |
.2+| .2+| |<<metricbeat-metricset-redis-info,info>>
.3+| .3+| |<<metricbeat-metricset-redis-info,info>>
|<<metricbeat-metricset-redis-key,key>>
|<<metricbeat-metricset-redis-keyspace,keyspace>>
|<<metricbeat-module-system,System>> |image:./images/icon-yes.png[Prebuilt dashboards are available] |
.14+| .14+| |<<metricbeat-metricset-system-core,core>>
Expand Down
1 change: 1 addition & 0 deletions metricbeat/include/list.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 004fb3d

Please sign in to comment.