Skip to content

Commit

Permalink
GITBOOK-14: Update AlertManager docs
Browse files Browse the repository at this point in the history
  • Loading branch information
LexLuthr authored and gitbook-bot committed Jul 15, 2024
1 parent 55ddede commit 982fc00
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 4 deletions.
70 changes: 66 additions & 4 deletions documentation/en/configuration/alert-manager.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,23 @@ description: Curio alert manager setup and configuration

# Alert Manager

Curio has an AlertManager task which runs every 1 hour and allows Curio cluster to alert users about certain issues in the cluster.

Currently, Curio supports the alert for following issues:

1. Wallet balance is below 5 Fil.
2. If not WindowPost task is run for a deadline.
3. If an orphan block is found or if no WinningPost task is not created for any epoch.
4. If permanent storage does not have enough space to accommodate the sectors currently being sealed.

The AlertManager is a plugin based module and allows integration with any plugin. As of now, Curio has 2 plugins available. Alerts generated can be send to multiple plugins at the same time to allow for a more robust notification mechanism.

{% hint style="info" %}
Contributions to new critical alerts or integrations with other alerting systems are welcome.
{% endhint %}

### PagerDuty Plugin

Curio comes with a default integration with [PagerDuty.com](https://www.pagerduty.com/), allowing the sending of critical alerts to storage providers. To configure your Curio cluster to send alerts, you must set up a PagerDuty account.

{% hint style="danger" %}
Expand All @@ -14,8 +31,53 @@ Nobody associated with the development of this software has any business relatio
2. Create a new service that will handle the alerts from the Curio cluster.
3. During the service creation, on the “Integration” page, choose “Events API V2”.
4. Once the service creation is complete, copy the “Integration Key” from the service and paste it in the “base” layer configuration for “PagerDutyIntegrationKey”.
5. Restart one of the nodes, and it will now generate critical alerts every hour.
5. Enable the plugin in config layer.
6. Restart one of the nodes, and it will now generate critical alerts every hour.

{% hint style="info" %}
Contributions to new critical alerts or integrations with other alerting systems are welcome.
{% endhint %}
```
[Alerting]
# MinimumWalletBalance is the minimum balance all active wallets. If the balance is below this value, an
# alerts will be triggered for the wallet
#
# type: types.FIL
#MinimumWalletBalance = "5 FIL"
[Alerting.PagerDuty]
# Enable is a flag to enable or disable the PagerDuty integration.
#
# type: bool
Enable = true
# PagerDutyEventURL is URL for PagerDuty.com Events API v2 URL. Events sent to this API URL are ultimately
# routed to a PagerDuty.com service and processed.
# The default is sufficient for integration with the stock commercial PagerDuty.com company's service.
#
# type: string
PagerDutyEventURL = "https://events.pagerduty.com/v2/enqueue"
# PageDutyIntegrationKey is the integration key for a PagerDuty.com service. You can find this unique service
# identifier in the integration page for the service.
#
# type: string
PageDutyIntegrationKey = ""
```

### Prometheus AlertManager

1. Setup a [Prometheus AlertManager](https://prometheus.io/docs/alerting/latest/alertmanager/) instance.
2. Enable the plugin but setting the `Enabled` to True.
3. Paste the `AlertManagerURL` in the configguration.
4. Restart the node with the updated config layer.

```
[Alerting.PrometheusAlertManager]
# Enable is a flag to enable or disable the Prometheus AlertManager integration.
#
# type: bool
Enable = true
# AlertManagerURL is the URL for the Prometheus AlertManager API v2 URL.
#
# type: string
AlertManagerURL = "http://localhost:9093/api/v2/alerts"
```
1 change: 1 addition & 0 deletions documentation/en/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ This is the Curio and Lotus compatibility matrix.
| Curio Version | Lotus Version | Go Version |
| ------------- | ------------- | ---------- |
| 1.22.0 | v1.27.0 | 1.21.7 |
| 1.22.1 | v1.27.x | 1.22.3 |

## Curio Database and Distributed Architecture

Expand Down

0 comments on commit 982fc00

Please sign in to comment.