Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
96a440d
docs: reorganize integrations page to focus on alert forwarding
aantn Jul 15, 2025
e6945b4
docs: move sinks from Integrations to Notifications & Routing section
aantn Jul 15, 2025
1a00d80
docs: fix integration page hierarchy and remove redundancy
aantn Jul 15, 2025
6453e54
docs: major reorganization - separate Alert Sources, AI Analysis, and…
aantn Jul 15, 2025
d26f620
docs: improve notifications navigation with proper hierarchy
aantn Jul 15, 2025
2db9341
docs: move Nagios and SolarWinds to top-level Alert Sources
aantn Jul 15, 2025
7909e2d
docs: make Alert Sources overview more concise and actionable
aantn Jul 15, 2025
70ace66
docs: remove negative labels like 'legacy' and 'enterprise'
aantn Jul 15, 2025
8f447cd
docs: add helpful link to webhook documentation for other systems
aantn Jul 15, 2025
a431002
docs: fix webhook link to point to correct API documentation
aantn Jul 15, 2025
a8178f7
docs: move webhook API to Alert Sources section where it belongs
aantn Jul 15, 2025
a1cfef6
docs: switch from horizontal tabs to left sidebar navigation
aantn Jul 15, 2025
2fdd287
switch to sidebar navigation
aantn Jul 15, 2025
745ed97
clarify on pro features
aantn Jul 15, 2025
7993d67
put robusta pro features in the right place
aantn Jul 15, 2025
8fde0e5
docs
aantn Jul 21, 2025
ac04986
Update index.rst
aantn Jul 21, 2025
6e56877
fixes
aantn Jul 21, 2025
5ef13d1
Update disable-oomkill-notifications.rst
aantn Aug 5, 2025
ce9512d
Update alert-builtin-enrichment.rst
aantn Aug 5, 2025
f629779
Merge branch 'master' into more-doc-improvements
aantn Aug 5, 2025
d98ce3c
revert changes
aantn Aug 5, 2025
1b8bb05
Merge branch 'master' into more-doc-improvements
aantn Aug 5, 2025
561561a
small sphinx fixes
aantn Aug 5, 2025
4f1004f
unify prometheus terminology
aantn Aug 5, 2025
a1db1ba
Update alert-custom-prometheus.rst
aantn Aug 5, 2025
3f8e030
Update index.rst
aantn Aug 6, 2025
9a5019c
Update index.rst
aantn Aug 6, 2025
84f0e22
reorganize docs
aantn Aug 11, 2025
290c683
Merge master into docs-reorganize branch
aantn Aug 11, 2025
2df3008
Update _pull_integration.rst
aantn Aug 11, 2025
f791f03
Update alert-manager.rst
aantn Aug 11, 2025
5844956
Update metric-providers-in-cluster.rst
aantn Aug 11, 2025
747ebb8
Update help.rst
aantn Aug 11, 2025
65e2ec5
Removed some extra content
pavangudiwada Aug 12, 2025
e30d065
Fixed links to authentication
pavangudiwada Aug 14, 2025
5203fe7
Removed unnecessary content
pavangudiwada Aug 14, 2025
c783202
Minor edits
pavangudiwada Aug 18, 2025
883ae70
Minor fix
pavangudiwada Aug 18, 2025
905881c
Fix help docs
pavangudiwada Aug 19, 2025
6505086
Added warnings
pavangudiwada Aug 20, 2025
862e74e
Fixed namespace resource warning
pavangudiwada Aug 20, 2025
382a929
Fixes to VM
pavangudiwada Aug 20, 2025
af79123
Fixed vm and coralogix docs
pavangudiwada Aug 20, 2025
9ed579a
Fixed broken link
pavangudiwada Aug 20, 2025
608f0cb
More fixes
pavangudiwada Aug 20, 2025
9e8fd78
Updated Holmes Installation method
pavangudiwada Aug 20, 2025
28629f2
Update external prom docs
pavangudiwada Aug 20, 2025
52a6a79
docs for krr api (#1891)
nherment Aug 12, 2025
a4725a0
feat: runner binding address configurable using env variable (#1881)
donch Aug 12, 2025
c7a7fa4
Add krr security context (#1895)
moshemorad Aug 18, 2025
ba0061d
Update dev-setup.rst (#1897)
RinkiyaKeDad Aug 18, 2025
825ef85
removing @ to prevent holmes from automatically reading the thread (#…
Avi-Robusta Aug 19, 2025
af986c0
Handle holmes rate limit (#1896)
moshemorad Aug 19, 2025
d427502
Merge remote-tracking branch 'origin/master' into docs-reorganize
aantn Aug 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 29 additions & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,35 @@
"tutorials/alert-custom-prometheus.html": "/master/configuration/alertmanager-integration/alert-custom-prometheus.html",
"catalog/triggers/prometheus.html": "/master/configuration/alertmanager-integration/index.html",
"playbook-reference/prometheus-examples/alert-remediation.html": "/master/playbook-reference/automatic-remediation-examples/index.html",
"configuration/ai-analysis.html": "/master/configuration/holmesgpt/index.html",
"configuration/ai-analysis.html": "/master/configuration/holmesgpt/main-features.html",
"configuration/holmesgpt/index.html": "/master/configuration/holmesgpt/main-features.html",
# AI Analysis pages redirects to holmesgpt.dev (docs have moved there)
"configuration/holmesgpt/builtin_toolsets.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/",
"configuration/holmesgpt/permissions.html": "https://holmesgpt.dev/data-sources/permissions/",
"configuration/holmesgpt/custom_toolsets.html": "https://holmesgpt.dev/data-sources/custom-toolsets/",
"configuration/holmesgpt/remote_mcp_servers.html": "https://holmesgpt.dev/data-sources/remote-mcp-servers/",
# Individual toolset page redirects
"configuration/holmesgpt/toolsets/argocd.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/argocd/",
"configuration/holmesgpt/toolsets/aws.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/aws/",
"configuration/holmesgpt/toolsets/confluence.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/confluence/",
"configuration/holmesgpt/toolsets/coralogix_logs.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/coralogix-logs/",
"configuration/holmesgpt/toolsets/datadog_logs.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/datadog/",
"configuration/holmesgpt/toolsets/datetime.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/datetime/",
"configuration/holmesgpt/toolsets/docker.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/docker/",
"configuration/holmesgpt/toolsets/grafanaloki.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/grafanaloki/",
"configuration/holmesgpt/toolsets/grafanatempo.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/grafanatempo/",
"configuration/holmesgpt/toolsets/helm.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/helm/",
"configuration/holmesgpt/toolsets/internet.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/internet/",
"configuration/holmesgpt/toolsets/kafka.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/kafka/",
"configuration/holmesgpt/toolsets/kubernetes.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/kubernetes/",
"configuration/holmesgpt/toolsets/newrelic.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/newrelic/",
"configuration/holmesgpt/toolsets/notion.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/notion/",
"configuration/holmesgpt/toolsets/opensearch_logs.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/opensearch-logs/",
"configuration/holmesgpt/toolsets/opensearch_status.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/opensearch-status/",
"configuration/holmesgpt/toolsets/prometheus.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/prometheus/",
"configuration/holmesgpt/toolsets/rabbitmq.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/rabbitmq/",
"configuration/holmesgpt/toolsets/robusta.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/robusta/",
"configuration/holmesgpt/toolsets/slab.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/slab/",
"coverage.html": "/master/how-it-works/coverage.html",
"tutorials/python-profiling.html": "/master/playbook-reference/actions/python-troubleshooting.html#python-profiler",
"tutorials/more-tutorials.html": "/master/community-tutorials.html",
Expand Down
126 changes: 63 additions & 63 deletions docs/configuration/alertmanager-integration/_alertmanager-config.rst
Original file line number Diff line number Diff line change
@@ -1,63 +1,63 @@
.. admonition:: AlertManager config for sending alerts to Robusta

.. tab-set::

.. tab-item:: kube-prometheus-stack (Prometheus Operator)

Add the following to your `AlertManager's config Secret <https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/alerting.md#managing-alertmanager-configuration>`_

Do not apply in other ways, they all `have limitations <https://github.com/prometheus-operator/prometheus-operator/issues/3750>`_ and won't forward all alerts.

.. code-block:: yaml

receivers:
- name: 'robusta'
webhook_configs:
- url: 'http://<helm-release-name>-runner.<namespace>.svc.cluster.local/api/alerts'
send_resolved: true # (3)
- name: 'default-receiver'

route: # (1)
routes:
- receiver: 'robusta'
group_by: [ '...' ]
group_wait: 1s
group_interval: 1s
matchers:
- severity =~ ".*"
repeat_interval: 4h
continue: true # (2)
receiver: 'default-receiver'

.. code-annotations::
1. Put Robusta's route as the first route, to guarantee it receives alerts. If you can't do so, you must guarantee all previous routes set ``continue: true`` set.
2. Keep sending alerts to receivers defined after Robusta.
3. Important, so Robusta knows when alerts are resolved.

.. tab-item:: Other Prometheus Installations

Add the following to your AlertManager configuration, wherever it is defined.

.. code-block:: yaml

receivers:
- name: 'robusta'
webhook_configs:
- url: 'http://<helm-release-name>-runner.<namespace>.svc.cluster.local/api/alerts'
send_resolved: true # (3)

route: # (1)
routes:
- receiver: 'robusta'
group_by: [ '...' ]
group_wait: 1s
group_interval: 1s
matchers:
- severity =~ ".*"
repeat_interval: 4h
continue: true # (2)

.. code-annotations::
1. Put Robusta's route as the first route, to guarantee it receives alerts. If you can't do so, you must guarantee all previous routes set ``continue: true`` set.
2. Keep sending alerts to receivers defined after Robusta.
3. Important, so Robusta knows when alerts are resolved.
Configure your AlertManager to send alerts to Robusta:

.. tab-set::

.. tab-item:: kube-prometheus-stack (Prometheus Operator)

Add the following to your `AlertManager's config Secret <https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/alerting.md#managing-alertmanager-configuration>`_.

Do not apply in other ways, they all `have limitations <https://github.com/prometheus-operator/prometheus-operator/issues/3750>`_ and won't forward all alerts.

.. code-block:: yaml

receivers:
- name: 'robusta'
webhook_configs:
- url: 'http://<helm-release-name>-runner.<namespace>.svc.cluster.local/api/alerts'
send_resolved: true # (3)
- name: 'default-receiver'

route: # (1)
routes:
- receiver: 'robusta'
group_by: [ '...' ]
group_wait: 1s
group_interval: 1s
matchers:
- severity =~ ".*"
repeat_interval: 4h
continue: true # (2)
receiver: 'default-receiver'

.. code-annotations::
1. Put Robusta's route as the first route, to guarantee it receives alerts. If you can't do so, you must guarantee all previous routes set ``continue: true``.
2. Keep sending alerts to receivers defined after Robusta.
3. Important, so Robusta knows when alerts are resolved.

.. tab-item:: Other Prometheus Installations

Add the following to your AlertManager configuration, wherever it is defined.

.. code-block:: yaml

receivers:
- name: 'robusta'
webhook_configs:
- url: 'http://<helm-release-name>-runner.<namespace>.svc.cluster.local/api/alerts'
send_resolved: true # (3)

route: # (1)
routes:
- receiver: 'robusta'
group_by: [ '...' ]
group_wait: 1s
group_interval: 1s
matchers:
- severity =~ ".*"
repeat_interval: 4h
continue: true # (2)

.. code-annotations::
1. Put Robusta's route as the first route, to guarantee it receives alerts. If you can't do so, you must guarantee all previous routes set ``continue: true``.
2. Keep sending alerts to receivers defined after Robusta.
3. Important, so Robusta knows when alerts are resolved.
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@

Robusta utilizes the flags API to retrieve data from Prometheus-style metric stores. However, some platforms like Google Managed Prometheus, Azure Managed Prometheus etc, do not implement the flags API.

You can disable the Prometheus flags API check by setting the following option to ``false``.
You can disable the Prometheus flags API check by setting the following option to false.

.. code-block:: yaml

globalConfig:
check_prometheus_flags: true/false
globalConfig:
check_prometheus_flags: true/false
79 changes: 4 additions & 75 deletions docs/configuration/alertmanager-integration/_pull_integration.rst
Original file line number Diff line number Diff line change
@@ -1,81 +1,10 @@
Configure Metric Querying
====================================

Metrics querying lets Robusta pull metrics and create silences.
To enable Robusta to pull metrics and create silences, you need to configure Prometheus and AlertManager URLs.

If Robusta fails to auto-detect the Prometheus and Alertmanager urls - and you see related connection errors in the logs - configure the ``prometheus_url`` and ``alertmanager_url`` in your Helm values and :ref:`update Robusta <Simple Upgrade>`
See :doc:`Prometheus and metrics configuration </configuration/metric-providers-in-cluster>` for detailed instructions.

.. code-block:: yaml
.. note::

globalConfig: # This line should already exist
# Add the lines below
alertmanager_url: "http://ALERT_MANAGER_SERVICE_NAME.NAMESPACE.svc.cluster.local:9093" # (1)
prometheus_url: "http://PROMETHEUS_SERVICE_NAME.NAMESPACE.svc.cluster.local:9090" # (2)

# If Prometheus has data for multiple clusters, tell Robusta how to query data for this cluster only
# prometheus_additional_labels:
# cluster: 'CLUSTER_NAME_HERE'

# If using Grafana alerts, add this too
# grafana_api_key: <YOUR GRAFANA EDITOR API KEY> # (3)
# alertmanager_flavor: grafana

# If necessary, see docs below
# prometheus_auth: ...
# alertmanager_auth: ...

# If using a multi-tenant prometheus or alertmanager, pass the org id to all queries
# prometheus_additional_headers:
# X-Scope-OrgID: <org id>
# alertmanager_additional_headers:
# X-Scope-OrgID: <org id>

.. code-annotations::
1. Example: http://alertmanager-Helm_release_name-kube-prometheus-alertmanager.default.svc.cluster.local:9093.
2. Example: http://Helm_Release_Name-kube-prometheus-prometheus.default.svc.cluster.local:9090
3. This is necessary for Robusta to create silences when using Grafana Alerts, because of minor API differences in the AlertManager embedded in Grafana.

You can optionally setup authentication, SSL verification, and other parameters described below.

Verify it Works
^^^^^^^^^^^^^^^^^
Open any application in the Robusta UI. If CPU and memory graphs are shown, everything is working.

If you don't use the Robusta UI, trigger a `demo OOMKill alert <https://github.com/robusta-dev/kubernetes-demos/#oomkilled-pod-out-of-memory-kill>`_,
and verify that Robusta sends a Slack/Teams message with a memory graph included. If so, everything is configured properly.

Optional Settings
=============================

Authentication Headers
^^^^^^^^^^^^^^^^^^^^^^^^^^

If Prometheus and/or AlertManager require authentication, add the following to ``generated_values.yaml``:

.. code-block:: yaml

globalConfig:
prometheus_auth: Bearer <YOUR TOKEN> # Replace <YOUR TOKEN> with your actual token or use any other auth header as needed
alertmanager_auth: Basic <USER:PASSWORD base64-encoded> # Replace <USER:PASSWORD base64-encoded> with your actual credentials, base64-encoded, or use any other auth header as needed

These settings may be configured independently.

SSL Verification
^^^^^^^^^^^^^^^^^^^^
By default, Robusta does not verify the SSL certificate of the Prometheus server.

To enable SSL verification, add the following to Robusta's ``generated_values.yaml``:

.. code-block:: yaml

runner:
additional_env_vars:
- name: PROMETHEUS_SSL_ENABLED
value: "true"

If you have a custom Certificate Authority (CA) certificate, add one more setting:

.. code-block:: yaml

runner:
certificate: "<YOUR BASE-64 ENCODED DATA>" # base64-encoded certificate value
Robusta will attempt to auto-detect Prometheus and AlertManager URLs in your cluster. Manual configuration is only needed if auto-detection fails.
Comment on lines +4 to +10
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Cross-link to AlertManager send-to-Robusta config and verify doc target

The minimal guidance is good. Two follow-ups:

  • Add a link to the companion page that shows how to forward alerts to Robusta.
  • Verify the :doc: target path exists.

Proposed tweak:

 To enable Robusta to pull metrics and create silences, you need to configure Prometheus and AlertManager URLs.
 
-See :doc:`Prometheus and metrics configuration </configuration/metric-providers-in-cluster>` for detailed instructions.
+See :doc:`Prometheus and metrics configuration </configuration/metric-providers-in-cluster>` for detailed instructions.
+To send alerts to Robusta, also follow :doc:`AlertManager configuration </configuration/alertmanager-integration/_alertmanager-config>`.
 
 .. note::
 
     Robusta will attempt to auto-detect Prometheus and AlertManager URLs in your cluster. Manual configuration is only needed if auto-detection fails.

Validate the targets exist:


🏁 Script executed:

#!/bin/bash
# Ensure the doc targets referenced actually exist
fd -a metric-providers-in-cluster.rst
fd -a _alertmanager-config.rst

Length of output: 230


Add cross-link to AlertManager send-to-Robusta guide and verify targets

Both doc targets exist under docs/configuration:

  • metric-providers-in-cluster.rst
  • alertmanager-integration/_alertmanager-config.rst

Apply this diff in docs/configuration/alertmanager-integration/_pull_integration.rst:

 To enable Robusta to pull metrics and create silences, you need to configure Prometheus and AlertManager URLs.
 
-See :doc:`Prometheus and metrics configuration </configuration/metric-providers-in-cluster>` for detailed instructions.
+See :doc:`Prometheus and metrics configuration </configuration/metric-providers-in-cluster>` for detailed instructions.
+To send alerts to Robusta, also follow :doc:`AlertManager configuration </configuration/alertmanager-integration/_alertmanager-config>`.
 
 .. note::
 
     Robusta will attempt to auto-detect Prometheus and AlertManager URLs in your cluster. Manual configuration is only needed if auto-detection fails.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
To enable Robusta to pull metrics and create silences, you need to configure Prometheus and AlertManager URLs.
If Robusta fails to auto-detect the Prometheus and Alertmanager urls - and you see related connection errors in the logs - configure the ``prometheus_url`` and ``alertmanager_url`` in your Helm values and :ref:`update Robusta <Simple Upgrade>`
See :doc:`Prometheus and metrics configuration </configuration/metric-providers-in-cluster>` for detailed instructions.
.. code-block:: yaml
.. note::
globalConfig: # This line should already exist
# Add the lines below
alertmanager_url: "http://ALERT_MANAGER_SERVICE_NAME.NAMESPACE.svc.cluster.local:9093" # (1)
prometheus_url: "http://PROMETHEUS_SERVICE_NAME.NAMESPACE.svc.cluster.local:9090" # (2)
# If Prometheus has data for multiple clusters, tell Robusta how to query data for this cluster only
# prometheus_additional_labels:
# cluster: 'CLUSTER_NAME_HERE'
# If using Grafana alerts, add this too
# grafana_api_key: <YOUR GRAFANA EDITOR API KEY> # (3)
# alertmanager_flavor: grafana
# If necessary, see docs below
# prometheus_auth: ...
# alertmanager_auth: ...
# If using a multi-tenant prometheus or alertmanager, pass the org id to all queries
# prometheus_additional_headers:
# X-Scope-OrgID: <org id>
# alertmanager_additional_headers:
# X-Scope-OrgID: <org id>
.. code-annotations::
1. Example: http://alertmanager-Helm_release_name-kube-prometheus-alertmanager.default.svc.cluster.local:9093.
2. Example: http://Helm_Release_Name-kube-prometheus-prometheus.default.svc.cluster.local:9090
3. This is necessary for Robusta to create silences when using Grafana Alerts, because of minor API differences in the AlertManager embedded in Grafana.
You can optionally setup authentication, SSL verification, and other parameters described below.
Verify it Works
^^^^^^^^^^^^^^^^^
Open any application in the Robusta UI. If CPU and memory graphs are shown, everything is working.
If you don't use the Robusta UI, trigger a `demo OOMKill alert <https://github.com/robusta-dev/kubernetes-demos/#oomkilled-pod-out-of-memory-kill>`_,
and verify that Robusta sends a Slack/Teams message with a memory graph included. If so, everything is configured properly.
Optional Settings
=============================
Authentication Headers
^^^^^^^^^^^^^^^^^^^^^^^^^^
If Prometheus and/or AlertManager require authentication, add the following to ``generated_values.yaml``:
.. code-block:: yaml
globalConfig:
prometheus_auth: Bearer <YOUR TOKEN> # Replace <YOUR TOKEN> with your actual token or use any other auth header as needed
alertmanager_auth: Basic <USER:PASSWORD base64-encoded> # Replace <USER:PASSWORD base64-encoded> with your actual credentials, base64-encoded, or use any other auth header as needed
These settings may be configured independently.
SSL Verification
^^^^^^^^^^^^^^^^^^^^
By default, Robusta does not verify the SSL certificate of the Prometheus server.
To enable SSL verification, add the following to Robusta's ``generated_values.yaml``:
.. code-block:: yaml
runner:
additional_env_vars:
- name: PROMETHEUS_SSL_ENABLED
value: "true"
If you have a custom Certificate Authority (CA) certificate, add one more setting:
.. code-block:: yaml
runner:
certificate: "<YOUR BASE-64 ENCODED DATA>" # base64-encoded certificate value
Robusta will attempt to auto-detect Prometheus and AlertManager URLs in your cluster. Manual configuration is only needed if auto-detection fails.
To enable Robusta to pull metrics and create silences, you need to configure Prometheus and AlertManager URLs.
See :doc:`Prometheus and metrics configuration </configuration/metric-providers-in-cluster>` for detailed instructions.
To send alerts to Robusta, also follow :doc:`AlertManager configuration </configuration/alertmanager-integration/_alertmanager-config>`.
.. note::
Robusta will attempt to auto-detect Prometheus and AlertManager URLs in your cluster. Manual configuration is only needed if auto-detection fails.
🤖 Prompt for AI Agents
In docs/configuration/alertmanager-integration/_pull_integration.rst around
lines 4 to 10, the documentation needs a cross-link to the AlertManager
"send-to-Robusta" configuration guide and a note to verify
Prometheus/AlertManager targets; update the paragraph to add a Sphinx
cross-reference to
docs/configuration/alertmanager-integration/_alertmanager-config.rst (e.g.,
:doc:`AlertManager configuration
</configuration/alertmanager-integration/_alertmanager-config>`), keep the
existing Prometheus link to metric-providers-in-cluster.rst, and add a short
sentence instructing users to verify their Prometheus/AlertManager
scrape/alertmanager targets are reachable from Robusta before relying on
auto-detection.

Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,4 @@ If everything is setup properly, this alert will reach Robusta. It will show up

Robusta enriches alerts with Kubernetes and log data using Prometheus labels for mapping.
Standard label names are used by default. If your setup differs, you can
:ref:`customize this mapping <Relabel Prometheus Alerts>` to fit your environment.
`customize this mapping </setup-robusta/additional-settings.html#alert-label-mapping>`_ to fit your environment.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Avoid hard-coded .html paths for internal docs; use Sphinx refs

Root-absolute HTML links are brittle across builders and hosting paths. Prefer a Sphinx cross-ref to the labeled section instead.

Proposed change:

-    `customize this mapping </setup-robusta/additional-settings.html#alert-label-mapping>`_ to fit your environment.
+    :ref:`customize this mapping <alert-label-mapping>` to fit your environment.

Run this to verify the target label exists:


🏁 Script executed:

#!/bin/bash
# Verify the 'alert-label-mapping' target exists somewhere in the docs
rg -n --no-heading $'(^\\s*\\.\\.\\s*_alert-label-mapping:\\s*$)|(^\\s*\\.{1,2}\\s+_?alert-label-mapping:)'
# Also check the referenced file exists (if you keep the direct link)
fd -a additional-settings.rst | sed 's/^/FILE: /'

Length of output: 220


🏁 Script executed:

#!/bin/bash
# Search for section heading 'Alert Label Mapping'
rg -n 'alert label mapping' -i docs/setup-robusta/additional-settings.rst -C2

# Search for any heading 'Label Mapping' 
rg -n 'label mapping' -i docs/setup-robusta/additional-settings.rst -C2

# Search for explicit Sphinx label definition for 'alert-label-mapping'
rg -n '\.\.\s*_?alert-label-mapping' -in docs/setup-robusta/additional-settings.rst -C2

Length of output: 243


🏁 Script executed:

#!/bin/bash
# Search for any existing Sphinx labels in the file
rg -n '^.. _' docs/setup-robusta/additional-settings.rst -C1

# Search for any occurrences of 'mapping' to locate the section heading
rg -n 'mapping' docs/setup-robusta/additional-settings.rst -C3

# Search for RST section headings pattern (text underlined by =, -, ~, etc.)
rg -n -P '^[^\n]+\n[=\\-~`^"+]{3,}$' docs/setup-robusta/additional-settings.rst -A1

Length of output: 829


Use a Sphinx cross‐reference instead of a hard-coded HTML link

Hard-coded .html links are brittle across different builders and hosting paths. To make this link resilient:

• In docs/setup-robusta/additional-settings.rst, add a label above the section where you explain alert label mapping (around line 57):

.. _alert-label-mapping:

If your alerts have different labels, you can change the mapping with the ``alertRelabel`` helm value.

• In docs/configuration/alertmanager-integration/_testing_integration.rst, replace the HTML link:

- `customize this mapping </setup-robusta/additional-settings.html#alert-label-mapping>`_
+ :ref:`customize this mapping <alert-label-mapping>`

This ensures the internal link remains valid even if the output path changes.

🤖 Prompt for AI Agents
In docs/configuration/alertmanager-integration/_testing_integration.rst around
line 59, the file contains a hard-coded HTML link to
setup-robusta/additional-settings.html which is brittle; replace it with a
Sphinx cross-reference to the labeled section in
docs/setup-robusta/additional-settings.rst (add a label .. _alert-label-mapping:
above that section if not present) and update the link here to use the internal
reference syntax (e.g. :ref:`alert-label-mapping`) so the link remains valid
across builders and output paths.

10 changes: 3 additions & 7 deletions docs/configuration/alertmanager-integration/alert-manager.rst
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
In-cluster Prometheus
In-cluster AlertManager Integration
****************************************

Here's how to integrate an existing Prometheus with Robusta in the same cluster:
This guide shows how to send alerts from an existing AlertManager to Robusta in the same cluster.

* Send alerts to Robusta by adding a receiver to AlertManager
* Point Robusta at Prometheus so it can query metrics and silence alerts
* Robusta will attempt auto-detection, so this is not always necessary!

If your Prometheus is in a different cluster, refer to :ref:`External Prometheus`.
If your AlertManager is in a different cluster, refer to :ref:`External Prometheus`.

Send Alerts to Robusta
============================
Expand Down
Loading