> For the complete documentation index, see [llms.txt](https://docs.stakepool.dev.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stakepool.dev.br/polygon/binaries/alert-message-api.md).

# Alert Message Api

## Discord and Slack custom messages with Message API

Software install

### 1 - Clone repository

```
git clone git@github.com:Michel-Leidson/alert-message-api.git
```

### 2 - Enter the project directory

```
cd alert-message-api
```

### 3 - Install dependencies

```
npm install
```

### 4 - Create and configure config.json file in root directory of aplication

```
nano config.json

{
    "slack": {
        "url":"<YOUR SLACK URL WEBHOOK HERE>"
    },
    "discord":{
        "url":"<YOUR DISCORD URL WEBHOOK HERE>"
    },
    "grafana":{
        "url":"YOUR GRAFANA URL HERE"
    },
    "alertmanager": {
        "url":"YOUR ALERTMANAGER URL HERE"
    }
}
```

### 5 - Running the server.js file with PM2

```
pm2 start server.js
```

Configuring external Alertmanager in Grafana

#### 1 - Select Alert Admin menu in Grafana

<figure><img src="/files/VRJEzLzJUzfVPFlu4doW" alt=""><figcaption></figcaption></figure>

#### 2 - Click in "Add Alertmanager"

<figure><img src="/files/7bdWPDNk7CJuHL0PljDG" alt=""><figcaption></figcaption></figure>

#### 3 - Type URL alermanager and click in "Add Alertmanagers" button

<figure><img src="/files/fONYAjvXPiYRqzVxELyY" alt=""><figcaption></figcaption></figure>

Configuring webhook routes in alertmanager config file

#### 1 - Configuring alertmanager config file

```
sudo nano /usr/local/alertmanager/alertmanager.yml

route:
    
  group_by: ['alertname']
  group_wait: 30s
  group_interval: 1m
  repeat_interval: 12h
  receiver: "apialert"

  routes:

    - receiver: "apialert"
      group_wait: 30s
      group_interval: 1m
      repeat_interval: 12h
      continue: true

    - receiver: "apialertslack"
      group_wait: 30s
      group_interval: 1m
      repeat_interval: 12h
      continue: true


receivers:

  - name: "apialert"
    webhook_configs:
    - url: "http://127.0.0.1:5002/discord"

  - name: "apialertslack"
    webhook_configs:
    - url: "http://127.0.0.1:5002/slack"
```

### 2 - Restart alertmanager

```
sudo systemctl restart alertmanager
```
