Skip to content

Commit a7adc1c

Browse files
Docs reorganize clean (#1902)
1 parent ce617c7 commit a7adc1c

File tree

70 files changed

+2244
-5096
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+2244
-5096
lines changed

docs/conf.py

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,35 @@
122122
"tutorials/alert-custom-prometheus.html": "/master/configuration/alertmanager-integration/alert-custom-prometheus.html",
123123
"catalog/triggers/prometheus.html": "/master/configuration/alertmanager-integration/index.html",
124124
"playbook-reference/prometheus-examples/alert-remediation.html": "/master/playbook-reference/automatic-remediation-examples/index.html",
125-
"configuration/ai-analysis.html": "/master/configuration/holmesgpt/index.html",
125+
"configuration/ai-analysis.html": "/master/configuration/holmesgpt/main-features.html",
126+
"configuration/holmesgpt/index.html": "/master/configuration/holmesgpt/main-features.html",
127+
# AI Analysis pages redirects to holmesgpt.dev (docs have moved there)
128+
"configuration/holmesgpt/builtin_toolsets.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/",
129+
"configuration/holmesgpt/permissions.html": "https://holmesgpt.dev/data-sources/permissions/",
130+
"configuration/holmesgpt/custom_toolsets.html": "https://holmesgpt.dev/data-sources/custom-toolsets/",
131+
"configuration/holmesgpt/remote_mcp_servers.html": "https://holmesgpt.dev/data-sources/remote-mcp-servers/",
132+
# Individual toolset page redirects
133+
"configuration/holmesgpt/toolsets/argocd.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/argocd/",
134+
"configuration/holmesgpt/toolsets/aws.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/aws/",
135+
"configuration/holmesgpt/toolsets/confluence.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/confluence/",
136+
"configuration/holmesgpt/toolsets/coralogix_logs.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/coralogix-logs/",
137+
"configuration/holmesgpt/toolsets/datadog_logs.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/datadog/",
138+
"configuration/holmesgpt/toolsets/datetime.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/datetime/",
139+
"configuration/holmesgpt/toolsets/docker.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/docker/",
140+
"configuration/holmesgpt/toolsets/grafanaloki.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/grafanaloki/",
141+
"configuration/holmesgpt/toolsets/grafanatempo.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/grafanatempo/",
142+
"configuration/holmesgpt/toolsets/helm.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/helm/",
143+
"configuration/holmesgpt/toolsets/internet.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/internet/",
144+
"configuration/holmesgpt/toolsets/kafka.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/kafka/",
145+
"configuration/holmesgpt/toolsets/kubernetes.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/kubernetes/",
146+
"configuration/holmesgpt/toolsets/newrelic.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/newrelic/",
147+
"configuration/holmesgpt/toolsets/notion.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/notion/",
148+
"configuration/holmesgpt/toolsets/opensearch_logs.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/opensearch-logs/",
149+
"configuration/holmesgpt/toolsets/opensearch_status.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/opensearch-status/",
150+
"configuration/holmesgpt/toolsets/prometheus.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/prometheus/",
151+
"configuration/holmesgpt/toolsets/rabbitmq.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/rabbitmq/",
152+
"configuration/holmesgpt/toolsets/robusta.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/robusta/",
153+
"configuration/holmesgpt/toolsets/slab.html": "https://holmesgpt.dev/data-sources/builtin-toolsets/slab/",
126154
"coverage.html": "/master/how-it-works/coverage.html",
127155
"tutorials/python-profiling.html": "/master/playbook-reference/actions/python-troubleshooting.html#python-profiler",
128156
"tutorials/more-tutorials.html": "/master/community-tutorials.html",
Lines changed: 63 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,63 @@
1-
.. admonition:: AlertManager config for sending alerts to Robusta
2-
3-
.. tab-set::
4-
5-
.. tab-item:: kube-prometheus-stack (Prometheus Operator)
6-
7-
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>`_
8-
9-
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.
10-
11-
.. code-block:: yaml
12-
13-
receivers:
14-
- name: 'robusta'
15-
webhook_configs:
16-
- url: 'http://<helm-release-name>-runner.<namespace>.svc.cluster.local/api/alerts'
17-
send_resolved: true # (3)
18-
- name: 'default-receiver'
19-
20-
route: # (1)
21-
routes:
22-
- receiver: 'robusta'
23-
group_by: [ '...' ]
24-
group_wait: 1s
25-
group_interval: 1s
26-
matchers:
27-
- severity =~ ".*"
28-
repeat_interval: 4h
29-
continue: true # (2)
30-
receiver: 'default-receiver'
31-
32-
.. code-annotations::
33-
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.
34-
2. Keep sending alerts to receivers defined after Robusta.
35-
3. Important, so Robusta knows when alerts are resolved.
36-
37-
.. tab-item:: Other Prometheus Installations
38-
39-
Add the following to your AlertManager configuration, wherever it is defined.
40-
41-
.. code-block:: yaml
42-
43-
receivers:
44-
- name: 'robusta'
45-
webhook_configs:
46-
- url: 'http://<helm-release-name>-runner.<namespace>.svc.cluster.local/api/alerts'
47-
send_resolved: true # (3)
48-
49-
route: # (1)
50-
routes:
51-
- receiver: 'robusta'
52-
group_by: [ '...' ]
53-
group_wait: 1s
54-
group_interval: 1s
55-
matchers:
56-
- severity =~ ".*"
57-
repeat_interval: 4h
58-
continue: true # (2)
59-
60-
.. code-annotations::
61-
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.
62-
2. Keep sending alerts to receivers defined after Robusta.
63-
3. Important, so Robusta knows when alerts are resolved.
1+
Configure your AlertManager to send alerts to Robusta:
2+
3+
.. tab-set::
4+
5+
.. tab-item:: kube-prometheus-stack (Prometheus Operator)
6+
7+
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>`_.
8+
9+
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.
10+
11+
.. code-block:: yaml
12+
13+
receivers:
14+
- name: 'robusta'
15+
webhook_configs:
16+
- url: 'http://<helm-release-name>-runner.<namespace>.svc.cluster.local/api/alerts'
17+
send_resolved: true # (3)
18+
- name: 'default-receiver'
19+
20+
route: # (1)
21+
routes:
22+
- receiver: 'robusta'
23+
group_by: [ '...' ]
24+
group_wait: 1s
25+
group_interval: 1s
26+
matchers:
27+
- severity =~ ".*"
28+
repeat_interval: 4h
29+
continue: true # (2)
30+
receiver: 'default-receiver'
31+
32+
.. code-annotations::
33+
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``.
34+
2. Keep sending alerts to receivers defined after Robusta.
35+
3. Important, so Robusta knows when alerts are resolved.
36+
37+
.. tab-item:: Other Prometheus Installations
38+
39+
Add the following to your AlertManager configuration, wherever it is defined.
40+
41+
.. code-block:: yaml
42+
43+
receivers:
44+
- name: 'robusta'
45+
webhook_configs:
46+
- url: 'http://<helm-release-name>-runner.<namespace>.svc.cluster.local/api/alerts'
47+
send_resolved: true # (3)
48+
49+
route: # (1)
50+
routes:
51+
- receiver: 'robusta'
52+
group_by: [ '...' ]
53+
group_wait: 1s
54+
group_interval: 1s
55+
matchers:
56+
- severity =~ ".*"
57+
repeat_interval: 4h
58+
continue: true # (2)
59+
60+
.. code-annotations::
61+
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``.
62+
2. Keep sending alerts to receivers defined after Robusta.
63+
3. Important, so Robusta knows when alerts are resolved.
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
21
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.
32

4-
You can disable the Prometheus flags API check by setting the following option to ``false``.
3+
You can disable the Prometheus flags API check by setting the following option to false.
54

65
.. code-block:: yaml
76
8-
globalConfig:
9-
check_prometheus_flags: true/false
7+
globalConfig:
8+
check_prometheus_flags: true/false
Lines changed: 4 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,10 @@
11
Configure Metric Querying
22
====================================
33

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

6-
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>`
6+
See :doc:`Prometheus and metrics configuration </configuration/metric-providers-in-cluster>` for detailed instructions.
77

8-
.. code-block:: yaml
8+
.. note::
99

10-
globalConfig: # This line should already exist
11-
# Add the lines below
12-
alertmanager_url: "http://ALERT_MANAGER_SERVICE_NAME.NAMESPACE.svc.cluster.local:9093" # (1)
13-
prometheus_url: "http://PROMETHEUS_SERVICE_NAME.NAMESPACE.svc.cluster.local:9090" # (2)
14-
15-
# If Prometheus has data for multiple clusters, tell Robusta how to query data for this cluster only
16-
# prometheus_additional_labels:
17-
# cluster: 'CLUSTER_NAME_HERE'
18-
19-
# If using Grafana alerts, add this too
20-
# grafana_api_key: <YOUR GRAFANA EDITOR API KEY> # (3)
21-
# alertmanager_flavor: grafana
22-
23-
# If necessary, see docs below
24-
# prometheus_auth: ...
25-
# alertmanager_auth: ...
26-
27-
# If using a multi-tenant prometheus or alertmanager, pass the org id to all queries
28-
# prometheus_additional_headers:
29-
# X-Scope-OrgID: <org id>
30-
# alertmanager_additional_headers:
31-
# X-Scope-OrgID: <org id>
32-
33-
.. code-annotations::
34-
1. Example: http://alertmanager-Helm_release_name-kube-prometheus-alertmanager.default.svc.cluster.local:9093.
35-
2. Example: http://Helm_Release_Name-kube-prometheus-prometheus.default.svc.cluster.local:9090
36-
3. This is necessary for Robusta to create silences when using Grafana Alerts, because of minor API differences in the AlertManager embedded in Grafana.
37-
38-
You can optionally setup authentication, SSL verification, and other parameters described below.
39-
40-
Verify it Works
41-
^^^^^^^^^^^^^^^^^
42-
Open any application in the Robusta UI. If CPU and memory graphs are shown, everything is working.
43-
44-
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>`_,
45-
and verify that Robusta sends a Slack/Teams message with a memory graph included. If so, everything is configured properly.
46-
47-
Optional Settings
48-
=============================
49-
50-
Authentication Headers
51-
^^^^^^^^^^^^^^^^^^^^^^^^^^
52-
53-
If Prometheus and/or AlertManager require authentication, add the following to ``generated_values.yaml``:
54-
55-
.. code-block:: yaml
56-
57-
globalConfig:
58-
prometheus_auth: Bearer <YOUR TOKEN> # Replace <YOUR TOKEN> with your actual token or use any other auth header as needed
59-
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
60-
61-
These settings may be configured independently.
62-
63-
SSL Verification
64-
^^^^^^^^^^^^^^^^^^^^
65-
By default, Robusta does not verify the SSL certificate of the Prometheus server.
66-
67-
To enable SSL verification, add the following to Robusta's ``generated_values.yaml``:
68-
69-
.. code-block:: yaml
70-
71-
runner:
72-
additional_env_vars:
73-
- name: PROMETHEUS_SSL_ENABLED
74-
value: "true"
75-
76-
If you have a custom Certificate Authority (CA) certificate, add one more setting:
77-
78-
.. code-block:: yaml
79-
80-
runner:
81-
certificate: "<YOUR BASE-64 ENCODED DATA>" # base64-encoded certificate value
10+
Robusta will attempt to auto-detect Prometheus and AlertManager URLs in your cluster. Manual configuration is only needed if auto-detection fails.

docs/configuration/alertmanager-integration/_testing_integration.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,4 @@ If everything is setup properly, this alert will reach Robusta. It will show up
5656

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

docs/configuration/alertmanager-integration/alert-manager.rst

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
1-
In-cluster Prometheus
1+
In-cluster AlertManager Integration
22
****************************************
33

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

6-
* Send alerts to Robusta by adding a receiver to AlertManager
7-
* Point Robusta at Prometheus so it can query metrics and silence alerts
8-
* Robusta will attempt auto-detection, so this is not always necessary!
9-
10-
If your Prometheus is in a different cluster, refer to :ref:`External Prometheus`.
6+
If your AlertManager is in a different cluster, refer to :ref:`External Prometheus`.
117

128
Send Alerts to Robusta
139
============================

0 commit comments

Comments
 (0)