Skip to content

Commit

Permalink
docs: fix link (#150)
Browse files Browse the repository at this point in the history
  • Loading branch information
mabdh authored Nov 21, 2022
1 parent 46d8ab5 commit a4fdf9f
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 21 deletions.
6 changes: 3 additions & 3 deletions docs/docs/concepts/notification.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Below is how the notification is implemented in Siren

## Notification Message

Each receiver might expect different payload. User needs to pass notification message payload in the same format as what receiver (notification vendor) expected. All message payload contracts could be found under [receivers](/docs/docs/receivers/slack.md).
Each receiver might expect different payload. User needs to pass notification message payload in the same format as what receiver (notification vendor) expected. All message payload contracts could be found under [receivers](../receivers/slack.md).

### Templating Notification Message Payload

Expand Down Expand Up @@ -44,9 +44,9 @@ Siren uses Postgres `SKIP LOCK` feature to implement queues with postgres.

## Notification Handlers

Notification handler responsibles to dequeue message and send notification to the receivers. There are two kind of Notification Handler in Siren, the main notification handler and the notification dlq handler. Both could be configured in the [server configuration](/docs/docs/reference/server_configuration.md).
Notification handler responsibles to dequeue message and send notification to the receivers. There are two kind of Notification Handler in Siren, the main notification handler and the notification dlq handler. Both could be configured in the [server configuration](../reference/server_configuration.md).

Notification handlers could be run in the same process inside server or could be run separately as a [worker](../guides/workers.md). It is also possible for the handlers to only process specific receiver types. This can be done by specifying supported `receiver_types` in the [config](/docs/docs/reference/server_configuration.md). One could also configure the notification to be dequeued in batch by specifying `batch_size > 1` in the config.
Notification handlers could be run in the same process inside server or could be run separately as a [worker](../guides/workers.md). It is also possible for the handlers to only process specific receiver types. This can be done by specifying supported `receiver_types` in the [config](../reference/server_configuration.md). One could also configure the notification to be dequeued in batch by specifying `batch_size > 1` in the config.

### Notification Message Handler

Expand Down
12 changes: 6 additions & 6 deletions docs/docs/concepts/plugin.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Plugin

Siren decouples [provider](../providers/plugin_overview.md) and [receiver](../receivers/plugin_overview.md) as a plugin. The purpose is to ease the extension of new plugin. We welcome all contributions to add new plugin.
Siren decouples [provider](#provider-plugin) and [receiver](#receiver-plugin) as a plugin. The purpose is to ease the extension of new plugin. We welcome all contributions to add new plugin.

## Base Plugin

Expand All @@ -11,7 +11,7 @@ Siren provides base plugin in `plugins/providers/base` and `plugins/receivers/b

Provider responsibility is to accept incoming rules configuration from Siren and send alerts to the designated Siren's Hook API. Supported providers are:

- [CortexMetrics](./cortexmetrics.md)
- [CortexMetrics](../providers/cortexmetrics.md)

See [Extend](../extend/adding_new_provider.md) section for more information about adding new provider plugins.
### Interface
Expand Down Expand Up @@ -41,10 +41,10 @@ Siren provider plugin could have a server level configuration called `AppConfig`

Receiver defines where a notification Siren sends to. Supported receivers are:

- [Slack](./slack.md)
- [PagerDuty Events API v1](./pagerduty.md)
- [HTTP](./http.md)
- [File](./file.md)
- [Slack](../receivers/slack.md)
- [PagerDuty Events API v1](../receivers/pagerduty.md)
- [HTTP](../receivers/http.md)
- [File](../receivers/file.md)

See [Extend](../extend/adding_new_receiver.md) section for more information about adding new receiver plugins.

Expand Down
4 changes: 2 additions & 2 deletions docs/docs/guides/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ There are several approaches to setup Siren Server
## Using the CLI

### Pre-requisites for CLI
- [Create siren config file](/docs/docs/tour/setup_server.md#initialization)
- [Create siren config file](../tour/setup_server.md#initialization)

To run the Siren server use command:

Expand All @@ -33,7 +33,7 @@ You can choose to set the configuration using environment variables or a config

All the configs can be passed as environment variables using underscore `_` as the delimiter between nested keys. See the following examples

See [configuration reference](/docs/docs/reference/server_configuration.md) for the list of all the configuration keys.
See [configuration reference](../reference/server_configuration.md) for the list of all the configuration keys.

```sh title=".env"
DB_DRIVER=postgres
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/guides/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ The following topics will describe how to use Siren.

## Managing providers and multi-tenancy

Siren can be used to define alerting rules inside monitoring `provider`. List of supported providers are [here](/docs/docs/concepts/plugin.md#provider-plugin). Support for other providers is on the roadmap, feel free to [contribute](/docs/docs/extend/adding_new_provider.md). Siren also respects the multi-tenancy provided by various monitoring providers using [namespace](./provider_and_namespace.md#namespace). A `namespace` represents a tenant inside a provider. Learn in more detail [here](./provider_and_namespace.md).
Siren can be used to define alerting rules inside monitoring `provider`. List of supported providers are [here](../concepts/plugin.md#provider-plugin). Support for other providers is on the roadmap, feel free to [contribute](../extend/adding_new_provider.md). Siren also respects the multi-tenancy provided by various monitoring providers using [namespace](./provider_and_namespace.md#namespace). A `namespace` represents a tenant inside a provider. Learn in more detail [here](./provider_and_namespace.md).

## Managing Templates

Expand Down
8 changes: 4 additions & 4 deletions docs/docs/tour/1sending_notifications_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ import siteConfig from '/docusaurus.config.js';
export const apiVersion = siteConfig.customFields.apiVersion
export const defaultHost = siteConfig.customFields.defaultHost

This tour shows you how to send a notification to a receiver. You need to pick to which receiver you want send the notification to. If the receiver is not added in Siren yet, you could add one using `siren receiver create`. See [receiver guide](/docs/docs/guides/receiver.md) to explore more on how to work with `siren receiver` command.
This tour shows you how to send a notification to a receiver. You need to pick to which receiver you want send the notification to. If the receiver is not added in Siren yet, you could add one using `siren receiver create`. See [receiver guide](../guides/receiver.md) to explore more on how to work with `siren receiver` command.

Receiver in Siren is implemented as a plugin. Read [here](/docs/docs/concepts/plugin.md) to understand the concept about Plugin. There are several [types of receiver](/docs/docs/concepts/plugin.md#receiver-plugin) supported in Siren. In this tour we want to send a notification to a `file` receiver type. More detail about `file` receiver type can be found [here](/docs/docs/receivers/file.md).
Receiver in Siren is implemented as a plugin. Read [here](../concepts/plugin.md) to understand the concept about Plugin. There are several [types of receiver](../concepts/plugin.md#receiver-plugin) supported in Siren. In this tour we want to send a notification to a `file` receiver type. More detail about `file` receiver type can be found [here](../receivers/file.md).

> We welcome all contributions to add new type of receiver plugins. See [Extend](/docs/docs/extend/adding_new_receiver.md) section to explore how to add a new type of receiver plugin to Siren
> We welcome all contributions to add new type of receiver plugins. See [Extend](../extend/adding_new_receiver.md) section to explore how to add a new type of receiver plugin to Siren
## 1.1 Register a Receiver

Expand Down Expand Up @@ -104,7 +104,7 @@ $ siren receiver view 1

## 1.2 Sending Notification to a Receiver

In previous [part](#11-register-a-receiver), we have already registered a receiver in Siren and got back the receiver ID. Now, we will send a notification to that receiver. If you are curious about how notification in Siren works, you can read the concepts [here](/docs/docs/concepts/notification.md).
In previous [part](#11-register-a-receiver), we have already registered a receiver in Siren and got back the receiver ID. Now, we will send a notification to that receiver. If you are curious about how notification in Siren works, you can read the concepts [here](../concepts/notification.md).

To send a notification, we need to prepare the message payload as yaml to be sent by Siren CLI. The message is expected to be in a key-value format and placed under `payload.data`.

Expand Down
8 changes: 4 additions & 4 deletions docs/docs/tour/2alerting_rules_subscriptions_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This tour shows you how could we create alerting rules and we want to subscribe

As mentioned previously, we will be using [CortexMetrics](https://cortexmetrics.io/docs/getting-started/) as a provider. We need to register the provider and create a provider namespace in Siren first before creating any rule and subscription.

> Provider is implemented as a plugin in Siren. You can learn more about Siren Plugin concepts [here](/docs/docs/concepts/plugin.md). We also welcome all contributions to add new provider plugins. Learn more about how to add a new provider plugin [here](/docs/docs/extend/adding_new_provider.md).
> Provider is implemented as a plugin in Siren. You can learn more about Siren Plugin concepts [here](../concepts/plugin.md). We also welcome all contributions to add new provider plugins. Learn more about how to add a new provider plugin [here](../extend/adding_new_provider.md).
Once an alert triggered, the subscription labels will be matched with alert's labels. If all subscription labels matched, receiver's subscripton will get the alert notification.

Expand Down Expand Up @@ -189,11 +189,11 @@ For details on a namespace, try: siren namespace view <id>

## 2.2 Register a Receiver

Siren supports several types of receiver to send notification to. For this tour, let's pick the simplest receiver: `file`. If the receiver is not added in Siren yet, you could add one using `siren receiver create`. See [receiver guide](/docs/docs/guides/receiver.md) to explore more on how to work with `siren receiver` command.
Siren supports several types of receiver to send notification to. For this tour, let's pick the simplest receiver: `file`. If the receiver is not added in Siren yet, you could add one using `siren receiver create`. See [receiver guide](../guides/receiver.md) to explore more on how to work with `siren receiver` command.

With `file` receiver, all published notifications will be written to a file. Let's create a receivers `file` using Siren CLI.

> We welcome all contributions to add new type of receiver plugins. See [Extend](/docs/docs/extend/adding_new_receiver.md) section to explore how to add a new type of receiver plugin to Siren
> We welcome all contributions to add new type of receiver plugins. See [Extend](../extend/adding_new_receiver.md) section to explore how to add a new type of receiver plugin to Siren
Prepare receiver detail and register the receiver with Siren CLI.
```bash title=receiver_2.yaml
Expand Down Expand Up @@ -397,7 +397,7 @@ If there is a response like above, that means the rule that we created in Siren
Notifications can be subscribed and routed to the defined receivers by adding a subscription. In this part, we will trigger an alert to CortexMetrics manually by calling CortexMetrics `POST /alerts` API and expect CortexMetrics to trigger webhook-notification and calling Siren alerts hook API. On Siren side, we expect a notification is published everytime the hook API is being called.


> If you are curious about how notification in Siren works, you can read the concepts [here](/docs/docs/concepts/notification.md).
> If you are curious about how notification in Siren works, you can read the concepts [here](../concepts/notification.md).

The first thing that we should do is knowing what would be the labels sent by CortexMetrics. The labels should be defined when we were defining [rules](#23-configuring-provider-alerting-rules). Assuming the labels sent by CortexMetrics are these:

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/use_cases.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Most monitoring and alerting providers have their own feature to notify a specif

With Siren, notification responsibility will be unified in Siren. This approach will be more maintainable and easier to audit. Siren handles all alert notification subscriptions where user could define subscriptions and Siren publishes notifications if the labels in subscriptions match with the labels in the triggered alerts.

Siren is also designed to be easily extended with a new notification channel as a [new receiver plugin](/docs/docs/extend/adding_new_receiver.md) to support more use cases.
Siren is also designed to be easily extended with a new notification channel as a [new receiver plugin](./extend/adding_new_receiver.md) to support more use cases.


### Sending On-demand Notification
Expand Down

0 comments on commit a4fdf9f

Please sign in to comment.