Skip to content
13 changes: 13 additions & 0 deletions packages/gcp/_dev/build/docs/redis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Redis

## Metrics

The `redis` dataset fetches metrics from [Redis](https://cloud.google.com/memorystore/) in Google Cloud Platform. It contains all metrics exported from the [GCP Redis Monitoring API](https://cloud.google.com/monitoring/api/metrics_gcp#gcp-redis).

## Sample Event

{{event "redis"}}

## Exported fields

{{fields "redis"}}
5 changes: 5 additions & 0 deletions packages/gcp/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# newer versions go on top
- version: "2.12.0"
changes:
- description: Add GCP Redis
type: enhancement
link: https://github.com/elastic/integrations/pull/4325
- version: "2.11.12"
changes:
- description: Add GKE ingest pipeline.
Expand Down
50 changes: 50 additions & 0 deletions packages/gcp/data_stream/redis/agent/stream/stream.yml.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
metricsets: ["metrics"]
period: {{period}}
project_id: {{project_id}}
{{#if credentials_file}}
credentials_file_path: {{credentials_file}}
{{/if}}
{{#if credentials_json}}
credentials_json: '{{credentials_json}}'
{{/if}}
{{#if region}}
region: {{region}}
{{/if}}
{{#if zone}}
zone: {{zone}}
{{/if}}
exclude_labels: {{exclude_labels}}
metrics:
- service: redis
metric_types:
- "clients/blocked"
- "clients/connected"
- "commands/calls"
- "commands/total_time"
- "commands/usec_per_call"
- "keyspace/avg_ttl"
- "keyspace/keys"
- "keyspace/keys_with_expiration"
- "persistence/rdb/bgsave_in_progress"
- "replication/master/slaves/lag"
- "replication/master/slaves/offset"
- "replication/master_repl_offset"
- "replication/offset_diff"
- "replication/role"
- "server/uptime"
- "stats/cache_hit_ratio"
- "stats/connections/total"
- "stats/cpu_utilization"
- "stats/evicted_keys"
- "stats/expired_keys"
- "stats/keyspace_hits"
- "stats/keyspace_misses"
- "stats/memory/maxmemory"
- "stats/memory/system_memory_overload_duration"
- "stats/memory/system_memory_usage_ratio"
- "stats/memory/usage"
- "stats/memory/usage_ratio"
- "stats/network_traffic"
- "stats/pubsub/channels"
- "stats/pubsub/patterns"
- "stats/reject_connections_count"
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
---
description: Pipeline for parsing GCP Redis metrics.
processors:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All the fields here should have proper suffixes, like mentioned in https://www.elastic.co/guide/en/beats/devguide/current/event-conventions.html

- rename:
field: gcp.metrics.clients.blocked.value
target_field: gcp.redis.clients.blocked.count
ignore_missing: true
- rename:
field: gcp.metrics.clients.connected.value
target_field: gcp.redis.clients.connected.count
ignore_missing: true
- rename:
field: gcp.metrics.commands.calls.value
target_field: gcp.redis.commands.calls.count
ignore_missing: true
- rename:
field: gcp.metrics.commands.total_time.value
target_field: gcp.redis.commands.total_time.us
ignore_missing: true
- rename:
field: gcp.metrics.commands.usec_per_call.value
target_field: gcp.redis.commands.usec_per_call.sec
ignore_missing: true
- rename:
field: gcp.metrics.keyspace.avg_ttl.value
target_field: gcp.redis.keyspace.avg_ttl.sec
ignore_missing: true
- rename:
field: gcp.metrics.keyspace.keys.value
target_field: gcp.redis.keyspace.keys.count
ignore_missing: true
- rename:
field: gcp.metrics.keyspace.keys_with_expiration.value
target_field: gcp.redis.keyspace.keys_with_expiration.count
ignore_missing: true
- rename:
field: gcp.metrics.persistence.rdb.bgsave_in_progress.value
target_field: gcp.redis.persistence.rdb.bgsave_in_progress
ignore_missing: true
- rename:
field: gcp.metrics.replication.master.slaves.lag.value
target_field: gcp.redis.replication.master.slaves.lag.sec
ignore_missing: true
- rename:
field: gcp.metrics.replication.master.slaves.offset.value
target_field: gcp.redis.replication.master.slaves.offset.bytes
ignore_missing: true
- rename:
field: gcp.metrics.replication.master_repl_offset.value
target_field: gcp.redis.replication.master_repl_offset.bytes
ignore_missing: true
- rename:
field: gcp.metrics.replication.offset_diff.value
target_field: gcp.redis.replication.offset_diff.bytes
ignore_missing: true
- rename:
field: gcp.metrics.replication.role.value
target_field: gcp.redis.replication.role
ignore_missing: true
- rename:
field: gcp.metrics.server.uptime.value
target_field: gcp.redis.server.uptime.sec
ignore_missing: true
- rename:
field: gcp.metrics.stats.cache_hit_ratio.value
target_field: gcp.redis.stats.cache_hit_ratio
ignore_missing: true
- rename:
field: gcp.metrics.stats.connections.total.value
target_field: gcp.redis.stats.connections.total.count
ignore_missing: true
- rename:
field: gcp.metrics.stats.cpu_utilization.value
target_field: gcp.redis.stats.cpu_utilization.sec
ignore_missing: true
- rename:
field: gcp.metrics.stats.evicted_keys.value
target_field: gcp.redis.stats.evicted_keys.count
ignore_missing: true
- rename:
field: gcp.metrics.stats.expired_keys.value
target_field: gcp.redis.stats.expired_keys.count
ignore_missing: true
- rename:
field: gcp.metrics.stats.keyspace_hits.value
target_field: gcp.redis.stats.keyspace_hits.count
ignore_missing: true
- rename:
field: gcp.metrics.stats.keyspace_misses.value
target_field: gcp.redis.stats.keyspace_misses.count
ignore_missing: true
- rename:
field: gcp.metrics.stats.memory.maxmemory.value
target_field: gcp.redis.stats.memory.maxmemory.mb
ignore_missing: true
- rename:
field: gcp.metrics.stats.memory.system_memory_overload_duration.value
target_field: gcp.redis.stats.memory.system_memory_overload_duration.us
ignore_missing: true
- rename:
field: gcp.metrics.stats.memory.system_memory_usage_ratio.value
target_field: gcp.redis.stats.memory.system_memory_usage_ratio
ignore_missing: true
- rename:
field: gcp.metrics.stats.memory.usage.value
target_field: gcp.redis.stats.memory.usage.bytes
ignore_missing: true
- rename:
field: gcp.metrics.stats.memory.usage_ratio.value
target_field: gcp.redis.stats.memory.usage_ratio
ignore_missing: true
- rename:
field: gcp.metrics.stats.network_traffic.value
target_field: gcp.redis.stats.network_traffic.bytes
ignore_missing: true
- rename:
field: gcp.metrics.stats.pubsub.channels.value
target_field: gcp.redis.stats.pubsub.channels.count
ignore_missing: true
- rename:
field: gcp.metrics.stats.pubsub.patterns.value
target_field: gcp.redis.stats.pubsub.patterns.count
ignore_missing: true
- rename:
field: gcp.metrics.stats.reject_connections_count.value
target_field: gcp.redis.stats.reject_connections.count
ignore_missing: true
on_failure:
- set:
field: error.message
value: '{{ _ingest.on_failure_message }}'
Loading