[CouchDB Otel] New Content Pack - #17631
Conversation
✅ 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. |
mykola-elastic
left a comment
There was a problem hiding this comment.
Looks good, please, check my comments
There was a problem hiding this comment.
- HTTP responses by status codes
Would it be better in UX to have not each response code, but grouping 2xx 3xx 4xx 5xx ? Feels like too many categories if we display all of them separately. What do you think?
There was a problem hiding this comment.
- HTTP Requests by Method
Noticed that categories (Methods) are not sorted from biggest to smallest amount of requests, is it OK?
There was a problem hiding this comment.
Noticed that categories (Methods) are not sorted from biggest to smallest amount of requests, is it OK?
This is fine, As we hover over the chat to see the actual usage.
HTTP responses by status codes
Would it be better in UX to have not each response code, but grouping 2xx 3xx 4xx 5xx ? Feels like too many categories if we display all of them separately. What do you think?
- Grouping responses may not be useful in certain cases, when user is interested in 400, 401, 403 statuses.
- Lets show all the response for detailed stats.
## Summary Closes #255910 Relates #253948 Enable Alerting tab to be displayed for input packages too Tested with CouchDB Content Pack that has alerting rules elastic/integrations#17631 [couchdb_otel-0.1.0.zip](https://github.com/user-attachments/files/25736442/couchdb_otel-0.1.0.zip) Uploaded the package, and checked that the Alerting tab is showing up <img width="1206" height="766" alt="image" src="https://github.com/user-attachments/assets/03ab6049-ddd7-4209-bace-013b9e8d9f3c" /> <img width="1204" height="703" alt="image" src="https://github.com/user-attachments/assets/8c102d38-fbc3-4257-9d08-6ffdebca1839" /> The Alerting tab is only visible if there are alerting type kibana assets in the package <img width="1218" height="436" alt="image" src="https://github.com/user-attachments/assets/39ddc7e8-4037-4ad3-8a28-1f78871fc36d" /> ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations. - [ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed - [ ] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) - [ ] Review the [backport guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing) and apply applicable `backport:*` labels. ### Identify risks Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss. Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging. - [ ] [See some risk examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) - [ ] ...
## Summary Closes elastic#255910 Relates elastic#253948 Enable Alerting tab to be displayed for input packages too Tested with CouchDB Content Pack that has alerting rules elastic/integrations#17631 [couchdb_otel-0.1.0.zip](https://github.com/user-attachments/files/25736442/couchdb_otel-0.1.0.zip) Uploaded the package, and checked that the Alerting tab is showing up <img width="1206" height="766" alt="image" src="https://github.com/user-attachments/assets/03ab6049-ddd7-4209-bace-013b9e8d9f3c" /> <img width="1204" height="703" alt="image" src="https://github.com/user-attachments/assets/8c102d38-fbc3-4257-9d08-6ffdebca1839" /> The Alerting tab is only visible if there are alerting type kibana assets in the package <img width="1218" height="436" alt="image" src="https://github.com/user-attachments/assets/39ddc7e8-4037-4ad3-8a28-1f78871fc36d" /> ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations. - [ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed - [ ] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) - [ ] Review the [backport guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing) and apply applicable `backport:*` labels. ### Identify risks Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss. Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging. - [ ] [See some risk examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) - [ ] ...
## Summary Closes elastic#255910 Relates elastic#253948 Enable Alerting tab to be displayed for input packages too Tested with CouchDB Content Pack that has alerting rules elastic/integrations#17631 [couchdb_otel-0.1.0.zip](https://github.com/user-attachments/files/25736442/couchdb_otel-0.1.0.zip) Uploaded the package, and checked that the Alerting tab is showing up <img width="1206" height="766" alt="image" src="https://github.com/user-attachments/assets/03ab6049-ddd7-4209-bace-013b9e8d9f3c" /> <img width="1204" height="703" alt="image" src="https://github.com/user-attachments/assets/8c102d38-fbc3-4257-9d08-6ffdebca1839" /> The Alerting tab is only visible if there are alerting type kibana assets in the package <img width="1218" height="436" alt="image" src="https://github.com/user-attachments/assets/39ddc7e8-4037-4ad3-8a28-1f78871fc36d" /> ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations. - [ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed - [ ] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) - [ ] Review the [backport guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing) and apply applicable `backport:*` labels. ### Identify risks Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss. Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging. - [ ] [See some risk examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) - [ ] ...
|
@claude review the PR. |
|
Claude finished @ishleenk17's task in 2m 25s —— View job PR Review: CouchDB OTel Content Pack
I've submitted a detailed review comparing this PR with existing OTel packages ( Summary of findings: The content pack is well-structured with comprehensive observability coverage. A few improvements to align with other OTel packages:
Full review details: #17631 (review) Why is Claude responding? | Type Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not. |
There was a problem hiding this comment.
Overall Assessment
This is a well-structured CouchDB OpenTelemetry content pack with comprehensive observability coverage including dashboards, alert rules, and SLOs. The ES|QL queries appear thoughtful and the dashboard layout follows a logical structure.
Comparison with Similar OTel Packages
Comparing with nginx_otel (PR #17520) and mysql_otel, this package follows most conventions well, but there are a few improvements to consider:
Existing Review Comments
@mykola-elastic has raised valid points that should be addressed:
-
Logo needs OpenTelemetry badge - Other OTel packages (
nginx_otel,mysql_otel) include a small OpenTelemetry icon combined with the product logo. The currentcouchdb.svgonly has the CouchDB logo. -
Status codes grouping - For the "HTTP Responses by Status Code" visualization, grouping by 2xx/3xx/4xx/5xx may provide better UX than individual status codes. The current color mapping does group some codes, but the legend will still show individual codes.
-
Auto-install configuration - As mentioned, adding
discovery.datasets: couchdbreceiver.otelwould enable auto-installation when matching data is present.
Additional Observations
Documentation:
- The README is comprehensive with good setup instructions and a clear metrics reference
- Consider adding a brief mention of EDOT Collector version compatibility (similar to nginx_otel which mentions "v0.129.0" and "9.0")
Dashboard:
- Good use of ES|QL time series queries with proper
TSprefix - Well-organized sections: KPIs, Traffic & Latency, Saturation, Per-Node Analysis, Detail tables
- Color coding for HTTP status codes in the responses chart is a nice touch
Alert Rules:
- Good coverage of critical scenarios (5xx errors, file descriptor exhaustion, latency)
- Alert thresholds are reasonable with helpful comments explaining tunability
- Consistent structure across all rule templates
SLO Templates:
- Well-defined objectives with appropriate timeslice windows
- GroupBy on
couchdb.node.nameenables per-node SLO tracking
Summary
The content pack is solid. The main action items from existing reviews plus the minor suggestions above would bring this in line with other OTel packages in the repository.
Why is Claude responding? | Type @claude to interact further
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
## Summary Closes elastic#255910 Relates elastic#253948 Enable Alerting tab to be displayed for input packages too Tested with CouchDB Content Pack that has alerting rules elastic/integrations#17631 [couchdb_otel-0.1.0.zip](https://github.com/user-attachments/files/25736442/couchdb_otel-0.1.0.zip) Uploaded the package, and checked that the Alerting tab is showing up <img width="1206" height="766" alt="image" src="https://github.com/user-attachments/assets/03ab6049-ddd7-4209-bace-013b9e8d9f3c" /> <img width="1204" height="703" alt="image" src="https://github.com/user-attachments/assets/8c102d38-fbc3-4257-9d08-6ffdebca1839" /> The Alerting tab is only visible if there are alerting type kibana assets in the package <img width="1218" height="436" alt="image" src="https://github.com/user-attachments/assets/39ddc7e8-4037-4ad3-8a28-1f78871fc36d" /> ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations. - [ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed - [ ] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) - [ ] Review the [backport guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing) and apply applicable `backport:*` labels. ### Identify risks Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss. Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging. - [ ] [See some risk examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) - [ ] ...
|
@muthu-mps : I don't see the yamls of the dashboard here ? |
Done. |
|
Validate dashboard fails with the warnings,
|
|
/test |
|
/test |
💚 Build Succeeded
History
cc @muthu-mps |
|
Package couchdb_otel - 0.1.0 containing this change is available at https://epr.elastic.co/package/couchdb_otel/0.1.0/ |
* initial commit
Proposed commit message
Add CouchDB OTel content pack: dashboard, alert rules, SLOs and docs
Content pack for monitoring Apache CouchDB via the OpenTelemetry
CouchDB receiver (metrics-couchdbreceiver.otel-default).
Dashboard (couchdb_otel-overview):
responses by status code, database operations by type
409 conflict rate by node, bulk request rate
Alert rules (6):
SLO templates (2):
All 22 ES|QL queries validated against a live cluster.
Checklist
changelog.ymlfile.Author's Checklist
How to test this PR locally
Related issues
Screenshots