Skip to content

Commit 5f8f014

Browse files
authored
Merge branch 'master' into ROB-859-robusta-telemetry
2 parents 09b65d9 + 6ce862f commit 5f8f014

3 files changed

Lines changed: 21 additions & 22 deletions

File tree

.github/workflows/deploy-docs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
uses: google-github-actions/setup-gcloud@v2
4848
if: needs.has-secrets.outputs.docs
4949
with:
50-
project_id: ${{ secrets.GKE_PROD_PROJECT }
50+
project_id: ${{ secrets.GKE_PROD_PROJECT }}
5151

5252
- name: Set up Python
5353
uses: actions/setup-python@v2

docs/configuration/holmesgpt/toolsets/aws.rst

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,7 @@ Configuration
1515

1616
.. md-tab-item:: Robusta Helm Chart
1717

18-
.. code-block:: yaml
19-
20-
holmes:
21-
additionalEnvVars:
22-
- name: AWS_ACCESS_KEY_ID
23-
value: AKIAIOSFODNN7EXAMPLE
24-
- name: AWS_SECRET_ACCESS_KEY
25-
value: =wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
26-
- name: AWS_DEFAULT_REGION
27-
value: us-west-2
28-
toolsets:
29-
aws/security:
30-
enabled: true
31-
32-
.. include:: ./_toolset_configuration.inc.rst
18+
This builtin toolset is currently only available in HolmesGPT CLI.
3319

3420
.. md-tab-item:: Holmes CLI
3521

@@ -52,10 +38,10 @@ Configuration
5238
enabled: true
5339
5440
55-
To test, run:
41+
To test, run:
5642

5743
.. code-block:: yaml
58-
44+
5945
holmes ask "Are there any security misconfigurations my signup application, particularly in the database?"
6046
6147
Capabilities
@@ -122,10 +108,10 @@ Configuration
122108
aws/rds:
123109
enabled: true
124110
125-
To test, run:
111+
To test, run:
126112

127113
.. code-block:: yaml
128-
114+
129115
holmes ask "Why is my signup application slow, also look into the database"
130116
131117

docs/configuration/holmesgpt/toolsets/prometheus.rst

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Configuration
2424
prometheus/metrics:
2525
enabled: true
2626
config:
27-
prometheus_url: ...
27+
prometheus_url: http://<prometheus host>:9090
2828
metrics_labels_time_window_hrs: 48 # default value
2929
metrics_labels_cache_duration_hrs: 12 # default value
3030
fetch_labels_with_labels_api: false # default value
@@ -46,7 +46,7 @@ Configuration
4646
prometheus/metrics:
4747
enabled: true
4848
config:
49-
prometheus_url: ...
49+
prometheus_url: http://<prometheus host>:9090
5050
metrics_labels_time_window_hrs: 48 # default value
5151
metrics_labels_cache_duration_hrs: 12 # default value
5252
fetch_labels_with_labels_api: false # default value
@@ -62,13 +62,26 @@ in PromQL are actually available.
6262

6363
Below is the full list of options for this toolset:
6464

65+
- **prometheus_url** A base URL for prometheus. This should include the protocol (e.g. `https`) and the port.
6566
- **metrics_labels_time_window_hrs** Represents the time window, in hours, over which labels are fetched. This avoids fetching obsolete labels. Set it to ``null`` to let HolmesGPT fetch labels regardless of when they were generated.
6667
- **metrics_labels_cache_duration_hrs** How long are labels cached, in hours. Set it to ``null`` to disable caching.
6768
- **fetch_labels_with_labels_api** Uses prometheus `labels API <https://prometheus.io/docs/prometheus/latest/querying/api/#getting-label-names>`_ to fetch labels instead of the `series API <https://prometheus.io/docs/prometheus/latest/querying/api/#finding-series-by-label-matchers>`_. In some cases setting to True can improve the performance of the toolset, however there will be an increased number of HTTP calls to prometheus. You can experiment with both as they are functionally identical.
6869
- **fetch_metadata_with_series_api** Uses the `series API <https://prometheus.io/docs/prometheus/latest/querying/api/#finding-series-by-label-matchers>`_ instead of the `metadata API <https://prometheus.io/docs/prometheus/latest/querying/api/#querying-metric-metadata>`_. You should only set this value to `true` if the metadata API is disabled or not working. HolmesGPT's ability to select the right metric will be negatively impacted because the series API does not return key metadata like the metrics/series description or their type (gauge, histogram, etc.).
6970
- **tool_calls_return_data** Experimental. If true, the prometheus data will be available to HolmesGPT. In some cases, HolmesGPT will be able to detect memory leaks or other anomalies. This is disabled by default to reduce the likelyhood of reaching the input token limit.
7071
- **headers** Extra headers to pass to all prometheus http requests. Use this to pass authentication. Prometheus `supports basic authentication <https://prometheus.io/docs/guides/basic-auth/>`_.
7172

73+
**Finding the prometheus URL**
74+
75+
The best way to find the prometheus URL is to use "ask holmes". This only works if your cluster is live and already connected to Robusta.
76+
77+
If not, follow these steps:
78+
79+
1. Run ``kubectl get services -n <monitoring-namespace>`` to list all services. Replace ``<monitoring-namespace>`` with the namespace where Prometheus is deployed. This is often ``monitoring`` or ``prometheus``. You can also run ``kubectl get services -A`` which will list all services in all namespaces.
80+
2. Identify which are the namespace and name of your Prometheus service. You can set up port forwarding to test if the service is correct and if Prometheus is reachable.
81+
3. Run ``kubectl describe service <service-name> -n <namespace>`` to get details about the service, including the cluster IP and port.
82+
4. Set the DNS or the cluster IP as well as the port to the configuration field ``prometheus_url`` as mentioned above.
83+
84+
7285
Capabilities
7386
------------
7487
.. include:: ./_toolset_capabilities.inc.rst

0 commit comments

Comments
 (0)