# Como configurar API de métricas Digibee com Datadog

**Datadog** é uma plataforma de monitoramento que fornece ampla visibilidade sobre o desempenho e a integridade de vários aspectos da infraestrutura, aplicativos e serviços de TI de uma empresa.

Possui *features* integradas com vários outros recursos, como serviços em nuvem, linguagens de programação, etc. Para uma visão geral de todas as integrações disponíveis, leia [Integrações Datadog](https://docs.datadoghq.com/integrations/).

## Requisitos

* Versão do agente Datadog >= 6.6.0.
* A funcionalidade deve estar habilitada para seu *realm.*
* Nome de usuário, senha e chave de API gerados na página [Digibee APIs](https://docs.digibee.com/documentation/developer-guide/pt-br/platform-administration/digibee-apis).
* Conexão entre sua plataforma Datadog e seu *realm* na Digibee Integration Platform.

## Exemplos de uso

### **Configuração**

Crie ou edite o arquivo [openmetrics.d/conf.yaml](https://docs.datadoghq.com/integrations/openmetrics/#setup) na raiz do diretório de configuração do seu Agente. Use a configuração abaixo:

```yaml
## Digibee + Datadog Configuration
instances:
  # Add instances as much as you have/need
  - openmetrics_endpoint: <DIGIBEE_SERVICES_API_URL>/metrics/openmetrics_raw?environment=<ENVIRONMENT>
    namespace: "<REALM>-<ENVIRONMENT>"
    metrics:
      - <METRIC_NAME>
    headers:
      apikey: <DIGIBEE_SERVICES_API_APIKEY>
    auth_type: basic
    username: <DIGIBEE_SERVICES_API_USERNAME>
    password: <DIGIBEE_SERVICES_API_PASSWORD>
```

{% hint style="info" %}
Insira seu nome de usuário seguindo o formato \<realm>-\<nomedeusuario> mostrado no menu [Digibee APIs.](https://docs.digibee.com/documentation/developer-guide/pt-br/platform-administration/digibee-apis)
{% endhint %}

### Configuração de VPN

```yaml
## Digibee + Datadog Configuration
instances:
  # Add instances as much as you have/need
  - openmetrics_endpoint: <DIGIBEE_SERVICES_API_URL>/metrics/openmetrics_raw?>
    namespace: "<REALM>"
    metrics:
      - <METRIC_NAME>
    headers:
      apikey: <DIGIBEE_SERVICES_API_APIKEY>
    auth_type: basic
    username: <DIGIBEE_SERVICES_API_USERNAME>
    password: <DIGIBEE_SERVICES_API_PASSWORD>
```

## Variáveis

{% hint style="warning" %}
A variável ENVIRONMENT **NÃO** é utilizada para métricas de VPN.
{% endhint %}

<table data-full-width="true"><thead><tr><th width="87.33333333333331">#</th><th>Nome da variável</th><th>Descrição</th></tr></thead><tbody><tr><td>1</td><td>DIGIBEE_SERVICES_API_URL</td><td>URL exibida na página de Credenciais de API após configurar uma credencial.</td></tr><tr><td>2</td><td>REALM</td><td>O nome de seu <em>realm.</em></td></tr><tr><td>3</td><td>ENVIRONMENT</td><td>Ambiente onde as métricas são coletadas.</td></tr><tr><td>4</td><td>DIGIBEE_SERVICES_API_APIKEY</td><td>Gerado após configurar um nome de usuário e senha no menu Digibee APIs.</td></tr><tr><td>5</td><td>DIGIBEE_SERVICES_API_USERNAME</td><td>Nome de usuário criado/configurado no menu Digibee APIs.</td></tr><tr><td>6</td><td>DIGIBEE_SERVICES_API_PASSWORD</td><td>Senha criada/configurada no menu Digibee APIs.</td></tr></tbody></table>

### Visualizar seus dados no Datadog

Quando o agente está configurado para coletar métricas, você pode usá-las para criar alertas, gráficos e painéis abrangentes no Datadog.

<figure><img src="https://content.gitbook.com/content/cO0A6g1dOsu8BiHYqO67/blobs/d5HjbIvTzeLvg2xxP7DT/Datadog%202.png" alt=""><figcaption><p><em>Fonte: Datadog</em></p></figcaption></figure>

## Métricas

<table data-full-width="true"><thead><tr><th width="347">Nome da Métrica</th><th width="375.6666666666667">Descrição</th><th>Tipo</th></tr></thead><tbody><tr><td><strong>jvm_memory_bytes_committed</strong></td><td>Committed (bytes) de uma determinada área de memória JVM.</td><td>Gauge</td></tr><tr><td><strong>jvm_memory_bytes_init</strong></td><td>Bytes iniciais de uma determinada área de memória JVM.</td><td>Gauge</td></tr><tr><td><strong>jvm_memory_bytes_max</strong></td><td>Máximo (bytes) de uma determinada área de memória JVM.</td><td>Gauge</td></tr><tr><td><strong>jvm_memory_bytes_used</strong></td><td>Bytes usados de uma determinada área de memória JVM.</td><td>Gauge</td></tr><tr><td><strong>jvm_memory_pool_bytes_committed</strong></td><td>Bytes committed de um determinado conjunto de memória JVM.</td><td>Gauge</td></tr><tr><td><strong>jvm_memory_pool_bytes_init</strong></td><td>Bytes iniciais de um determinado conjunto de memória JVM.</td><td>Gauge</td></tr><tr><td><strong>jvm_memory_pool_bytes_max</strong></td><td>Máximo (bytes) de um determinado conjunto de memória JVM.</td><td>Gauge</td></tr><tr><td><strong>jvm_memory_pool_bytes_used</strong></td><td>Bytes usados de um determinado conjunto de memória JVM.</td><td>Gauge</td></tr><tr><td><strong>pipeline_all_hung</strong></td><td>Booleano que indica se todos os consumidores do pipeline estão travados.</td><td>Gauge</td></tr><tr><td><strong>pipeline_cached_bytes</strong></td><td>Total de bytes armazenados em cache.</td><td>Summary</td></tr><tr><td><strong>pipeline_component_executions_total</strong></td><td>O número total de execuções por componente.</td><td>Counter</td></tr><tr><td><strong>pipeline_component_processi_latency_seconds</strong></td><td>Latência de processamento de componentes em segundos.</td><td>Summary</td></tr><tr><td><strong>pipeline_inflight</strong></td><td>Número de pipelines atualmente em execução (em andamento).</td><td>Gauge</td></tr><tr><td><strong>pipeline_inflight_reported_by_camel</strong></td><td>Número de pipelines em execução (em voo) relatados pelo Camel.</td><td>Gauge</td></tr><tr><td><strong>pipeline_jvm_memory_bytes_max</strong></td><td>Máximo (bytes) de uma determinada área de memória JVM.</td><td>Gauge</td></tr><tr><td><strong>pipeline_message_error_rate_in_sec</strong></td><td>Taxa de erros de mensagens por segundos (número inteiro).</td><td>Gauge</td></tr><tr><td><strong>pipeline_message_monitoring_processor_latency_seconds</strong></td><td>Latência do processador de monitoramento de mensagens em segundos.</td><td>Summary</td></tr><tr><td><strong>pipeline_message_processing_latency_seconds</strong></td><td>Duração que uma mensagem é executada dentro de uma réplica (Pipeline response time).</td><td>Summary</td></tr><tr><td><strong>pipeline_message_rate_in_sec</strong></td><td>Taxa de mensagens por segundos (número inteiro).</td><td>Gauge</td></tr><tr><td><strong>pipeline_message_size_bytes</strong></td><td>Tamanho da mensagem em bytes.</td><td>Summary</td></tr><tr><td><strong>pipeline_process_cpu_seconds_total</strong></td><td>Tempo total de CPU do usuário e do sistema gasto em segundos.</td><td>Counter</td></tr><tr><td><strong>pipeline_redeliveries</strong></td><td>Número total de mensagens reenviadas.</td><td>Counter</td></tr><tr><td><strong>rabbitmq_queue_messages</strong></td><td>Número de mensagens da fila em um determinado intervalo de tempo.</td><td>Gauge</td></tr></tbody></table>

### Métricas de VPN

<table data-full-width="true"><thead><tr><th>Nome da métrica</th><th>Descrição</th><th>Tipo</th></tr></thead><tbody><tr><td>ipsec_tunnel_bytes_in</td><td>Quantidade total de dados recebidos pelo túnel em bytes.</td><td>Counter</td></tr><tr><td>ipsec_tunnel_bytes_out</td><td>Quantidade total de dados enviados pelo túnel em bytes.</td><td>Counter</td></tr><tr><td>ipsec_tunnel_nat_status</td><td>Indica o status do Network Address Translation (NAT).</td><td>Gauge</td></tr><tr><td>ipsec_tunnel_status</td><td>Status atual do túnel (ativo ou inativo).</td><td>Gauge</td></tr><tr><td>ipsec_tunnel_status_last_run</td><td>Data/hora da última execução da verificação de status do túnel.</td><td>Counter</td></tr><tr><td>ipsec_tunnel_vpncheck_status</td><td>Indica o status do serviço que coleta métricas de VPN.</td><td>Gauge</td></tr></tbody></table>
