-
Notifications
You must be signed in to change notification settings - Fork 308
Improve documentation content and organization #1883
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+49
−27
Merged
Changes from 1 commit
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,40 +1,56 @@ | ||
| Architecture | ||
| ================== | ||
|
|
||
| The base installation for Robusta runs in-cluster as two Kubernetes deployments | ||
| Robusta follows a modular architecture designed to integrate seamlessly with your existing Kubernetes observability stack. The system consists of core components that run in-cluster and optional components for enhanced functionality. | ||
|
|
||
| * robusta-forwarder - Connects to the APIServer and monitors Kubernetes changes. Forwards them to robusta-runner. | ||
| * robusta-runner - Receives all events, evaluates playbooks, sends notifications | ||
| Core Components | ||
| ^^^^^^^^^^^^^^^ | ||
|
|
||
| Robusta's core architecture runs entirely within your Kubernetes cluster: | ||
|
|
||
| **robusta-forwarder** | ||
| A lightweight deployment that connects to the Kubernetes APIServer to monitor cluster events and resource changes. It forwards relevant events to the runner component for processing. This component ensures Robusta stays up-to-date with your cluster state in real-time. | ||
|
|
||
| **robusta-runner** | ||
| The main processing engine that receives events from the forwarder, evaluates playbook rules, executes enrichment actions, and sends notifications to configured destinations. It contains the business logic for alert correlation, data enrichment, and routing decisions. | ||
|
|
||
| .. image:: ../images/arch-1/arch-1.png | ||
| :width: 600 | ||
| :align: center | ||
|
|
||
| Optionally, Robusta has some additional components, described below. | ||
| Data Flow | ||
| ^^^^^^^^^ | ||
|
|
||
| HolmesGPT (Optional) | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
| Robusta's next generation AI-engine that investigates alerts automatically. See :ref:`AI Analysis <AI Analysis>`. | ||
| 1. **Event Collection**: The forwarder monitors Kubernetes APIServer for resource changes and forwards them to the runner | ||
| 2. **Alert Processing**: Prometheus AlertManager webhooks are received by the runner for alert enrichment | ||
| 3. **Playbook Execution**: The runner evaluates configured playbooks and triggers appropriate actions | ||
| 4. **Enrichment**: Additional context is gathered (logs, metrics, resource states) and attached to alerts | ||
| 5. **Routing**: Enriched alerts are routed to configured sinks (Slack, Teams, etc.) based on routing rules | ||
|
|
||
| Bundled Prometheus (Optional) | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
| Extended Architecture | ||
| ^^^^^^^^^^^^^^^^^^^^ | ||
|
|
||
| Install Robusta with :ref:`Prometheus included <embedded Prometheus stack>`. This is powered by ``kube-prometheus-stack``. | ||
| **AI Analysis with HolmesGPT** | ||
| Robusta's AI engine automatically investigates alerts by analyzing logs, events, and cluster state to provide root cause analysis and remediation suggestions. See :ref:`AI Analysis <AI Analysis>` for configuration details. | ||
|
|
||
| Alternatively, you can :ref:`integrate an existing Prometheus with Robusta <Integrating with Prometheus>`. | ||
| **Prometheus Integration** | ||
| Robusta can work with your existing Prometheus setup or be installed with a :ref:`bundled Prometheus stack <embedded Prometheus stack>` powered by ``kube-prometheus-stack``. The integration enables automatic alert enrichment and correlation. | ||
|
|
||
| Web UI (Optional) | ||
| ^^^^^^^^^^^^^^^^^^^^^^ | ||
| **Centralized Management** | ||
| The Robusta `SaaS platform <http://home.robusta.dev/?from=docs>`_ provides centralized alert management, historical analysis, and cross-cluster visibility. Self-hosted options are available for enterprise deployments. | ||
|
|
||
| The Robusta `SaaS platform <http://home.robusta.dev/?from=docs>`_ provides a single pane of glass for all your alerts and clusters. | ||
| **CLI Tooling** | ||
| The ``robusta`` CLI simplifies installation and configuration management by auto-generating Helm values and providing cluster diagnostics. | ||
|
|
||
| On commercial plans, the UI is available for self-hosting in your own environment. | ||
| Security & Networking | ||
| ^^^^^^^^^^^^^^^^^^^^^ | ||
|
|
||
| CLI (Optional) | ||
| ^^^^^^^^^^^^^^^^ | ||
| The ``robusta`` cli makes it easier to install Robusta by auto-generating Helm values. | ||
| * All core components run within your cluster with configurable RBAC permissions. | ||
| * External integrations use secure webhook endpoints with optional authentication. | ||
| * SaaS connectivity is outbound-only with no inbound access required. | ||
| * All data remains in your cluster unless explicitly sent to configured sinks (destinations). | ||
|
|
||
| Next Steps | ||
| ^^^^^^^^^^^^^ | ||
| ^^^^^^^^^^ | ||
|
|
||
| :ref:`Ready to install Robusta? Get started. <install>` | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.