Add redis otel input package - #17285
Conversation
1. Fixed Duration Field Types Changed collection_interval and initial_delay from type: text to type: duration in manifest.yml. 2. Added Missing TLS Configuration Options Added to manifest.yml and input.yml.hbs: tls_min_version - Minimum TLS version (1.0, 1.1, 1.2, 1.3) tls_max_version - Maximum TLS version tls_include_system_ca_certs_pool - Include system CA pool alongside custom CA 3. Added Dialer Timeout Option Added dialer_timeout (duration type) for configuring connection timeout. 4. Updated Documentation Updated both docs/README.md and _dev/build/docs/README.md to document the new fields: Connection Settings table - Added Dialer Timeout row TLS Settings table - Added: TLS Min Version TLS Max Version Include System CA Certs Pool
Combined the Redis logo with the OpenTelemetry logo in the bottom-right corner. The logo is 32x32px with transparent background in SVG format. Co-authored-by: Mario Rodriguez Molins <mrodm@users.noreply.github.com>
The combined logo now uses the original OpenTelemetry colors: - Orange (#f5a800) for the outer elements - Blue (#425cc7) for the inner elements This replaces the previous version that used blue-only (#425CC7) for all OTel elements. Co-authored-by: Mario Rodriguez Molins <mrodm@users.noreply.github.com>
Increased the OTel icon scale from 0.44 to 0.56 and adjusted positioning to make it more visible in the bottom-right corner while maintaining the original OTel colors (orange #f5a800 and blue #425cc7). Co-authored-by: Mario Rodriguez Molins <mrodm@users.noreply.github.com>
- Increased OTel icon scale from 0.56 to 0.66 (~18% larger) - Adjusted positioning from translate(14, 14) to translate(11, 11) - Maintains original OTel colors (orange #f5a800 and blue #425cc7) - 32x32px dimensions with transparent background in SVG format Co-authored-by: Mario Rodriguez Molins <mrodm@users.noreply.github.com>
Updated the OpenTelemetry icon scale from 0.66 to 2 as requested, with adjusted positioning to keep it in the bottom-right corner. Co-authored-by: Mario Rodriguez Molins <mrodm@users.noreply.github.com>
Co-authored-by: Mario Rodriguez Molins <mrodm@users.noreply.github.com>
✅ Vale Linting ResultsNo issues found on modified lines! The Vale linter checks documentation changes against the Elastic Docs style guide. To use Vale locally or report issues, refer to Elastic style guide for Vale. |
There was a problem hiding this comment.
The SVG logo file contains embedded JavaScript (a mesh gradient polyfill, lines 129-133), which poses a security risk and differs from other OTel input packages like nginx_input_otel that use clean SVGs. Please regenerate the SVG without embedded scripts - consider exporting from the SVG editor with mesh gradients rasterized or converted to standard gradients.
Why is Claude responding? | Type @claude to interact further
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
7229d93 to
89b7269
Compare
There was a problem hiding this comment.
The password field uses secret: true but Fleet Server bug #6277 prevents secrets from being processed in OTel configurations. This will cause authentication failures when users configure a password. The prometheus_input_otel package uses secret: false as a workaround until the bug is resolved.
If changing to secret: false, also update _dev/test/policy/test-default.expected to reflect that the password will appear directly (not as ${SECRET_0}) and secret_references should be empty.
Why is Claude responding? | Type @claude to interact further
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
Related to elastic/fleet-server#6277 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
|
Claude finished @mrodm's task in 3m 31s —— View job Adding TLS Test Policy
I've added a new test policy that sets New files:
TLS variables included in the test:
Commit: 419ba94 --- | Branch Why is Claude responding? | Type Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not. |
Add test policy configuration that sets tls_insecure to false and includes all TLS-related variables: ca_file, cert_file, key_file, server_name_override, min_version, max_version, insecure_skip_verify, and include_system_ca_certs_pool. Co-authored-by: Mario Rodriguez Molins <mrodm@users.noreply.github.com>
There was a problem hiding this comment.
The package structure looks reasonable and follows existing OTel input package patterns. A few items to address:
-
The sample_event.json dataset doesn't match the expected policy transform - this should be reconciled to ensure documentation accuracy.
-
Minor: The boolean handling in the Handlebars template differs from similar packages like prometheus_input_otel. When
tls_insecure_skip_verifyis explicitly set tofalse, the field is omitted rather than rendered. While this may work correctly due to receiver defaults, it's worth considering consistency with other packages.
Why is Claude responding? | Type @claude to interact further
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
💚 Build Succeeded
History
cc @mrodm |
|
Hi @elastic/obs-infraobs-integrations, as you are codeowners of the integrations/packages/redis/manifest.yml Line 127 in ea62e17 Do you have any suggestions or comments for this PR that introduces a new input OTel package for the redis receiver? Thanks in advance! |
| {{/if}} | ||
| processors: | ||
| resourcedetection/system: | ||
| detectors: ["system"] |
There was a problem hiding this comment.
@elastic/obs-infraobs-integrations should it be added here a variable to allow specify specific attributes like in hostmetrics_input_otel for this redis input package ?
Something like ?
processors:
resourcedetection/system:
detectors: ["system"]
system: {{system_config}}Or is it not needed at all to add this processor ?
As this uses an endpoint to gather the metrics from other services, I'm not totally sure this is needed. I would like to have your opinion here.
There was a problem hiding this comment.
Right now it follows the same approach as the nginx input otel:
integrations/packages/nginx_input_otel/agent/input/input.yml.hbs
Lines 6 to 13 in 592c26b
|
Package redis_input_otel - 0.1.0 containing this change is available at https://epr.elastic.co/package/redis_input_otel/0.1.0/ |
This PR adds a new Redis OpenTelemetry Input Package (redis_input_otel) that enables Elastic users to collect metrics from Redis servers using the OpenTelemetry Collector's redisreceiver through the EDOT (Elastic Distribution of OpenTelemetry) collector. --------- Co-authored-by: Marcin "Perk" Stożek <perk@elastic.co> Co-authored-by: Bill Easton <bill.easton@elastic.co> Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Mario Rodriguez Molins <mrodm@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This PR adds a new Redis OpenTelemetry Input Package (redis_input_otel) that enables Elastic users to collect metrics from Redis servers using the OpenTelemetry Collector's redisreceiver through the EDOT (Elastic Distribution of OpenTelemetry) collector. --------- Co-authored-by: Marcin "Perk" Stożek <perk@elastic.co> Co-authored-by: Bill Easton <bill.easton@elastic.co> Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Mario Rodriguez Molins <mrodm@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Proposed commit message
This PR adds a new Redis OpenTelemetry Input Package (
redis_input_otel) that enables Elastic users to collect metrics from Redis servers using the OpenTelemetry Collector's redisreceiver through the EDOT (Elastic Distribution of OpenTelemetry) collector.New Package:
redis_input_otelThe package provides:
Configuration Options
localhost:6379tcptcporunix)true10s1sChecklist
changelog.ymlfile.I have verified that any added dashboard complies with Kibana's Dashboard good practicesAuthor's Checklist
How to test this PR locally
Related issues
Screenshots
Generated with Claude Code
Logo generated also with the assistance of copilot.