Skip to content

Commit bfc13ef

Browse files
committed
small changes to docs links
1 parent 524aaba commit bfc13ef

File tree

10 files changed

+39
-39
lines changed

10 files changed

+39
-39
lines changed

README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ A Sentinela Monitor is configured through 3 main parts, along some basic setting
1616

1717
These implementations are enough for Sentinela to autonomously execute monitoring logic and automatically manages the issues.
1818

19-
![sentinela example](./docs/images/example.gif)
19+
![sentinela example](/docs/images/example.gif)
2020

2121
## Example scenario: Pending orders with completed shipments
2222
Consider an online store where an order is expected to transition to `completed` as soon as its shipment is marked `completed`. Occasionally, inconsistencies arise: the shipment finishes but the order status remains stuck as `awaiting_delivery` or other intermediate state.
@@ -93,10 +93,10 @@ Sentinela provides a web dashboard, by default at port `8000`, with 2 sections:
9393
2. a monitor editor, where you can create and edit monitors directly from the browser
9494

9595
**Overview**
96-
![dashboard overview](./docs/images/dashboard_overview.png)
96+
![dashboard overview](/docs/images/dashboard_overview.png)
9797

9898
**Editor**
99-
![dashboard monitor editor](./docs/images/dashboard_editor.png)
99+
![dashboard monitor editor](/docs/images/dashboard_editor.png)
100100

101101
# Documentation
102102
1. [Overview](/docs/overview.md)
@@ -107,15 +107,15 @@ Sentinela provides a web dashboard, by default at port `8000`, with 2 sections:
107107
4. [Validating a monitor](/docs/monitor_validating.md)
108108
5. [Registering a monitor](/docs/monitor_registering.md)
109109
6. Deployment
110-
1. [Configuration](./docs/configuration.md)
111-
2. [Configuration file](./docs/configuration_file.md)
112-
3. [How to run](./docs/how_to_run.md)
113-
7. [Monitoring Sentinela](./docs/monitoring_sentinela.md)
114-
8. [Plugins](./docs/plugins/plugins.md)
115-
1. [AWS](./docs/plugins/aws.md)
116-
2. [Postgres](./docs/plugins/postgres.md)
117-
3. [Slack](./docs/plugins/slack.md)
110+
1. [Configuration](/docs/configuration.md)
111+
2. [Configuration file](/docs/configuration_file.md)
112+
3. [How to run](/docs/how_to_run.md)
113+
7. [Monitoring Sentinela](/docs/monitoring_sentinela.md)
114+
8. [Plugins](/docs/plugins/plugins.md)
115+
1. [AWS](/docs/plugins/aws.md)
116+
2. [Postgres](/docs/plugins/postgres.md)
117+
3. [Slack](/docs/plugins/slack.md)
118118
9. Interacting with Sentinela
119-
1. [HTTP server](./docs/http_server.md)
119+
1. [HTTP server](/docs/http_server.md)
120120
10. Special cases
121-
1. [Dropping issues](./docs/dropping_issues.md)
121+
1. [Dropping issues](/docs/dropping_issues.md)

docs/configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Configuration
2-
The basic configs are set through the `configs.yaml` file. This file is read when the application starts and all the settings will be loaded. The documentation found at [Configuration file](./configuration_file.md) provides an overview of the configuration parameters available.
2+
The basic configs are set through the `configs.yaml` file. This file is read when the application starts and all the settings will be loaded. The documentation found at [Configuration file](configuration_file.md) provides an overview of the configuration parameters available.
33

44
The monitors path is also defined in the `configs.yaml` file. By default, it's set to the `example_monitors` folder, but it can be changed to another folder if desired. The `configs.yaml` file also have other configurations that can be adjusted.
55

docs/dropping_issues.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Dropping issues
22
In some cases, a monitor may encounter edge cases where certain issues cannot be resolved automatically. While these edge cases should be considered during monitor development, dropping issues manually can serve as a solution for unavoidable situations.
33

4-
Issues can be dropped either via an [HTTP request](./http_server.md) or a [Slack message](./slack_commands.md).
4+
Issues can be dropped either via an [HTTP request](http_server.md) or a [Slack message](slack_commands.md).
55

66
> [!IMPORTANT]
77
> Since dropping issues is intended only for specific scenarios, issues IDs should be manually retrieved by querying the Sentinela application database.

docs/how_to_run.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Local execution is recommended for developing monitors. It should not be used in
5454

5555
When running the application locally, it is recommended to use the internal queue instead of the SQS queue for faster and smoother operation. However, it is also possible to use the AWS queue mock or a real SQS queue.
5656

57-
1. Set the secrets in the `.env.secrets` file and environment variables in the `docker/docker-compose-local.yml` file, as specified in the [Configuration](./configuration.md) documentation.
57+
1. Set the secrets in the `.env.secrets` file and environment variables in the `docker/docker-compose-local.yml` file, as specified in the [Configuration](configuration.md) documentation.
5858
2. Migrate the database to the latest version. This is only necessary when running for the first time or after updates.
5959
```shell
6060
make migrate-local
@@ -81,7 +81,7 @@ For a more scalable deployment, it is recommended to use separate containers for
8181

8282
The `docker-compose` file for this setup includes a SQS queue mock, which is used by default. However, it is also possible to use the internal queue or a real SQS queue.
8383

84-
1. Set the secrets in the `.env.secrets` file and environment variables in the `docker/docker-compose-scalable.yml` file, as specified in the [Configuration](./configuration.md) documentation.
84+
1. Set the secrets in the `.env.secrets` file and environment variables in the `docker/docker-compose-scalable.yml` file, as specified in the [Configuration](configuration.md) documentation.
8585
2. Set the `replicas` parameter in the `docker/docker-compose-scalable.yml` file to the desired number of executors.
8686
3. Migrate the database to the latest version. This is only necessary when running for the first time or after updates.
8787
```shell
@@ -107,7 +107,7 @@ For production deployment, it is recommended to use a more complex setup with mu
107107
- Requires an external database and message queue.
108108

109109
### Building the Image
110-
The [Dockerfile](../Dockerfile) is a starting point for building the application image. This file implements the logic to install all dependencies for the enabled plugins.
110+
The [Dockerfile](/docker/Dockerfile) is a starting point for building the application image. This file implements the logic to install all dependencies for the enabled plugins.
111111

112112
1. Install the dependencies for the application and enabled plugins.
113113
```shell
@@ -123,9 +123,9 @@ The [Dockerfile](../Dockerfile) is a starting point for building the application
123123
### Deploying the Application
124124
In production deployment, it is recommended to deploy the controller and executors in separate containers or pods (in the case of a Kubernetes deployment). This method requires an external queue to allow communication between the controller and executors. A persistent database is also recommended to prevent data loss.
125125

126-
The files provided in the [Kubernetes template](../resources/kubernetes_template) directory can be used as a reference for a Kubernetes deployment.
126+
The files provided in the [Kubernetes template](/resources/kubernetes_template) directory can be used as a reference for a Kubernetes deployment.
127127

128-
All services must have the environment variables set as specified in the [Configuration](./configuration.md) documentation.
128+
All services must have the environment variables set as specified in the [Configuration](configuration.md) documentation.
129129

130130
Controllers and executors can be run by specifying them as parameters when starting the application:
131131
1. Run the controller.

docs/http_server.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ Enable the monitor with the provided `monitor_name`.
8383

8484
Validate the monitor code provided without registering it.
8585

86-
For more information, check the [Validating a monitor](./monitor_validating.md) documentation.
86+
For more information, check the [Validating a monitor](monitor_validating.md) documentation.
8787

8888
Request body example:
8989
```json
@@ -104,7 +104,7 @@ Response example:
104104

105105
Register the monitor with the provided `monitor_name`.
106106

107-
For more information, check the [Registering a monitor](./monitor_registering.md) documentation.
107+
For more information, check the [Registering a monitor](monitor_registering.md) documentation.
108108

109109
Request body example:
110110
```json

docs/monitor.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Creating a new monitor
2-
This guide will walk through the steps to set up a new Monitor. The file [monitor_template.py](../resources/monitor_template.py) serves as a template for creating a new monitor. It includes all the necessary imports and settings to get started.
2+
This guide will walk through the steps to set up a new Monitor. The file [monitor_template.py](/resources/monitor_template.py) serves as a template for creating a new monitor. It includes all the necessary imports and settings to get started.
33

44
As a demonstration, the Monitor that will be designed is intended to **search for users with invalid registration data**, specifically when their name is empty.
55

@@ -290,7 +290,7 @@ result = await asyncio.to_thread(blocking_function)
290290
# Notifications
291291
Notifications are optional and can be configured to send notifications to different targets without needing extensive settings for ech monitor. Configure notifications by creating the `notification_options` variable with a list of the desired notifications. Each notification has it's own settings and behaviors.
292292

293-
Notifications are provided as plugins. Check the [plugins documentation](./plugins/plugins.md) for more information.
293+
Notifications are provided as plugins. Check the [plugins documentation](plugins/plugins.md) for more information.
294294

295295
# Reactions
296296
Reactions are optional and can be configured reactions to specific events by creating a `reaction_options` variable with an instance of the `ReactionOptions` class, available in the `monitor_utils` module.
@@ -358,7 +358,7 @@ The available events are:
358358
The monitor utils module also provides useful functions for developing a monitor.
359359

360360
## Query
361-
The `query` function allows querying data from available databases. For more details, refer to the [Querying Databases](./querying.md) documentation.
361+
The `query` function allows querying data from available databases. For more details, refer to the [Querying Databases](querying.md) documentation.
362362

363363
## Read file
364364
The `read_file` function reads files in the same directory as the monitor code, making it useful for accessing other resources that the monitor relies on, such as SQL query files.

docs/monitor_registering.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Registering a monitor
22
Once the monitor code has been created, it needs to be registered on Sentinela. The process for registering a new monitor or updating an existing one is the same.
33

4-
![Registering a monitor process](./images/monitor_register.png)
4+
![Registering a monitor process](images/monitor_register.png)
55

66
## Monitor Composition
77
A monitor consists of:

docs/overview.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,21 +33,21 @@ The Sentinela platform comprises four main components:
3333
- HTTP Server
3434
- Monitors Loader
3535

36-
![Sentinela components](./images/components.png)
36+
![Sentinela components](images/components.png)
3737

3838
## Controller
3939
The controller orchestrates the processing of monitors, queuing them for execution as needed.
4040

4141
The controller execution is demonstrated in the following diagram.
4242

43-
![Controller execution](./images/controller.png)
43+
![Controller execution](images/controller.png)
4444

4545
## Executor
4646
The executor handles the actual execution of monitor routines, as well as responses to requests and events. It performs the platform’s core processing tasks and can be scaled horizontally to enhance processing capacity.
4747

4848
The executor execution is demonstrated in the following diagram.
4949

50-
![Executor execution](./images/executor.png)
50+
![Executor execution](images/executor.png)
5151

5252
The executor will wait for a message in the queue and do nothing while none are available. When a message is received, the executor will process it using the correct handler.
5353

@@ -61,16 +61,16 @@ During the handling of a message, the executor will continuously reset the messa
6161
## HTTP Server
6262
As the name suggests, the HTTP server serves as an entry point for user requests and actions on the platform. While not all interactions must occur through the HTTP server, it provides a central access point for user actions.
6363

64-
More information can be found in the [HTTP Server](./docs/http_server.md) documentation.
64+
More information can be found in the [HTTP Server](http_server.md) documentation.
6565

6666
## Monitors Loader
6767
The monitors loader loads the monitors from the database and registers them to be used by the other components.
6868

69-
![Monitors loading process](./images/monitors_loading_process.png)
69+
![Monitors loading process](images/monitors_loading_process.png)
7070

7171
The monitors loader execution is demonstrated in the following diagram.
7272

73-
![Monitors loader execution](./images/monitors_loader.png)
73+
![Monitors loader execution](images/monitors_loader.png)
7474

7575
The monitors loader registers internal and example monitors (if configured as such) to the database. This process is only executed when the controller is enabled in the execution to make sure only one instance is trying to register the same monitors.
7676

docs/plugins/plugins.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ class MyNotification:
8282
]
8383
```
8484

85-
The reaction functions must follow the same structure presented in the [Monitor](../monitor.md) documentation.
85+
The reaction functions must follow the same structure presented in the [Monitor](/docs/monitor.md) documentation.
8686

8787
## Services
8888
Services are used when the plugin has some initialization or running service. An example of a running service is a websocket connection to an external provider.
@@ -139,7 +139,7 @@ __all__ = ["queues"]
139139
```
140140

141141
## Pools
142-
Plugins can provide different database pools to be used by Sentinela. Pools are a way to provide connections to databases to the monitors through a simple interface using the `query` function. More information about querying databases can be found in the [querying](../querying.md) documentation.
142+
Plugins can provide different database pools to be used by Sentinela. Pools are a way to provide connections to databases to the monitors through a simple interface using the `query` function. More information about querying databases can be found in the [querying](/docs/querying.md) documentation.
143143

144144
An example of a plugin that provides the a database pool is shown below:
145145

@@ -179,9 +179,9 @@ When the databases are being initialized, Sentinela will search for pools provid
179179

180180
## Built-in plugins
181181
Sentinela comes with some built-in plugins that can be used to extend the application's functionality.
182-
- [AWS](./aws.md)
183-
- [Postgres](./postgres.md)
184-
- [Slack](./slack.md)
182+
- [AWS](aws.md)
183+
- [Postgres](postgres.md)
184+
- [Slack](slack.md)
185185

186186
## Enabling plugins
187187
To enable a plugin, set the `plugins` field in the configuration file with the name of the desired plugins.

docs/plugins/slack.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ The Slack plugin offers an interface to interact with Sentinela through Slack. I
55
To enable the Slack plugin, add `slack` to the `plugins` list in the configuration file.
66

77
## Create the Slack app
8-
First create a Slack app in your workspace. The provided app manifest [template](../resources/slack_app_manifest.yaml) has the basic configuration and permissions needed for the Sentinela Slack app.
8+
First create a Slack app in your workspace. The provided app manifest [template](/resources/slack_app_manifest.yaml) has the basic configuration and permissions needed for the Sentinela Slack app.
99

1010
## Environment variables
1111
The following environment variables are used by the Slack plugin:
@@ -28,7 +28,7 @@ Possible buttons:
2828
- **Lock**: Lock the alert. Visible if the alert is not already locked.
2929
- **Solve**: Solves the alert. Visible only if the monitor’s issue settings is set as **not solvable**.
3030

31-
![Slack message with buttons](../images/slack_notification_message_with_buttons.png)
31+
![Slack message with buttons](/docs/images/slack_notification_message_with_buttons.png)
3232

3333
### Messages mentioning Sentinela
3434
As a Slack app, Sentinela can also respond to direct commands sent in a message. To interact this way, mention the Sentinela app, followed by the desired action.

0 commit comments

Comments
 (0)