# Monitoramento Externo

## Visão geral

O endpoint de monitorização da sua instância RADIUSaaS permite-lhe realizar as seguintes tarefas na sua própria solução de monitorização de terceiros:

* Monitorizar o tempo de atividade dos seus endpoints RadSec.
* Monitorizar o tempo de atividade dos seus proxies RADIUS.
* Monitorizar a expiração do seu Certificado de Servidor RADIUS e da respetiva CA emissora.

Se for viável na sua solução de monitorização, podem ser criadas agregações e métricas em torno desses monitores para acionar alertas automatizados.&#x20;

## Definição do Esquema da API

Consulte a [documentação da API](https://docs.radiusaas.com/pt/outro/rest-api/..#api-reference) no seu RADIUSaaS Admin Portal para obter informações detalhadas sobre o esquema do `/status` endpoint.

## Exemplos da API

{% hint style="info" %}
Tenha em atenção que não podemos fornecer suporte para soluções de monitorização de terceiros e que terá de trazer a sua própria experiência para além do âmbito deste artigo.&#x20;
{% endhint %}

{% stepper %}
{% step %}

### Crie um Token de Acesso conforme descrito [aqui](https://docs.radiusaas.com/pt/portal-de-administracao/settings/permissions#access-tokens).

{% endstep %}

{% step %}

### Obter Dados

Para obter dados do endpoint da API, autentique os seus pedidos utilizando o token de acesso criado anteriormente:

{% tabs %}
{% tab title="PowerShell" %}

1. **Armazenar o Token de Acesso**

Armazene o token de acesso numa variável do PowerShell para fácil referência. Substitua `your_access_token` pelo token real.

```powershell
$accessToken = "your_access_token"
```

2. **Fazer o Pedido à API**

Utilize o `Invoke-RestMethod` do PowerShell para enviar um pedido à API pretendida. Certifique-se de que inclui o token de acesso no cabeçalho do pedido.

```powershell
$url = "https://contoso.radius-as-a-service.com/api/status"
$headers = @{
    Authorization = "Bearer $accessToken"
}
$response = Invoke-RestMethod -Uri $url -Headers $headers -Method Get
```

{% endtab %}

{% tab title="cURL" %}

```
curl -i https://contoso.radius-as-a-service.com/api/status \ -H "Authorization: Bearer [your_access_token]"
```

{% endtab %}

{% tab title="Python" %}

```
import requests

url = "https://contoso.radius-as-a-service.com/api/status"
headers = {
    "Authorization": "Bearer your_access_token"
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.text)
```

{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}

### Processar os dados de acordo com as suas necessidades

#### Exemplo 1 - Mostrar informações sobre os servidores RadSec:

```
$response.radsecservers

cluster_name                     : eu1
ip                               : 20.113.8.151
name                             : radius-server-contoso-main
radius-server-contoso-main-state : True
state                            : True
```

#### Exemplo 2 - Mostrar informações sobre os proxies RADIUS:

```
$response.proxies

ip                                       : 142.93.161.44
location                                 : Europa (Frankfurt)
name                                     : radius-proxy-contoso-142.93.161.44
radius-proxy-contoso-142.93.161.44-state : True
state                                    : True

ip                                     : 209.38.81.0
location                               : Austrália (Sydney)
name                                   : radius-proxy-contoso-209.38.81.0
radius-proxy-contoso-209.38.81.0-state : True
state                                  : True
```

#### Exemplo 3 - Mostrar informações do certificado:

```
$response.certificates | Format-List

contoso-certificate--Proxycertificate-state : True
name                                        : contoso-certificate--Proxycertificate
state                                       : True
validity_days_left                          : 2570

contoso-certificate-Customer-CA-state : True
name                                  : contoso-certificate-Customer-CA
state                                 : True
validity_days_left                    : 6900
```

{% hint style="info" %}
Tenha em atenção que os **certificados** serão **verificados a cada 10 horas,** e o **data** é **armazenado em cache durante 60 segundos**. Consequentemente, após renovar um certificado expirado, pode demorar várias horas até que o estado seja atualizado.
{% endhint %}
{% endstep %}
{% endstepper %}
