Skip to content

using grafana#890

Draft
Bonusree wants to merge 27 commits into
masterfrom
grafana
Draft

using grafana#890
Bonusree wants to merge 27 commits into
masterfrom
grafana

Conversation

@Bonusree

@Bonusree Bonusree commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Documentation
    • Added new Grafana dashboard guides for visualizing database and middleware metrics with KubeDB monitoring, Prometheus scraping, and Panopticon integration.
    • Includes end-to-end setup of the monitoring stack, verification of scrape targets, access to Grafana, data source configuration, import of prebuilt dashboards, and use of dashboard variables/filters.
    • New guides cover PostgreSQL, Druid, Elasticsearch, Kafka, MariaDB, MongoDB, MSSQLServer, MySQL, Percona XtraDB, ProxySQL, RabbitMQ, Redis, Singlestore, plus ClickHouse, PgBouncer, and Pgpool, with cleanup/uninstall steps.

Signed-off-by: Bonusree <bonusree@appscode.com>
@coderabbitai

coderabbitai Bot commented Jun 18, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 124f20f3-8a95-452e-ad3a-0fb9ef77193f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds 13 Grafana monitoring guides for KubeDB databases. Each guide follows the same sequence: prerequisites, kube-prometheus-stack and Panopticon setup, database-specific ServiceMonitor configuration, Prometheus scrape verification, Grafana access, dashboard import and exploration, cleanup, and follow-up links.

Changes

Database Monitoring Grafana Dashboard Guides

Layer / File(s) Summary
Front matter and prerequisites
docs/guides/*/monitoring/grafana-dashboard.md
Adds page metadata, introductions, and product-specific setup notes such as kubedb-metrics flags, namespace isolation, license/TLS setup, and example YAML locations.
Prometheus and Panopticon setup
docs/guides/*/monitoring/grafana-dashboard.md
Adds kube-prometheus-stack installation steps, Prometheus serviceMonitorSelector discovery, and Panopticon installation with Prometheus Operator label matching.
Database deployment and ServiceMonitor wiring
docs/guides/*/monitoring/grafana-dashboard.md
Adds database or cluster manifests configured for Prometheus Operator monitoring, then shows the generated stats service and ServiceMonitor objects.
Prometheus scraping and Grafana access
docs/guides/*/monitoring/grafana-dashboard.md
Verifies /targets scraping, retrieves the Grafana admin password from secrets, and describes Prometheus data source setup for standalone Grafana installs.
Dashboard import and exploration
docs/guides/*/monitoring/grafana-dashboard.md
Imports the provided dashboard JSON files and describes dashboard variables, filters, and metric panels across the Summary, Pod, Database, and product-specific views.
Cleanup and next steps
docs/guides/*/monitoring/grafana-dashboard.md
Adds cleanup commands for workloads, namespaces, and optional monitoring components, followed by related guide and contribution links.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested reviewers

  • souravbiswassanto
  • kodiak-appscode
  • SajjadSadi074

Poem

🐇 I hopped through dashboards bright and grand,
With Prometheus labels close at hand.
Grafana hummed, the metrics glowed,
And every KubeDB guide just flowed.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title is related to the changes, but it is too vague to convey the main scope or affected areas. Use a descriptive title like 'Add Grafana monitoring guides for KubeDB databases' or similar.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch grafana

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/guides/mssqlserver/backup/application-level/index.md`:
- Line 25: The KubeStash prerequisite link URL is missing a trailing slash that
is present in all other prerequisite links across the PR. In the line containing
the KubeStash setup link, add a trailing slash to the URL so it reads
https://kubestash.com/docs/latest/setup/ instead of
https://kubestash.com/docs/latest/setup to maintain consistent URL formatting
with the other seven changed files that use normalized paths with trailing
slashes.

In `@docs/guides/postgres/monitoring/grafana-dashboard.md`:
- Line 240: The guide incorrectly references the opnpulse/dashboards repository
for downloading PostgreSQL dashboards. Replace the repository link and
organization reference in the line that mentions downloading dashboard JSON
files from the incorrect location. Update the reference to point to the
appscode/grafana-dashboards repository on GitHub instead, maintaining the
postgres/ folder path reference while correcting both the organization name
(opnpulse to appscode) and the repository name (dashboards to
grafana-dashboards) in both the markdown link text and the URL.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: a3ab2f49-8baa-4d6d-920b-4647945e6e19

📥 Commits

Reviewing files that changed from the base of the PR and between 7170308 and 5483597.

📒 Files selected for processing (50)
  • docs/guides/cassandra/backup/kubestash/logical/index.md
  • docs/guides/cassandra/backup/kubestash/overview/index.md
  • docs/guides/druid/backup/application-level/index.md
  • docs/guides/druid/backup/auto-backup/index.md
  • docs/guides/druid/backup/cross-ns-dependencies/index.md
  • docs/guides/druid/backup/logical/index.md
  • docs/guides/druid/backup/overview/index.md
  • docs/guides/elasticsearch/backup/kubestash/auto-backup/index.md
  • docs/guides/elasticsearch/backup/kubestash/logical/index.md
  • docs/guides/elasticsearch/backup/kubestash/overview/index.md
  • docs/guides/mariadb/backup/kubestash/application-level/index.md
  • docs/guides/mariadb/backup/kubestash/auto-backup/index.md
  • docs/guides/mariadb/backup/kubestash/logical/index.md
  • docs/guides/mariadb/backup/kubestash/overview/index.md
  • docs/guides/mongodb/backup/kubestash/application-level/index.md
  • docs/guides/mongodb/backup/kubestash/auto-backup/index.md
  • docs/guides/mongodb/backup/kubestash/logical/replicaset/index.md
  • docs/guides/mongodb/backup/kubestash/logical/sharding/index.md
  • docs/guides/mongodb/backup/kubestash/logical/standalone/index.md
  • docs/guides/mongodb/backup/kubestash/overview/index.md
  • docs/guides/mongodb/schema-manager/deploy-mongodbdatabase/index.md
  • docs/guides/mongodb/schema-manager/initializing-with-script/index.md
  • docs/guides/mongodb/schema-manager/initializing-with-snapshot/index.md
  • docs/guides/mssqlserver/backup/application-level/index.md
  • docs/guides/mssqlserver/backup/auto-backup/index.md
  • docs/guides/mssqlserver/backup/logical/index.md
  • docs/guides/mssqlserver/backup/overview/index.md
  • docs/guides/mysql/backup/kubestash/application-level/index.md
  • docs/guides/mysql/backup/kubestash/auto-backup/index.md
  • docs/guides/mysql/backup/kubestash/logical/index.md
  • docs/guides/mysql/backup/kubestash/overview/index.md
  • docs/guides/postgres/backup/kubestash/application-level/index.md
  • docs/guides/postgres/backup/kubestash/auto-backup/index.md
  • docs/guides/postgres/backup/kubestash/logical/index.md
  • docs/guides/postgres/backup/kubestash/overview/index.md
  • docs/guides/postgres/monitoring/grafana-dashboard.md
  • docs/guides/qdrant/backup/logical/index.md
  • docs/guides/qdrant/backup/overview/index.md
  • docs/guides/qdrant/backup/volume-snapshot/index.md
  • docs/guides/redis/backup/kubestash/application-level/index.md
  • docs/guides/redis/backup/kubestash/auto-backup/index.md
  • docs/guides/redis/backup/kubestash/logical/index.md
  • docs/guides/redis/backup/kubestash/overview/index.md
  • docs/guides/singlestore/backup/kubestash/application-level/index.md
  • docs/guides/singlestore/backup/kubestash/auto-backup/index.md
  • docs/guides/singlestore/backup/kubestash/logical/index.md
  • docs/guides/singlestore/backup/kubestash/overview/index.md
  • docs/guides/zookeeper/backup/kubestash/auto-backup/index.md
  • docs/guides/zookeeper/backup/kubestash/logical/index.md
  • docs/guides/zookeeper/backup/kubestash/overview/index.md

Comment thread docs/guides/mssqlserver/backup/application-level/index.md Outdated
Comment thread docs/guides/postgres/monitoring/grafana-dashboard.md Outdated
Signed-off-by: Bonusree <bonusree@appscode.com>
@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit 79621eb):

https://kubedb-v2-hugo--pr890-grafana-enpf3kwf.web.app

(expires Wed, 29 Jul 2026 11:58:43 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 0f29ae8ae0bd54a99bf2b223b6833be47acd5943

Bonusree added 2 commits June 18, 2026 15:04
Signed-off-by: Bonusree <bonusree@appscode.com>
Signed-off-by: Bonusree <bonusree@appscode.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🧹 Nitpick comments (5)
docs/guides/druid/monitoring/grafana-dashboard.md (3)

230-230: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Specify a language identifier for the code block.

Line 230 contains a fenced code block without a language identifier (MD040). This prevents syntax highlighting and should be labeled.

Suggested fix
- ```
+ ```http
  http://prometheus-operated.monitoring.svc:9090
- ```
+ ```
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/guides/druid/monitoring/grafana-dashboard.md` at line 230, The fenced
code block at line 230 is missing a language identifier, which prevents syntax
highlighting and violates the MD040 markdown linting rule. Add the language
identifier "http" to the opening triple backticks of the code block that
contains the prometheus URL (http://prometheus-operated.monitoring.svc:9090) to
properly specify the code block type and enable appropriate syntax highlighting.

Source: Linters/SAST tools


83-83: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Clarify Panopticon installation order relative to kubedb-metrics.

Line 83 states "It must be installed before enabling kubedb-metrics", but your prerequisites (line 23) require KubeDB to be installed with kubedb-metrics already enabled. This creates a logical contradiction: if kubedb-metrics is enabled in the prerequisites, Panopticon cannot be installed before it.

The actual flow shown in the guide (prerequisites → Step 1 → Step 2 Panopticon → Step 3 database) is correct. Clarify the statement: Panopticon must be installed before the database CR is deployed to ensure the MetricsConfiguration objects are read and metrics are exposed to Prometheus.

Suggested clarification
- Panopticon is the Appscode operator that reads `MetricsConfiguration` objects created by `kubedb-metrics` and exposes them to Prometheus. It must be installed before enabling `kubedb-metrics`.
+ Panopticon is the Appscode operator that reads `MetricsConfiguration` objects created by `kubedb-metrics` and exposes them to Prometheus. It must be installed before deploying the database instance so that metrics are properly exposed.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/guides/druid/monitoring/grafana-dashboard.md` at line 83, The statement
on line 83 about Panopticon installation order contradicts the prerequisites
which show kubedb-metrics is already enabled. Revise the statement to clarify
that Panopticon must be installed before the database CR is deployed (not before
kubedb-metrics is enabled), since Panopticon needs to be ready to read the
MetricsConfiguration objects created by kubedb-metrics when the database
resource is created. This aligns with the actual step-by-step flow shown in the
guide.

13-13: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Use descriptive link text instead of "here".

Lines 13 and 23 use non-descriptive link text ("here"). Per Markdown best practices (and markdownlint MD059), link text should be descriptive to improve clarity and accessibility.

Suggested fix
- > New to KubeDB? Please start [here](/docs/README.md).
+ > New to KubeDB? Please start with the [KubeDB documentation](/docs/README.md).

- - KubeDB must be installed in your cluster with `kubedb-metrics` enabled. Follow the setup guide [here](/docs/setup/README.md) and make sure to include the flag below during installation:
+ - KubeDB must be installed in your cluster with `kubedb-metrics` enabled. Follow the [KubeDB setup guide](/docs/setup/README.md) and make sure to include the flag below during installation:

Also applies to: 23-23

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/guides/druid/monitoring/grafana-dashboard.md` at line 13, Replace the
non-descriptive link text "here" with a more descriptive phrase that clearly
indicates what the link points to. Since the link references the KubeDB
documentation starting point at /docs/README.md, change the link text from
[here] to something like [KubeDB documentation] or [the KubeDB getting started
guide] to improve clarity and accessibility. Apply this change to both
occurrences of this pattern in the file.

Source: Linters/SAST tools

docs/guides/mariadb/monitoring/grafana-dashboard.md (2)

220-220: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Specify a language identifier for the code block.

Line 220 contains a URL endpoint without a language specified in the fenced code block. Add a language identifier (e.g., url or bash) for consistency and accessibility.

🔧 Proposed fix
    3. Set the URL to your Prometheus service:

-   ```
+   ```url
    http://prometheus-operated.monitoring.svc:9090
-   ```
+   ```
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/guides/mariadb/monitoring/grafana-dashboard.md` at line 220, The code
block containing the Prometheus endpoint URL
(http://prometheus-operated.monitoring.svc:9090) is missing a language
identifier in the fenced code block declaration. Add a language identifier such
as `url` or `bash` immediately after the opening triple backticks to properly
specify the code block type, improving both consistency and accessibility of the
documentation.

Source: Linters/SAST tools


13-13: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Use descriptive link text instead of "here".

Lines 13 and 23 use vague link text ("here") which impacts accessibility and SEO. Rewrite to be more specific about what the link points to.

Example improvements:

Also applies to: 23-23

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/guides/mariadb/monitoring/grafana-dashboard.md` at line 13, Replace the
vague link text "here" on lines 13 and 23 with more descriptive and specific
text that clearly indicates what the linked content contains. On line 13, change
the text to reference "KubeDB documentation" instead of "here". On line 23,
change the text to reference "KubeDB setup guide" instead of "here". This
improves accessibility and SEO by making the link purpose explicit to both users
and search engines.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/guides/mariadb/monitoring/grafana-dashboard.md`:
- Line 55: The grafana.image.tag parameter is set to version 7.5.5, an outdated
release from 2020. Update the --set grafana.image.tag value to a recent stable
Grafana version (such as the latest LTS or recent stable release) in all 13
database monitoring guides. Specifically, find and replace the grafana.image.tag
setting across the monitoring documentation for mariadb, mysql, mongodb,
postgres, redis, rabbitmq, elasticsearch, kafka, druid, percona-xtradb,
proxysql, singlestore, and mssqlserver to ensure all guides use the same recent
version with current security patches.
- Around line 226-247: The filenames listed in the dashboard table for the
KubeDB MariaDB dashboards are incorrect and do not match the actual files in the
repository. Update the filenames in the table to use the correct names: change
mariadb_summary_dashboard.json to mariadb-summary.json,
mariadb_pods_dashboard.json to mariadb-pod.json,
mariadb_databases_dashboard.json to mariadb-database.json, and
mariadb_galera_cluster_dashboard.json to mariadb-galera.json. Additionally,
verify that the repository reference in the guide points to the current location
of the grafana-dashboards repository and update it if the repository URL has
changed.
- Around line 109-132: Update the broken documentation reference URL in the
grafana-dashboard.md file. The current reference points to a non-existent path
`docs/examples/mariadb/monitoring/coreos-prom-mariadb.yaml`. Replace this with
the correct path
`docs/guides/mariadb/monitoring/prometheus-operator/examples/prom-operator-md.yaml`
to fix the broken link. Ensure the URL in the line near the YAML configuration
example is corrected to point to the actual example file location in the
repository.

In `@docs/guides/mssqlserver/monitoring/grafana-dashboard.md`:
- Line 82: The Grafana image tag is set to version 7.5.5 which is significantly
outdated (from September 2021). Either update the grafana.image.tag value to a
recent stable Grafana release that is compatible with the kube-prometheus-stack
and other components in the guide, or if version 7.5.5 is intentionally pinned
for specific compatibility reasons, add clear documentation explaining why this
older version is required and what dependencies necessitate it. This should be
consistent across all database monitoring guides in the documentation cohort.

In `@docs/guides/singlestore/monitoring/grafana-dashboard.md`:
- Around line 304-307: Add a missing bullet point to the Next Steps section in
the Grafana dashboard guide for Singlestore. The current section only includes a
link to the Prometheus Operator guide, but for consistency with other database
monitoring guides, it should also include a link to the built-in Prometheus
guide. Insert a new bullet point before or after the Prometheus Operator line
that links to the built-in Prometheus monitoring guide, following the same
pattern used in other database monitoring guides.

---

Nitpick comments:
In `@docs/guides/druid/monitoring/grafana-dashboard.md`:
- Line 230: The fenced code block at line 230 is missing a language identifier,
which prevents syntax highlighting and violates the MD040 markdown linting rule.
Add the language identifier "http" to the opening triple backticks of the code
block that contains the prometheus URL
(http://prometheus-operated.monitoring.svc:9090) to properly specify the code
block type and enable appropriate syntax highlighting.
- Line 83: The statement on line 83 about Panopticon installation order
contradicts the prerequisites which show kubedb-metrics is already enabled.
Revise the statement to clarify that Panopticon must be installed before the
database CR is deployed (not before kubedb-metrics is enabled), since Panopticon
needs to be ready to read the MetricsConfiguration objects created by
kubedb-metrics when the database resource is created. This aligns with the
actual step-by-step flow shown in the guide.
- Line 13: Replace the non-descriptive link text "here" with a more descriptive
phrase that clearly indicates what the link points to. Since the link references
the KubeDB documentation starting point at /docs/README.md, change the link text
from [here] to something like [KubeDB documentation] or [the KubeDB getting
started guide] to improve clarity and accessibility. Apply this change to both
occurrences of this pattern in the file.

In `@docs/guides/mariadb/monitoring/grafana-dashboard.md`:
- Line 220: The code block containing the Prometheus endpoint URL
(http://prometheus-operated.monitoring.svc:9090) is missing a language
identifier in the fenced code block declaration. Add a language identifier such
as `url` or `bash` immediately after the opening triple backticks to properly
specify the code block type, improving both consistency and accessibility of the
documentation.
- Line 13: Replace the vague link text "here" on lines 13 and 23 with more
descriptive and specific text that clearly indicates what the linked content
contains. On line 13, change the text to reference "KubeDB documentation"
instead of "here". On line 23, change the text to reference "KubeDB setup guide"
instead of "here". This improves accessibility and SEO by making the link
purpose explicit to both users and search engines.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: edac5b68-a0d9-4d0b-81bb-c0664a2c9699

📥 Commits

Reviewing files that changed from the base of the PR and between a44fe6c and ac6cee9.

📒 Files selected for processing (12)
  • docs/guides/druid/monitoring/grafana-dashboard.md
  • docs/guides/elasticsearch/monitoring/grafana-dashboard.md
  • docs/guides/kafka/monitoring/grafana-dashboard.md
  • docs/guides/mariadb/monitoring/grafana-dashboard.md
  • docs/guides/mongodb/monitoring/grafana-dashboard.md
  • docs/guides/mssqlserver/monitoring/grafana-dashboard.md
  • docs/guides/mysql/monitoring/grafana-dashboard.md
  • docs/guides/percona-xtradb/monitoring/grafana-dashboard.md
  • docs/guides/proxysql/monitoring/grafana-dashboard.md
  • docs/guides/rabbitmq/monitoring/grafana-dashboard.md
  • docs/guides/redis/monitoring/grafana-dashboard.md
  • docs/guides/singlestore/monitoring/grafana-dashboard.md

Comment thread docs/guides/mariadb/monitoring/grafana-dashboard.md
Comment on lines +109 to +132
```yaml
apiVersion: kubedb.com/v1
kind: MariaDB
metadata:
name: mariadb-grafana-demo
namespace: demo
spec:
version: "11.5.2"
deletionPolicy: WipeOut
storage:
storageClassName: "standard"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
monitor:
agent: prometheus.io/operator
prometheus:
serviceMonitor:
labels:
release: prometheus
interval: 10s
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify the example YAML file exists and matches the inline YAML.

# Check if the example file exists
if [ -f "docs/examples/mariadb/monitoring/coreos-prom-mariadb.yaml" ]; then
  echo "✓ Example file exists"
  echo "=== File content ==="
  cat docs/examples/mariadb/monitoring/coreos-prom-mariadb.yaml
else
  echo "✗ Example file not found at docs/examples/mariadb/monitoring/coreos-prom-mariadb.yaml"
fi

# Also check if there are other MariaDB example files in monitoring folder
fd -e yaml 'mariadb.*monitoring' docs/examples --maxdepth 5

Repository: kubedb/docs

Length of output: 235


🏁 Script executed:

# Check what's at line 143 of the review file
sed -n '140,150p' docs/guides/mariadb/monitoring/grafana-dashboard.md

# Search for MariaDB example files in the docs structure
fd -e yaml 'mariadb' docs/examples --maxdepth 6 | head -20

# Also check the directory structure of monitoring examples
find docs/examples -type d -name '*monitoring*' 2>/dev/null

Repository: kubedb/docs

Length of output: 1080


🏁 Script executed:

# Check what MariaDB example files actually exist
find docs/examples/mariadb -type f 2>/dev/null

# Check if monitoring is documented elsewhere for MariaDB
grep -r "mariadb.*monitoring\|prometheus.*mariadb" docs/examples --include="*.yaml" --include="*.yml" 2>/dev/null | head -10

# Check the MariaDB documentation structure
find docs/guides/mariadb -type d 2>/dev/null

Repository: kubedb/docs

Length of output: 7609


🏁 Script executed:

# Check what example files are in the prometheus-operator examples
find docs/guides/mariadb/monitoring/prometheus-operator -name "*.yaml" -o -name "*.yml" 2>/dev/null

# Check what example files are in builtin-prometheus examples
find docs/guides/mariadb/monitoring/builtin-prometheus -name "*.yaml" -o -name "*.yml" 2>/dev/null

# Check the actual file to see the full context around line 143
grep -n "coreos-prom-mariadb" docs/guides/mariadb/monitoring/grafana-dashboard.md

Repository: kubedb/docs

Length of output: 533


🏁 Script executed:

# Read the grafana-dashboard.md file to see the context
cat -n docs/guides/mariadb/monitoring/grafana-dashboard.md | head -150 | tail -50

# Check which example file matches the YAML shown (prometheus-operator or builtin)
echo "=== prometheus-operator example ===" 
cat docs/guides/mariadb/monitoring/prometheus-operator/examples/prom-operator-md.yaml

echo -e "\n=== builtin-prometheus example ===" 
cat docs/guides/mariadb/monitoring/builtin-prometheus/examples/builtin-prom-md.yaml

Repository: kubedb/docs

Length of output: 2651


🏁 Script executed:

# Check if there's a MariaDB version info file
find docs -name "*mariadb*version*" -o -name "*version*mariadb*" 2>/dev/null | grep -i guide

# Search for version documentation or supported versions
grep -r "11.5.2\|supported.*version\|version.*support" docs/guides/mariadb/concepts/mariadb-version.md 2>/dev/null | head -20

# Check if 11.5.2 is mentioned elsewhere in the codebase
grep -r "11\.5\.2" docs/ --include="*.md" | head -10

Repository: kubedb/docs

Length of output: 1458


Fix broken documentation URL at line 143.

The reference at line 143 points to docs/examples/mariadb/monitoring/coreos-prom-mariadb.yaml, which does not exist in the repository. The correct example file is at docs/guides/mariadb/monitoring/prometheus-operator/examples/prom-operator-md.yaml. Update the URL to reference the correct path.

MariaDB version 11.5.2 is supported (confirmed in docs/guides/mariadb/concepts/mariadb-version/index.md), and the YAML correctly omits spec.topology.mode, indicating a non-Galera deployment as intended.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/guides/mariadb/monitoring/grafana-dashboard.md` around lines 109 - 132,
Update the broken documentation reference URL in the grafana-dashboard.md file.
The current reference points to a non-existent path
`docs/examples/mariadb/monitoring/coreos-prom-mariadb.yaml`. Replace this with
the correct path
`docs/guides/mariadb/monitoring/prometheus-operator/examples/prom-operator-md.yaml`
to fix the broken link. Ensure the URL in the line near the YAML configuration
example is corrected to point to the actual example file location in the
repository.

Comment thread docs/guides/mariadb/monitoring/grafana-dashboard.md Outdated
Comment thread docs/guides/mssqlserver/monitoring/grafana-dashboard.md
Comment thread docs/guides/singlestore/monitoring/grafana-dashboard.md
Signed-off-by: Bonusree <bonusree@appscode.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🧹 Nitpick comments (5)
docs/guides/clickhouse/monitoring/grafana-dashboard.md (2)

239-241: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add language specifier to fenced code block.

The bare backticks trigger markdownlint warning MD040. Add text as the language specifier since this shows a URL to enter, not a command to execute.

  • http://prometheus-operated.monitoring.svc:9090
    

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @docs/guides/clickhouse/monitoring/grafana-dashboard.md around lines 239 -
241, Add a language specifier to the fenced code block in the Grafana dashboard
guide so markdownlint no longer flags MD040. Update the URL example block near
the Prometheus endpoint text to use a plain text fence, since it is an input
example rather than executable code, and keep the surrounding content unchanged.


</details>

<!-- cr-comment:v1:05f10d98d6fed290e448b077 -->

---

`23-23`: _📐 Maintainability & Code Quality_ | _🔵 Trivial_ | _⚡ Quick win_

**Use descriptive link text.**

Replace "here" with descriptive text to improve accessibility and follow markdown best practices.




```diff
-  Follow the setup guide [here](/docs/setup/README.md) and make sure to include the flag below during installation:
+  Follow the [KubeDB setup guide](/docs/setup/README.md) and make sure to include the flag below during installation:
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/guides/clickhouse/monitoring/grafana-dashboard.md` at line 23, The
markdown link text in the setup guide reference is too generic and should be
made descriptive for accessibility and readability. Update the sentence in the
Grafana dashboard guide to replace the “here” link text with a clear label that
describes the target setup guide, keeping the existing reference to the setup
documentation and the surrounding installation instructions intact.
docs/guides/pgpool/monitoring/grafana-dashboard.md (2)

23-23: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Use descriptive link text.

Replace "here" with descriptive text to improve accessibility and follow markdown best practices.

-  Follow the setup guide [here](/docs/setup/README.md) and make sure to include the flag below during installation:
+  Follow the [KubeDB setup guide](/docs/setup/README.md) and make sure to include the flag below during installation:
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/guides/pgpool/monitoring/grafana-dashboard.md` at line 23, The markdown
link text in the setup guide reference is too generic and should be replaced
with descriptive text for accessibility. Update the sentence in the
grafana-dashboard documentation where the setup guide is linked so the anchor
text clearly describes the destination, using the existing README link target
and keeping the surrounding installation instructions intact.

239-241: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add language specifier to fenced code block.

The bare backticks trigger markdownlint warning MD040. Add text as the language specifier since this shows a URL to enter, not a command to execute.

  • http://prometheus-operated.monitoring.svc:9090
    

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @docs/guides/pgpool/monitoring/grafana-dashboard.md around lines 239 - 241,
Add a language specifier to the fenced code block showing the Prometheus URL so
markdownlint no longer flags it; update the markdown snippet in the Grafana
dashboard guide to use a plain text fence for the URL example, keeping the
content as an address to copy rather than a command. Locate the fenced block
around the Prometheus endpoint in the monitoring guide and change the fence
formatting accordingly.


</details>

<!-- cr-comment:v1:2cc6bce6600d41a5662403a9 -->

</blockquote></details>
<details>
<summary>docs/guides/pgbouncer/monitoring/grafana-dashboard.md (1)</summary><blockquote>

`246-248`: _📐 Maintainability & Code Quality_ | _🔵 Trivial_ | _💤 Low value_

**Add language specifier to fenced code block.**

The URL block lacks a language identifier. Add `text` to satisfy linting and maintain consistency:

```diff

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @docs/guides/pgbouncer/monitoring/grafana-dashboard.md around lines 246 -
248, Add a language specifier to the fenced code block containing the Prometheus
URL in the Grafana dashboard guide; update the markdown fence in this snippet to
use text so it matches linting requirements and stays consistent with other
examples. Locate the affected fenced block in the documentation and keep the URL
content unchanged while only adjusting the fence syntax.


</details>

<!-- cr-comment:v1:2c32d5f57376156175b36b6e -->

</blockquote></details>

</blockquote></details>

<details>
<summary>🤖 Prompt for all review comments with AI agents</summary>

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @docs/guides/clickhouse/monitoring/grafana-dashboard.md:

  • Around line 53-56: The Grafana install example is pinning an outdated insecure
    image tag, so update the example in the Grafana dashboard docs to stop forcing
    the old version. In the Helm command under the monitoring setup, remove the
    grafana.image.tag override or replace it with a current supported Grafana
    version, and keep the guidance aligned with kube-prometheus-stack defaults.
    Refer to the helm upgrade example in grafana-dashboard.md so the fix is applied
    in the right snippet.

In @docs/guides/pgbouncer/monitoring/grafana-dashboard.md:

  • Line 13: The opening link text in the documentation is too generic; update the
    markdown in this section to use descriptive anchor text instead of “here.” In
    the affected content, keep the same target to /docs/README.md but rewrite the
    sentence so the link text clearly identifies the destination, using the existing
    docs intro/quickstart wording as a guide.
  • Around line 55-58: The Helm install example still pins Grafana through the
    grafana.image.tag setting in the monitoring dashboard guide, which is outdated.
    Update the example in the kube-prometheus-stack install command by removing that
    pin or replacing it with a current v11.x tag if a fixed version is necessary, so
    the docs reference a modern Grafana version.
  • Line 23: The link text in the Grafana dashboard monitoring guide is too
    generic and should be made descriptive. Update the sentence that currently says
    “Follow the setup guide here” so the link text clearly
    identifies the destination, using the existing setup guide reference in this
    section.

In @docs/guides/pgpool/monitoring/grafana-dashboard.md:

  • Around line 55-58: The Helm example in grafana-dashboard.md is pinning Grafana
    to an outdated and potentially insecure version via grafana.image.tag. Update
    the kubectl/helm snippet to stop forcing Grafana 7.5.5, either by removing the
    explicit tag so kube-prometheus-stack uses its chart default or by changing the
    tag to a current supported Grafana release. Keep the change localized to the
    Grafana install example so readers get a secure default when following the
    guide.

Nitpick comments:
In @docs/guides/clickhouse/monitoring/grafana-dashboard.md:

  • Around line 239-241: Add a language specifier to the fenced code block in the
    Grafana dashboard guide so markdownlint no longer flags MD040. Update the URL
    example block near the Prometheus endpoint text to use a plain text fence, since
    it is an input example rather than executable code, and keep the surrounding
    content unchanged.
  • Line 23: The markdown link text in the setup guide reference is too generic
    and should be made descriptive for accessibility and readability. Update the
    sentence in the Grafana dashboard guide to replace the “here” link text with a
    clear label that describes the target setup guide, keeping the existing
    reference to the setup documentation and the surrounding installation
    instructions intact.

In @docs/guides/pgbouncer/monitoring/grafana-dashboard.md:

  • Around line 246-248: Add a language specifier to the fenced code block
    containing the Prometheus URL in the Grafana dashboard guide; update the
    markdown fence in this snippet to use text so it matches linting requirements
    and stays consistent with other examples. Locate the affected fenced block in
    the documentation and keep the URL content unchanged while only adjusting the
    fence syntax.

In @docs/guides/pgpool/monitoring/grafana-dashboard.md:

  • Line 23: The markdown link text in the setup guide reference is too generic
    and should be replaced with descriptive text for accessibility. Update the
    sentence in the grafana-dashboard documentation where the setup guide is linked
    so the anchor text clearly describes the destination, using the existing README
    link target and keeping the surrounding installation instructions intact.
  • Around line 239-241: Add a language specifier to the fenced code block showing
    the Prometheus URL so markdownlint no longer flags it; update the markdown
    snippet in the Grafana dashboard guide to use a plain text fence for the URL
    example, keeping the content as an address to copy rather than a command. Locate
    the fenced block around the Prometheus endpoint in the monitoring guide and
    change the fence formatting accordingly.

</details>

<details>
<summary>🪄 Autofix (Beta)</summary>

Fix all unresolved CodeRabbit comments on this PR:

- [ ] <!-- {"checkboxId": "4b0d0e0a-96d7-4f10-b296-3a18ea78f0b9"} --> Push a commit to this branch (recommended)
- [ ] <!-- {"checkboxId": "ff5b1114-7d8c-49e6-8ac1-43f82af23a33"} --> Create a new PR with the fixes

</details>

---

<details>
<summary>ℹ️ Review info</summary>

<details>
<summary>⚙️ Run configuration</summary>

**Configuration used**: defaults

**Review profile**: CHILL

**Plan**: Pro Plus

**Run ID**: `6c49cc18-8b55-4bfa-983f-4bd0e262bd23`

</details>

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between ac6cee9f14429cc999b623dd33bdd0855b3a4aea and 05ee7f1c6894d88c7c57008ddade0ab2ca83a7ef.

</details>

<details>
<summary>⛔ Files ignored due to path filters (166)</summary>

* `docs/images/clickhouse/monitoring/ch-grafana-database-2.png` is excluded by `!**/*.png`
* `docs/images/clickhouse/monitoring/ch-grafana-database.png` is excluded by `!**/*.png`
* `docs/images/clickhouse/monitoring/ch-grafana-home.png` is excluded by `!**/*.png`
* `docs/images/clickhouse/monitoring/ch-grafana-import.png` is excluded by `!**/*.png`
* `docs/images/clickhouse/monitoring/ch-grafana-login.png` is excluded by `!**/*.png`
* `docs/images/clickhouse/monitoring/ch-grafana-pod-2.png` is excluded by `!**/*.png`
* `docs/images/clickhouse/monitoring/ch-grafana-pod.png` is excluded by `!**/*.png`
* `docs/images/clickhouse/monitoring/ch-grafana-summary-2.png` is excluded by `!**/*.png`
* `docs/images/clickhouse/monitoring/ch-grafana-summary.png` is excluded by `!**/*.png`
* `docs/images/clickhouse/monitoring/ch-prom-targets.png` is excluded by `!**/*.png`
* `docs/images/druid/monitoring/druid-grafana-database-2.png` is excluded by `!**/*.png`
* `docs/images/druid/monitoring/druid-grafana-database.png` is excluded by `!**/*.png`
* `docs/images/druid/monitoring/druid-grafana-home.png` is excluded by `!**/*.png`
* `docs/images/druid/monitoring/druid-grafana-import.png` is excluded by `!**/*.png`
* `docs/images/druid/monitoring/druid-grafana-login.png` is excluded by `!**/*.png`
* `docs/images/druid/monitoring/druid-grafana-pod-2.png` is excluded by `!**/*.png`
* `docs/images/druid/monitoring/druid-grafana-pod.png` is excluded by `!**/*.png`
* `docs/images/druid/monitoring/druid-grafana-summary-2.png` is excluded by `!**/*.png`
* `docs/images/druid/monitoring/druid-grafana-summary.png` is excluded by `!**/*.png`
* `docs/images/druid/monitoring/druid-prom-targets.png` is excluded by `!**/*.png`
* `docs/images/elasticsearch/monitoring/es-grafana-database-2.png` is excluded by `!**/*.png`
* `docs/images/elasticsearch/monitoring/es-grafana-database.png` is excluded by `!**/*.png`
* `docs/images/elasticsearch/monitoring/es-grafana-home.png` is excluded by `!**/*.png`
* `docs/images/elasticsearch/monitoring/es-grafana-import.png` is excluded by `!**/*.png`
* `docs/images/elasticsearch/monitoring/es-grafana-login.png` is excluded by `!**/*.png`
* `docs/images/elasticsearch/monitoring/es-grafana-pod-2.png` is excluded by `!**/*.png`
* `docs/images/elasticsearch/monitoring/es-grafana-pod.png` is excluded by `!**/*.png`
* `docs/images/elasticsearch/monitoring/es-grafana-summary-2.png` is excluded by `!**/*.png`
* `docs/images/elasticsearch/monitoring/es-grafana-summary.png` is excluded by `!**/*.png`
* `docs/images/elasticsearch/monitoring/es-prom-targets.png` is excluded by `!**/*.png`
* `docs/images/kafka/monitoring/kf-grafana-connectcluster-connect-2.png` is excluded by `!**/*.png`
* `docs/images/kafka/monitoring/kf-grafana-connectcluster-connect.png` is excluded by `!**/*.png`
* `docs/images/kafka/monitoring/kf-grafana-connectcluster-pod-2.png` is excluded by `!**/*.png`
* `docs/images/kafka/monitoring/kf-grafana-connectcluster-pod.png` is excluded by `!**/*.png`
* `docs/images/kafka/monitoring/kf-grafana-connectcluster-summary-2.png` is excluded by `!**/*.png`
* `docs/images/kafka/monitoring/kf-grafana-connectcluster-summary.png` is excluded by `!**/*.png`
* `docs/images/kafka/monitoring/kf-grafana-database-2.png` is excluded by `!**/*.png`
* `docs/images/kafka/monitoring/kf-grafana-database.png` is excluded by `!**/*.png`
* `docs/images/kafka/monitoring/kf-grafana-home.png` is excluded by `!**/*.png`
* `docs/images/kafka/monitoring/kf-grafana-import.png` is excluded by `!**/*.png`
* `docs/images/kafka/monitoring/kf-grafana-login.png` is excluded by `!**/*.png`
* `docs/images/kafka/monitoring/kf-grafana-pod-2.png` is excluded by `!**/*.png`
* `docs/images/kafka/monitoring/kf-grafana-pod.png` is excluded by `!**/*.png`
* `docs/images/kafka/monitoring/kf-grafana-summary-2.png` is excluded by `!**/*.png`
* `docs/images/kafka/monitoring/kf-grafana-summary.png` is excluded by `!**/*.png`
* `docs/images/kafka/monitoring/kf-prom-targets.png` is excluded by `!**/*.png`
* `docs/images/mariadb/monitoring/mariadb-grafana-database-2.png` is excluded by `!**/*.png`
* `docs/images/mariadb/monitoring/mariadb-grafana-database.png` is excluded by `!**/*.png`
* `docs/images/mariadb/monitoring/mariadb-grafana-galera-2.png` is excluded by `!**/*.png`
* `docs/images/mariadb/monitoring/mariadb-grafana-galera.png` is excluded by `!**/*.png`
* `docs/images/mariadb/monitoring/mariadb-grafana-home.png` is excluded by `!**/*.png`
* `docs/images/mariadb/monitoring/mariadb-grafana-import.png` is excluded by `!**/*.png`
* `docs/images/mariadb/monitoring/mariadb-grafana-login.png` is excluded by `!**/*.png`
* `docs/images/mariadb/monitoring/mariadb-grafana-pod-2.png` is excluded by `!**/*.png`
* `docs/images/mariadb/monitoring/mariadb-grafana-pod.png` is excluded by `!**/*.png`
* `docs/images/mariadb/monitoring/mariadb-grafana-summary-2.png` is excluded by `!**/*.png`
* `docs/images/mariadb/monitoring/mariadb-grafana-summary.png` is excluded by `!**/*.png`
* `docs/images/mariadb/monitoring/mariadb-prom-targets.png` is excluded by `!**/*.png`
* `docs/images/mongodb/monitoring/mg-grafana-database-2.png` is excluded by `!**/*.png`
* `docs/images/mongodb/monitoring/mg-grafana-database.png` is excluded by `!**/*.png`
* `docs/images/mongodb/monitoring/mg-grafana-home.png` is excluded by `!**/*.png`
* `docs/images/mongodb/monitoring/mg-grafana-import.png` is excluded by `!**/*.png`
* `docs/images/mongodb/monitoring/mg-grafana-login.png` is excluded by `!**/*.png`
* `docs/images/mongodb/monitoring/mg-grafana-pod-2.png` is excluded by `!**/*.png`
* `docs/images/mongodb/monitoring/mg-grafana-pod.png` is excluded by `!**/*.png`
* `docs/images/mongodb/monitoring/mg-grafana-summary-2.png` is excluded by `!**/*.png`
* `docs/images/mongodb/monitoring/mg-grafana-summary.png` is excluded by `!**/*.png`
* `docs/images/mongodb/monitoring/mg-prom-targets.png` is excluded by `!**/*.png`
* `docs/images/mssqlserver/monitoring/ms-grafana-database-2.png` is excluded by `!**/*.png`
* `docs/images/mssqlserver/monitoring/ms-grafana-database.png` is excluded by `!**/*.png`
* `docs/images/mssqlserver/monitoring/ms-grafana-home.png` is excluded by `!**/*.png`
* `docs/images/mssqlserver/monitoring/ms-grafana-import.png` is excluded by `!**/*.png`
* `docs/images/mssqlserver/monitoring/ms-grafana-login.png` is excluded by `!**/*.png`
* `docs/images/mssqlserver/monitoring/ms-grafana-pod-2.png` is excluded by `!**/*.png`
* `docs/images/mssqlserver/monitoring/ms-grafana-pod.png` is excluded by `!**/*.png`
* `docs/images/mssqlserver/monitoring/ms-grafana-summary-2.png` is excluded by `!**/*.png`
* `docs/images/mssqlserver/monitoring/ms-grafana-summary.png` is excluded by `!**/*.png`
* `docs/images/mssqlserver/monitoring/ms-prom-targets.png` is excluded by `!**/*.png`
* `docs/images/mysql/monitoring/mysql-grafana-database-2.png` is excluded by `!**/*.png`
* `docs/images/mysql/monitoring/mysql-grafana-database.png` is excluded by `!**/*.png`
* `docs/images/mysql/monitoring/mysql-grafana-group-replication-2.png` is excluded by `!**/*.png`
* `docs/images/mysql/monitoring/mysql-grafana-group-replication.png` is excluded by `!**/*.png`
* `docs/images/mysql/monitoring/mysql-grafana-home.png` is excluded by `!**/*.png`
* `docs/images/mysql/monitoring/mysql-grafana-import.png` is excluded by `!**/*.png`
* `docs/images/mysql/monitoring/mysql-grafana-login.png` is excluded by `!**/*.png`
* `docs/images/mysql/monitoring/mysql-grafana-pod-2.png` is excluded by `!**/*.png`
* `docs/images/mysql/monitoring/mysql-grafana-pod.png` is excluded by `!**/*.png`
* `docs/images/mysql/monitoring/mysql-grafana-summary-2.png` is excluded by `!**/*.png`
* `docs/images/mysql/monitoring/mysql-grafana-summary.png` is excluded by `!**/*.png`
* `docs/images/mysql/monitoring/mysql-prom-targets.png` is excluded by `!**/*.png`
* `docs/images/percona-xtradb/monitoring/pxc-grafana-database-2.png` is excluded by `!**/*.png`
* `docs/images/percona-xtradb/monitoring/pxc-grafana-database.png` is excluded by `!**/*.png`
* `docs/images/percona-xtradb/monitoring/pxc-grafana-galera-2.png` is excluded by `!**/*.png`
* `docs/images/percona-xtradb/monitoring/pxc-grafana-galera.png` is excluded by `!**/*.png`
* `docs/images/percona-xtradb/monitoring/pxc-grafana-home.png` is excluded by `!**/*.png`
* `docs/images/percona-xtradb/monitoring/pxc-grafana-import.png` is excluded by `!**/*.png`
* `docs/images/percona-xtradb/monitoring/pxc-grafana-login.png` is excluded by `!**/*.png`
* `docs/images/percona-xtradb/monitoring/pxc-grafana-pod-2.png` is excluded by `!**/*.png`
* `docs/images/percona-xtradb/monitoring/pxc-grafana-pod.png` is excluded by `!**/*.png`
* `docs/images/percona-xtradb/monitoring/pxc-grafana-summary-2.png` is excluded by `!**/*.png`
* `docs/images/percona-xtradb/monitoring/pxc-grafana-summary.png` is excluded by `!**/*.png`
* `docs/images/percona-xtradb/monitoring/pxc-prom-targets.png` is excluded by `!**/*.png`
* `docs/images/pgbouncer/monitoring/pb-grafana-database-2.png` is excluded by `!**/*.png`
* `docs/images/pgbouncer/monitoring/pb-grafana-database.png` is excluded by `!**/*.png`
* `docs/images/pgbouncer/monitoring/pb-grafana-home.png` is excluded by `!**/*.png`
* `docs/images/pgbouncer/monitoring/pb-grafana-import.png` is excluded by `!**/*.png`
* `docs/images/pgbouncer/monitoring/pb-grafana-login.png` is excluded by `!**/*.png`
* `docs/images/pgbouncer/monitoring/pb-grafana-pod-2.png` is excluded by `!**/*.png`
* `docs/images/pgbouncer/monitoring/pb-grafana-pod.png` is excluded by `!**/*.png`
* `docs/images/pgbouncer/monitoring/pb-grafana-summary-2.png` is excluded by `!**/*.png`
* `docs/images/pgbouncer/monitoring/pb-grafana-summary.png` is excluded by `!**/*.png`
* `docs/images/pgbouncer/monitoring/pb-prom-targets.png` is excluded by `!**/*.png`
* `docs/images/pgpool/monitoring/pp-grafana-database-2.png` is excluded by `!**/*.png`
* `docs/images/pgpool/monitoring/pp-grafana-database.png` is excluded by `!**/*.png`
* `docs/images/pgpool/monitoring/pp-grafana-home.png` is excluded by `!**/*.png`
* `docs/images/pgpool/monitoring/pp-grafana-import.png` is excluded by `!**/*.png`
* `docs/images/pgpool/monitoring/pp-grafana-login.png` is excluded by `!**/*.png`
* `docs/images/pgpool/monitoring/pp-grafana-pod-2.png` is excluded by `!**/*.png`
* `docs/images/pgpool/monitoring/pp-grafana-pod.png` is excluded by `!**/*.png`
* `docs/images/pgpool/monitoring/pp-grafana-summary-2.png` is excluded by `!**/*.png`
* `docs/images/pgpool/monitoring/pp-grafana-summary.png` is excluded by `!**/*.png`
* `docs/images/pgpool/monitoring/pp-prom-targets.png` is excluded by `!**/*.png`
* `docs/images/postgres/monitoring/pg-grafana-database-2.png` is excluded by `!**/*.png`
* `docs/images/postgres/monitoring/pg-grafana-database.png` is excluded by `!**/*.png`
* `docs/images/postgres/monitoring/pg-grafana-home.png` is excluded by `!**/*.png`
* `docs/images/postgres/monitoring/pg-grafana-import.png` is excluded by `!**/*.png`
* `docs/images/postgres/monitoring/pg-grafana-login.png` is excluded by `!**/*.png`
* `docs/images/postgres/monitoring/pg-grafana-pod-2.png` is excluded by `!**/*.png`
* `docs/images/postgres/monitoring/pg-grafana-pod.png` is excluded by `!**/*.png`
* `docs/images/postgres/monitoring/pg-grafana-summary-2.png` is excluded by `!**/*.png`
* `docs/images/postgres/monitoring/pg-grafana-summary.png` is excluded by `!**/*.png`
* `docs/images/postgres/monitoring/pg-prom-targets.png` is excluded by `!**/*.png`
* `docs/images/proxysql/monitoring/proxysql-grafana-database-2.png` is excluded by `!**/*.png`
* `docs/images/proxysql/monitoring/proxysql-grafana-database.png` is excluded by `!**/*.png`
* `docs/images/proxysql/monitoring/proxysql-grafana-home.png` is excluded by `!**/*.png`
* `docs/images/proxysql/monitoring/proxysql-grafana-import.png` is excluded by `!**/*.png`
* `docs/images/proxysql/monitoring/proxysql-grafana-login.png` is excluded by `!**/*.png`
* `docs/images/proxysql/monitoring/proxysql-grafana-pod-2.png` is excluded by `!**/*.png`
* `docs/images/proxysql/monitoring/proxysql-grafana-pod.png` is excluded by `!**/*.png`
* `docs/images/proxysql/monitoring/proxysql-grafana-summary-2.png` is excluded by `!**/*.png`
* `docs/images/proxysql/monitoring/proxysql-grafana-summary.png` is excluded by `!**/*.png`
* `docs/images/proxysql/monitoring/proxysql-prom-targets.png` is excluded by `!**/*.png`
* `docs/images/rabbitmq/monitoring/rmq-grafana-database-2.png` is excluded by `!**/*.png`
* `docs/images/rabbitmq/monitoring/rmq-grafana-database.png` is excluded by `!**/*.png`
* `docs/images/rabbitmq/monitoring/rmq-grafana-home.png` is excluded by `!**/*.png`
* `docs/images/rabbitmq/monitoring/rmq-grafana-import.png` is excluded by `!**/*.png`
* `docs/images/rabbitmq/monitoring/rmq-grafana-login.png` is excluded by `!**/*.png`
* `docs/images/rabbitmq/monitoring/rmq-grafana-pod-2.png` is excluded by `!**/*.png`
* `docs/images/rabbitmq/monitoring/rmq-grafana-pod.png` is excluded by `!**/*.png`
* `docs/images/rabbitmq/monitoring/rmq-grafana-summary-2.png` is excluded by `!**/*.png`
* `docs/images/rabbitmq/monitoring/rmq-grafana-summary.png` is excluded by `!**/*.png`
* `docs/images/rabbitmq/monitoring/rmq-prom-targets.png` is excluded by `!**/*.png`
* `docs/images/redis/monitoring/rd-grafana-home.png` is excluded by `!**/*.png`
* `docs/images/redis/monitoring/rd-grafana-import.png` is excluded by `!**/*.png`
* `docs/images/redis/monitoring/rd-grafana-login.png` is excluded by `!**/*.png`
* `docs/images/redis/monitoring/rd-grafana-pod-2.png` is excluded by `!**/*.png`
* `docs/images/redis/monitoring/rd-grafana-pod.png` is excluded by `!**/*.png`
* `docs/images/redis/monitoring/rd-grafana-sentinel-pod-2.png` is excluded by `!**/*.png`
* `docs/images/redis/monitoring/rd-grafana-sentinel-pod.png` is excluded by `!**/*.png`
* `docs/images/redis/monitoring/rd-grafana-sentinel-summary-2.png` is excluded by `!**/*.png`
* `docs/images/redis/monitoring/rd-grafana-sentinel-summary.png` is excluded by `!**/*.png`
* `docs/images/redis/monitoring/rd-grafana-shard-2.png` is excluded by `!**/*.png`
* `docs/images/redis/monitoring/rd-grafana-shard.png` is excluded by `!**/*.png`
* `docs/images/redis/monitoring/rd-grafana-summary-2.png` is excluded by `!**/*.png`
* `docs/images/redis/monitoring/rd-grafana-summary.png` is excluded by `!**/*.png`
* `docs/images/redis/monitoring/rd-prom-targets.png` is excluded by `!**/*.png`

</details>

<details>
<summary>📒 Files selected for processing (15)</summary>

* `docs/guides/clickhouse/monitoring/grafana-dashboard.md`
* `docs/guides/druid/monitoring/grafana-dashboard.md`
* `docs/guides/elasticsearch/monitoring/grafana-dashboard.md`
* `docs/guides/kafka/monitoring/grafana-dashboard.md`
* `docs/guides/mariadb/monitoring/grafana-dashboard.md`
* `docs/guides/mongodb/monitoring/grafana-dashboard.md`
* `docs/guides/mssqlserver/monitoring/grafana-dashboard.md`
* `docs/guides/mysql/monitoring/grafana-dashboard.md`
* `docs/guides/percona-xtradb/monitoring/grafana-dashboard.md`
* `docs/guides/pgbouncer/monitoring/grafana-dashboard.md`
* `docs/guides/pgpool/monitoring/grafana-dashboard.md`
* `docs/guides/proxysql/monitoring/grafana-dashboard.md`
* `docs/guides/rabbitmq/monitoring/grafana-dashboard.md`
* `docs/guides/redis/monitoring/grafana-dashboard.md`
* `docs/guides/singlestore/monitoring/grafana-dashboard.md`

</details>

<details>
<summary>✅ Files skipped from review due to trivial changes (7)</summary>

* docs/guides/redis/monitoring/grafana-dashboard.md
* docs/guides/percona-xtradb/monitoring/grafana-dashboard.md
* docs/guides/mysql/monitoring/grafana-dashboard.md
* docs/guides/elasticsearch/monitoring/grafana-dashboard.md
* docs/guides/mariadb/monitoring/grafana-dashboard.md
* docs/guides/rabbitmq/monitoring/grafana-dashboard.md
* docs/guides/proxysql/monitoring/grafana-dashboard.md

</details>

<details>
<summary>🚧 Files skipped from review as they are similar to previous changes (4)</summary>

* docs/guides/mssqlserver/monitoring/grafana-dashboard.md
* docs/guides/singlestore/monitoring/grafana-dashboard.md
* docs/guides/druid/monitoring/grafana-dashboard.md
* docs/guides/kafka/monitoring/grafana-dashboard.md

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Comment thread docs/guides/clickhouse/monitoring/grafana-dashboard.md
Comment thread docs/guides/pgbouncer/monitoring/grafana-dashboard.md

- You need a Kubernetes cluster with `kubectl` configured. If you do not already have a cluster, you can create one by using [kind](https://kind.sigs.k8s.io/docs/user/quick-start/).

- KubeDB must be installed in your cluster with `kubedb-metrics` enabled. Follow the setup guide [here](/docs/setup/README.md) and make sure to include the flag below during installation:

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Use descriptive link text.

"Follow the setup guide [here]" uses non-descriptive link text. Replace with something like "Follow the KubeDB setup guide."

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 23-23: Link text should be descriptive

(MD059, descriptive-link-text)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/guides/pgbouncer/monitoring/grafana-dashboard.md` at line 23, The link
text in the Grafana dashboard monitoring guide is too generic and should be made
descriptive. Update the sentence that currently says “Follow the setup guide
[here](/docs/setup/README.md)” so the link text clearly identifies the
destination, using the existing setup guide reference in this section.

Comment on lines +55 to +58
$ helm upgrade --install prometheus prometheus-community/kube-prometheus-stack \
--namespace monitoring \
--set grafana.image.tag=7.5.5
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Remove or update outdated Grafana version pin.

--set grafana.image.tag=7.5.5 pins Grafana to a 2021 release. This is a security risk and likely incompatible with current dashboard JSON schemas. Remove this flag to use the chart's default, or pin to a recent v11.x if a specific version is required.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/guides/pgbouncer/monitoring/grafana-dashboard.md` around lines 55 - 58,
The Helm install example still pins Grafana through the grafana.image.tag
setting in the monitoring dashboard guide, which is outdated. Update the example
in the kube-prometheus-stack install command by removing that pin or replacing
it with a current v11.x tag if a fixed version is necessary, so the docs
reference a modern Grafana version.

Comment thread docs/guides/pgpool/monitoring/grafana-dashboard.md
Bonusree added 4 commits June 26, 2026 14:56
Signed-off-by: Bonusree <bonusree@appscode.com>
Signed-off-by: Bonusree <bonusree@appscode.com>
Signed-off-by: Bonusree <bonusree@appscode.com>
Signed-off-by: Bonusree <bonusree@appscode.com>
Bonusree added 3 commits June 30, 2026 10:50
Signed-off-by: Bonusree <bonusree@appscode.com>
Signed-off-by: Bonusree <bonusree@appscode.com>
Signed-off-by: Bonusree <bonusree@appscode.com>
@Bonusree
Bonusree marked this pull request as draft July 6, 2026 07:35
Comment thread docs/guides/pgbouncer/monitoring/grafana-dashboard.md Outdated
Comment thread docs/guides/pgbouncer/monitoring/grafana-dashboard.md Outdated
Comment thread docs/guides/pgpool/monitoring/grafana-dashboard.md Outdated

@fr-sarker fr-sarker left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

you can find dashboard images for all database in image directory, Dashboard-image

Comment thread docs/guides/neo4j/monitoring/grafana-dashboard.md Outdated
Bonusree added 2 commits July 8, 2026 18:12
Signed-off-by: Bonusree <bonusree@appscode.com>
Signed-off-by: Bonusree <bonusree@appscode.com>
Bonusree added 3 commits July 10, 2026 11:04
Signed-off-by: Bonusree <bonusree@appscode.com>
Signed-off-by: Bonusree <bonusree@appscode.com>
Signed-off-by: Bonusree <bonusree@appscode.com>
Comment thread docs/images/mariadb/monitoring/mariadb-grafana-summary-2.png Outdated
Comment thread docs/images/mariadb/monitoring/mariadb-grafana-database.png
Comment thread docs/guides/clickhouse/monitoring/grafana-dashboard.md Outdated
Comment thread docs/guides/solr/monitoring/grafana-dashboard.md Outdated
Signed-off-by: Bonusree <bonusree@appscode.com>
Bonusree added 3 commits July 14, 2026 12:06
Signed-off-by: Bonusree <bonusree@appscode.com>
Signed-off-by: Bonusree <bonusree@appscode.com>
Signed-off-by: Bonusree <bonusree@appscode.com>
Comment thread docs/guides/percona-xtradb/monitoring/grafana-dashboard.md Outdated
Signed-off-by: Bonusree <bonusree@appscode.com>
Comment thread docs/guides/neo4j/monitoring/grafana-dashboard.md Outdated
Comment thread docs/guides/neo4j/monitoring/grafana-dashboard.md Outdated
Bonusree added 4 commits July 21, 2026 13:16
Signed-off-by: Bonusree <bonusree@appscode.com>
Signed-off-by: Bonusree <bonusree@appscode.com>
Signed-off-by: Bonusree <bonusree@appscode.com>
Signed-off-by: Bonusree <bonusree@appscode.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants