Menu Docs

Orientações para Monitoramento e Alertas do Atlas

O MongoDB Atlas possui um conjunto robusto de métricas, telemetria e logs integrados que você pode utilizar diretamente do Atlas ou integrar à sua pilha de observabilidade e alertas de terceiros. Isso permite que você monitore e gerencie suas implantações do Atlas e responda a incidentes de forma proativa e em tempo real.

Monitorar seu sistema permite que você:

  • Compreender a integridade e o status do seu cluster

  • Saiba como as operações em execução no cluster estão afetando o banco de dados

  • Saiba se o seu hardware tem restrição de recursos

  • Executar otimização de volume de trabalho e query

  • Detecte e reaja a problemas em tempo real para melhorar a pilha do seu aplicativo

O Atlas fornece várias métricas para monitoramento e alertas. Você pode acompanhar a integridade, a disponibilidade, o consumo e o desempenho de suas implantações em dashboards visuais e pela API API. Você também pode visualizar várias métricas de cluster, monitorar o desempenho do banco de dados, configurar alertas e notificações de alerta, e baixar logs de atividades.

Métricas

As métricas de implantação fornecem informações sobre o desempenho do hardware e a eficiência da operação do banco de dados . O Atlas coleta métricas para seus servidores, bancos de dados e processos do MongoDB e armazena dados de métricas em vários níveis de granularidade. Para cada nível de granularidade, o Atlas processa métricas como médias das métricas relatadas no próximo nível de granularidade mais fina. Muitas métricas têm um equivalente de relatório de intermitência.

Você pode monitorar métricas na UI do Atlas usando a página Metrics view, Real-Time Performance Panel, Query Profiler, Performance Advisor e Namespace Insights. Você também pode usar a Atlas CLI ou a API de administração do Atlas para canalizar métricas para uma ferramenta de sua escolha.

A seguinte visualização Métricas da UI do Atlas mostra a variedade de métricas disponíveis para monitorar um conjunto de réplicas de amostra de três nós:

Uma imagem mostrando um exemplo de visualização de métricas para um conjunto de réplicas de nó 3 .
clique para ampliar

Alertas

O Atlas oferece alertas para mais de 200 tipos de eventos, permitindo que você personalize os alertas para um monitoramento preciso. O Atlas emite alertas para as condições do banco de dados e do servidor que você configura nas suas configurações de alerta. Quando uma condição aciona um alerta, o Atlas exibe um símbolo de aviso no cluster e envia notificações de alerta.

Você pode usar a UI do Atlas , a API de administração do Atlas , o Atlas CLI e o recurso Terraform integrado para configurar alertas e a notificação de alerta .

Monitoramento

As visualizações de monitoramento do Atlas fornecem insights sobre várias métricas principais, incluindo desempenho de hardware e eficiência da operação de banco de dados . Ferramentas como painéis de desempenho em tempo real para visibilidade de rede e operações, analisadores de query para rastrear tendências de eficiência e sugestões de índice automatizadas permitem monitorar e solucionar problemas com mais eficiência, gerando maior eficiência operacional. Por exemplo, esses gráficos podem ajudá-lo a entender o impacto das reinicializações e das eleições do servidor no desempenho do banco de dados .

Registros

O Atlas fornece registros para cada processo no cluster. Cada processo mantém uma conta de sua atividade em seu próprio arquivo de log.

Você pode baixar registros usando a UI do Atlas, o Atlas CLI e a API de administração do Atlas. Para saber mais, consulte Orientação para Auditoria e Registro do Atlas.

Para monitorar o desempenho do seu cluster ou banco de dados, você pode visualizar métricas do cluster, como taxa de transferência histórica, desempenho e métricas de utilização. A tabela a seguir lista algumas categorias importantes de métricas a serem monitoradas:

Operações do Cluster do Atlas e Métricas de Conexão

  • opcounters

  • Tempos de execução da operação

  • Executores de query e Segmentação de query

  • Conexões

  • Queues

  • Digitalização e Pedido

Métricas de hardware

  • CPU do sistema normalizado

  • CPU de processo normalizada

  • Latência do disco

  • IOPS de Disco

  • Espaço livre em disco

  • Memória do sistema

  • Trocar o uso

Métricas de replicação

  • atraso de replicação

  • janela de replicação de registro

  • Headroom de replicação

  • Oplog GB/hora

  • OpCounters - Repl

Você pode usar a UI do Atlas, a API de administração do Atlas e o Atlas CLI para visualizar as métricas do Atlas cluster. Além disso, o Atlas oferece integrações internas com ferramentas de terceiros, como Datadog e Prometheus, e você também pode aproveitar a API de administração do Atlas para integrar-se a outras ferramentas de métricas personalizadas.

Para saber mais, consulte Revisar métricas de cluster.

O Atlas se integra à sua pilha de observabilidade existente, permitindo que você receba alertas e tome decisões baseadas em dados sem precisar substituir suas ferramentas atuais ou alterar seus fluxos de trabalho. O Atlas pode enviar notificações de alerta usando ferramentas de terceiros, como Microsoft Teams, PagerDuty, DataDog, Prometheus, Opsgenie, Splunk On-Call e outras ferramentas para oferecer visibilidade tanto do desempenho do banco de dados quanto da pilha completa no mesmo local.

Configure alertas e notificações para eventos de segurança, como tentativas de login malsucedidas, padrões de acesso incomuns e violações de dados. Em ambientes de desenvolvimento e teste, recomendamos configurar alertas em clusters após sete dias de inatividade para economizar custos.

Ao visualizar alertas na UI do Atlas, recomendamos que você use os filtros disponíveis para limitar os resultados por host, conjunto de réplicas, cluster, shard e muito mais, para ajudar a focar nos alertas mais críticos.

No mínimo, recomendamos configurar os seguintes alertas. Essas recomendações de alertas fornecem uma linha de base, mas você deve ajustá-las com base nas características do volume de trabalho. Onde as condições de "alta prioridade" forem especificadas na tabela a seguir, recomendamos que você configure vários alertas para a mesma condição, um para um nível de gravidade de baixa prioridade e outro para um nível de gravidade de alta prioridade . Isso permite que você defina as configurações de notificação de alerta para cada um separadamente.

Condição
Limite de alerta recomendado: baixa prioridade
Limite de alerta recomendado: alta prioridade
Insights Chave

Oplog window

< 24h por 5 minutos

< 1h por 10 minutos

Monitore a janela de oplog de replicação, juntamente com o headroom de replicação, para determinar se o secundário pode precisar de uma ressincronização completa em breve. A janela de oplog geralmente ajuda a determinar com antecedência a resiliência dos secundários às interrupções planejadas e não planejadas.

> 3 por 5 minutos

> 30 por 5 minutos

Monitore os eventos de eleição, que ocorrem quando um nó primário é desativado e um nó secundário é eleito como o novo nó primário. Eventos de eleição frequentes podem interromper operações e impactar a disponibilidade, causando indisponibilidade temporária de gravação e possível rollback de dados. Manter os eventos de eleição ao mínimo garante operações de gravação consistentes e desempenho estável do cluster.

Ler IOPS

> 4000 por 2 minutos

> 9000 por 5 minutos

Monitore se o IOPS de disco se aproxima do IOPS máximo provisionado. Determine se o cluster pode lidar com volumes de trabalho futuros.

Gravar IOPS

> 4000 por 2 minutos

> 9000 por 5 minutos

Monitore se o IOPS de disco se aproxima do IOPS máximo provisionado. Determine se o cluster pode lidar com volumes de trabalho futuros.

Latência de leitura

> 20ms por 5 minutos

> 50 s por 5 minutos

Monitore a latência do disco para acompanhar a eficiência da leitura e gravação do disco.

Latência de gravação

> 20ms por 5 minutos

> 50ms por mais de 5 minutos

Monitore a latência do disco para acompanhar a eficiência da leitura e gravação do disco.

Trocar o uso

> 2GB por 15 minutos

> 2GB por 15 minutos

Monitore a memória para determinar se é necessário atualizar para uma camada de cluster superior. Essa métrica representa o valor médio durante o período especificado pela granularidade da métrica.

Anfitrião inativo

15 minutos

24 horas

Monitore seus hosts para detectar imediatamente o tempo de inatividade. Um host inativo por mais de 15 minutos pode impacto a disponibilidade, enquanto o tempo de inatividade superior a 24 horas é crítico, colocando em risco a acessibilidade aos dados e o desempenho dos aplicação .

Não primário

5 minutos

5 minutos

Monitore o status dos seus conjuntos de réplicas para identificar instâncias onde não há nó primary. A falta de um primary por mais de 5 minutos pode interromper as operações de gravação e impacto a funcionalidade do aplicação .

Ativo ausente mongos

15 minutos

15 minutos

Monitore o status dos processos mongos ativos para garantir o roteamento eficaz das queries em clusters fragmentados. Um mongos ausente pode interromper o roteamento de queries.

Falhas na Página

> 50/segundo por 5 minutos

> 100/segundo por 5 minutos

Monitore as falhas da página para determinar se deve aumentar sua memória. Essa métrica exibe a taxa média de falhas de página nesse processo por segundo durante o período de amostra selecionado. Em ambientes não Windows, isso se aplica somente a falhas de páginas rígidas.

atraso de replicação

> 240 segundo por 5 minutos

> 1 hora por 5 minutos

Monitore o atraso da replicação para determinar se o secundário pode sair do oplog.

Falha no backup

Qualquer ocorrência

none

Monitore as operações de backup para garantir a integridade dos dados. Um backup com falha pode comprometer a disponibilidade dos dados.

Backup restaurado

Qualquer ocorrência

none

Verifique os backups restaurados para garantir a integridade dos dados e a funcionalidade do sistema.

Falha no snapshot fallback

Qualquer ocorrência

none

Monitore as operações de snapshot de fallback para garantir a redundância de dados e a capacidade de recuperação.

Cronograma de backup atrasado

> 12 horas

> 12 horas

Verifique os agendamentos de backup para garantir que estejam no caminho certo. Atrasar pode correr o risco de perda de dados e comprometer os planos de recuperação.

Leituras enfileiradas

> 0-10

> 10+

Monitore as leituras em fila para garantir a recuperação eficiente de dados. Altos níveis de leituras em fila podem indicar restrições de recursos ou gargalos de desempenho, exigindo otimização para manter a capacidade de resposta do sistema.

Gravações em fila

> 0-10

> 10+

Monitore as gravações em fila para manter o processamento de dados eficiente. Altos níveis de gravações em fila podem indicar restrições de recursos ou gargalos de desempenho, exigindo otimização para manter a capacidade de resposta do sistema.

Reinicia a última hora

> 2

> 2

Acompanhe o número de reinicializações na última hora para detectar problemas de instabilidade ou configuração. As reinicializações frequentes podem indicar problemas subjacentes que exigem pesquisa imediata para manter a confiabilidade e o tempo de atividade do sistema.

Qualquer ocorrência

none

Monitore as eleições primárias para garantir operações de cluster estáveis. Eleições frequentes podem indicar problemas de rede ou restrições de recursos, afetando potencialmente a disponibilidade e o desempenho do banco de dados.

Manutenção não é mais necessária

Qualquer ocorrência

none

Revise as tarefas de manutenção desnecessárias para otimizar recursos e minimizar as interrupções.

Manutenção iniciada

Qualquer ocorrência

none

Acompanhar o início das tarefas de manutenção para assegurar que as atividades planejadas prossigam sem contratempos. A supervisão adequada contribui para manter o desempenho do sistema e reduzir o tempo de inatividade durante a manutenção.

Manutenção programada

Qualquer ocorrência

none

Monitore a manutenção programada para se preparar para possíveis impactos no sistema.

> 5% para 5 minutos

> 20% para 5 minutos

Monitore o roubo de CPU em clusters AWS EC2 com desempenho escalável para identificar quando o uso da CPU excede a linha de base garantida devido a núcleos compartilhados. Altas porcentagens de roubo indicam que o saldo de crédito da CPU está esgotado, o que afeta o desempenho.

CPU

> 75% para 5 minutos

> 75% para 5 minutos

Monitore o uso da CPU para determinar se os dados são recuperados do disco em vez da memória.

Uso da partição de disco

> 90%

> 95% para 5 minutos

Monitore o uso da partição de disco para garantir disponibilidade de armazenamento suficiente. Altos níveis de uso podem levar à degradação do desempenho e possíveis interrupções do sistema.

Para saber mais, consulte Configurar e resolver alertas.

O Atlas fornece várias ferramentas que permitem monitorar e melhorar de forma proativa o desempenho do seu banco de dados.

O Real-Time Performance Panel (RTPP) na UI do Atlas fornece insights sobre o tráfego de rede atual, operações de banco de dados e estatísticas de hardware sobre os hosts em uma granularidade de um segundo na UI do Atlas . Recomendamos que você use o RTPP para:

  • Identifique visualmente as operações relevantes do banco de dados

  • Avaliar os tempos de execução da consulta

  • Avalie a proporção de documentos digitalizados para documentos devolvidos

  • Monitore a carga e a taxa de transferência da rede

  • Descubra a possível latência de replicação em membros secundários de conjuntos de réplicas

  • Elimine as operações antes que elas sejam concluídas para liberar recursos valiosos

O RTPP não está disponível para monitorar a partir da API de administração do Atlas, mas você pode ativar e desativar o RTPP a partir da API de administração do Atlas com Atualizar configurações de um projeto.

Para aprender mais, veja Monitore o desempenho em tempo real.

O Profiler de Consultas identifica consultas lentas e gargalos, e sugere o refinamento de índices e a reestruturação de consultas para melhorar o desempenho do seu banco de dados. Ele fornece visibilidade das operações mais lentas em uma janela de 24horas na IU do Atlas, facilitando a identificação de tendências e outliers na eficiência da consulta. Recomendamos que você use esses dados para identificar e solucionar consultas com baixo desempenho, reduzindo a sobrecarga de desempenho.

Você pode retornar linhas de log para queries lentas que o Analisador de query identifica na API de administração do Atlas com Retornar queries lentas.

Para saber mais, consulte Monitorar o desempenho da query com o Query Profiler.

O Performance Advisor analisa automaticamente os logs em busca de queries de execução lenta e recomenda índices para criar e descartar. Ele analisa consultas lentas e fornece sugestões de índices para coleções individuais, classificadas por uma pontuação de impacto calculada e adaptadas à sua carga de trabalho. Isso oferece uma maneira fácil e imediata de implementar melhorias de alto impacto no desempenho. Recomendamos que você monitore regularmente, concentre-se em consultas lentas e ative o analisador de consultas seletivamente para minimizar a sobrecarga.

Você pode usar a UI do Atlas , o Atlas CLI e a API de administração do Atlas para visualizar queries lentas e sugestões para melhorar o desempenho de suas queries a partir do Performance Advisor.

Você pode retornar linhas de log para queries lentas que o Performance Advisor identifica na API de administração do Atlas com Retornar queries lentas. Para retornar índices sugeridos e mais com a API de Administração do Atlas, consulte Performance Advisor.

Para saber mais, consulte Monitorar e melhorar consultas lentas.

A página namespace Insights na IU do Atlas permite que você monitore o desempenho e as métricas de uso no nível da coleção. Ele exibe métricas (como o número de operações CRUD na coleção) e estatísticas (como o tempo médio de execução de consultas) para determinados hosts e tipos de operação para as coleções que você fixar para monitoramento. Isso proporciona uma visibilidade mais detalhada do desempenho ao nível da coleção, que pode ser utilizada para otimizar o desempenho do banco de dados, resolver problemas e tomar decisões sobre escalonamento, indexação e ajuste de consultas.

Para saber mais, consulte Monitorar a latência de query em nível de collection.

O Atlas retém os últimos 30 dias de mensagens de log e mensagens de auditoria de eventos do sistema. Você pode baixar os logs do Atlas a qualquer momento até o final de seus períodos de retenção usando a IU do Atlas, a API de administração do Atlas e o Atlas CLI.

Para saber mais, consulte Exibir e baixar registros do MongoDB.

Você também pode enviar logs para um bucket do AWS S3 . Ao configurar este recurso, o Atlas envia continuamente logs de mongod, mongos e logs de auditoria para um bucket AWS S3. O Atlas exporta os logs a cada cinco minutos.

Veja exemplos do Terraform para aplicar nossas recomendações de Staging/Produção em todos os pilares em um só lugar no Github.

Os exemplos seguintes demonstram como ativar o monitoramento usando as ferramentas do Atlas para automação.

Execute o seguinte comando para recuperar a quantidade de espaço usado e livre no disco especificado. Essa métrica pode ser utilizada para verificar se o sistema está ficando sem espaço disponível.

atlas metrics disks describe atlas-lnmtkm-shard-00-00.ajlj3.mongodb.net:27017 data \
--granularity P1D \
--period P1D \
--type DISK_PARTITION_SPACE_FREE,DISK_PARTITION_SPACE_USED \
--projectId 6698000acf48197e089e4085 \

Execute o comando a seguir para criar uma notificação de alerta para um endereço de e-mail quando seu sistema não tiver um primary.

atlas alerts settings create \
--enabled \
--event "NO_PRIMARY" \
--matcherFieldName CLUSTER_NAME \
--matcherOperator EQUALS \
--matcherValue ftsTest \
--notificationType EMAIL \
--notificationEmailEnabled \
--notificationEmailAddress "myName@example.com" \
--notificationIntervalMin 5 \
--projectId 6698000acf48197e089e4085

Execute o seguinte comando para habilitar o limite de operação lenta gerenciado pelo Atlas para o seu projeto.

atlas performanceAdvisor slowOperationThreshold enable --projectId 56fd11f25f23b33ef4c2a331

Execute o seguinte comando para baixar um arquivo compactado que contém os registros MongoDB para o host especificado em seu projeto.

atlas logs download atlas-lnmtkm-shard-00-00.ajlj3.mongodb.net mongodb.gz --projectId 56fd11f25f23b33ef4c2a331

Antes de criar recursos com o Terraform, você deve:

  • Crie sua organização pagadora e crie uma chave de API para a organização pagadora. Armazene sua chave de API como variáveis de ambiente executando o seguinte comando no terminal:

    export MONGODB_ATLAS_PUBLIC_KEY="<insert your public key here>"
    export MONGODB_ATLAS_PRIVATE_KEY="<insert your private key here>"
  • Instalar o Terraform

Sugerimos também a criação de um espaço de trabalho para o seu ambiente.

Os exemplos a seguir demonstram como configurar alertas e notificações de alerta . Você deve criar os seguintes arquivos para cada exemplo. Coloque os arquivos de cada exemplo em seu próprio diretório. Altere os IDs e nomes para usar seus valores:

variable "atlas_org_id" {
type = string
description = "MongoDB Atlas Organization ID"
}
variable "atlas_project_name" {
type = string
description = "The MongoDB Atlas Project Name"
}
variable "atlas_project_id" {
description = "MongoDB Atlas project id"
type = string
}
variable "atlas_cluster_name" {
description = "MongoDB Atlas Cluster Name"
default = "datadog-test-cluster"
type = string
}
atlas_org_id = "32b6e34b3d91647abb20e7b8"
atlas_project_name = "Customer Portal - Prod"
atlas_project_id = "67212db237c5766221eb6ad9"
atlas_cluster_name = "myCluster"

Exemplo: Use o seguinte para enviar uma notificação de alerta por e-mail para usuários com a função GROUP_CLUSTER_MANAGER quando houver um atraso de replicação, o que pode resultar em inconsistências de dados.

resource "mongodbatlas_alert_configuration" "test" {
project_id = var.atlas_project_id
event_type = "REPLICATION_OPLOG_WINDOW_RUNNING_OUT"
enabled = true
notification {
type_name = "GROUP"
interval_min = 10
delay_min = 0
sms_enabled = false
email_enabled = true
roles = ["GROUP_CLUSTER_MANAGER"]
}
matcher {
field_name = "CLUSTER_NAME"
operator = "EQUALS"
value = "myCluster"
}
threshold_config {
operator = "LESS_THAN"
threshold = 1
units = "HOURS"
}
}

Execute o comando de amostra para recuperar as seguintes métricas:

  • OPCOUNTERS - para monitorar a quantidade de queries, atualizações, inserções e exclusões que ocorrem no pico de carga e garantir que a carga não aumente inesperadamente.

  • TICKETS - para garantir que o número de leituras e gravações simultâneas permitidas não diminua significativamente ou com frequência.

  • Conexões - para garantir que o número de soquetes usados para pulsações e replicação entre membros não esteja acima do limite definido.

  • Segmentação de consultas - para garantir que o número de chaves e documentos digitalizados em relação ao número de documentos retornados, em média por segundo, não seja muito alto.

  • CPU do Sistema - para garantir que o uso da CPU seja constante.

atlas metrics processes atlas-lnmtkm-shard-00-00.ajlj3.mongodb.net:27017 \
--projectId 56fd11f25f23b33ef4c2a331 \
--granularity PT1H \
--period P7D \
--type
CONNECTIONS,OPCOUNTER_DELETE,OPCOUNTER_INSERT,OPCOUNTER_QUERY,OPCOUNTER_UPDATE,TICKETS_AVAILABLE_READS,TICKETS_AVAILABLE_WRITE,CONNECTIONS,QUERY_TARGETING_SCANNED_OBJECTS_PER_RETURNED,QUERY_TARGETING_SCANNED_PER_RETURNED,SYSTEM_CPU_GUEST,SYSTEM_CPU_IOWAIT,SYSTEM_CPU_IRQ,SYSTEM_CPU_KERNEL,SYSTEM_CPU_NICE,SYSTEM_CPU_SOFTIRQ,SYSTEM_CPU_STEAL,SYSTEM_CPU_USER \
--output json

Execute o seguinte comando para enviar alertas a um grupo por e-mail quando houver possíveis tempestades de conexão com base no número de conexões no seu projeto.

atlas alerts settings create \
--enabled \
--event "OUTSIDE_METRIC_THRESHOLD" \
--metricName CONNECTIONS \
--metricOperator LESS_THAN \
--metricThreshold 1 \
--metricUnits RAW \
--notificationType GROUP \
--notificationRole "GROUP_DATA_ACCESS_READ_ONLY","GROUP_CLUSTER_MANAGER","GROUP_DATA_ACCESS_ADMIN" \
--notificationEmailEnabled \
--notificationEmailAddress "user@example.com" \
--notificationIntervalMin 5 \
--projectId 6698000acf48197e089e4085

Execute o comando a seguir para recuperar os índices sugeridos para collections com queries lentas.

atlas performanceAdvisor suggestedIndexes list \
--projectId 56fd11f25f23b33ef4c2a331 \
--processName atlas-zqva9t-shard-00-02.2rnul.mongodb.net:27017

Execute o seguinte comando para baixar um arquivo compactado que contém os registros MongoDB para o host especificado em seu projeto.

atlas logs download atlas-lnmtkm-shard-00-00.ajlj3.mongodb.net mongodb.gz --projectId 56fd11f25f23b33ef4c2a331

Antes de criar recursos com o Terraform, você deve:

  • Crie sua organização pagadora e crie uma chave de API para a organização pagadora. Armazene sua chave de API como variáveis de ambiente executando o seguinte comando no terminal:

    export MONGODB_ATLAS_PUBLIC_KEY="<insert your public key here>"
    export MONGODB_ATLAS_PRIVATE_KEY="<insert your private key here>"
  • Instalar o Terraform

Os exemplos a seguir demonstram como configurar alertas e notificações de alerta . Você deve criar os seguintes arquivos para cada exemplo. Coloque esses arquivos para cada exemplo em seu próprio diretório e substitua apenas o arquivo main.tf . Altere os IDs e nomes para usar seus valores:

variable "atlas_org_id" {
type = string
description = "MongoDB Atlas Organization ID"
}
variable "atlas_project_name" {
type = string
description = "The MongoDB Atlas Project Name"
}
variable "atlas_project_id" {
description = "MongoDB Atlas project id"
type = string
}
variable "atlas_cluster_name" {
description = "MongoDB Atlas Cluster Name"
default = "datadog-test-cluster"
type = string
}
variable "datadog_api_key" {
description = "Datadog api key"
type = string
}
variable "datadog_region" {
description = "Datadog region"
default = "US5"
type = string
}
variable "prometheus_user_name" {
type = string
description = "The Prometheus User Name"
default = "puser"
}
variable "prometheus_password" {
type = string
description = "The Prometheus Password"
default = "ppassword"
}
atlas_org_id = "32b6e34b3d91647abb20e7b8"
atlas_project_name = "Customer Portal - Prod"
atlas_project_id = "67212db237c5766221eb6ad9"
atlas_cluster_name = "myCluster"
datadog_api_key = "1234567890abcdef1234567890abcdef"
datadog_region = "US5"
prometheus_user_name = "prometheus_user"
prometheus_password = "secure_prometheus_password"

Exemplo 1: Use o seguinte para integrar-se a serviços de terceiros, como Datadog e Prometheus, para notificações de alerta.

resource "mongodbatlas_third_party_integration" "test_datadog" {
project_id = var.atlas_project_id
type = "DATADOG"
api_key = var.datadog_api_key
region = var.datadog_region
}
resource "mongodbatlas_third_party_integration" "test_prometheus" {
project_id = var.atlas_project_id
type = "PROMETHEUS"
user_name = var.prometheus_user_name
password = var.prometheus_password
service_discovery = "http"
enabled = true
}
output "datadog.id" { value = mongodbatlas_third_party_integration.test_datadog.id }
output "prometheus.id" { value = mongodbatlas_third_party_integration.test_prometheus.id }

Exemplo 2: use o seguinte para enviar uma notificação de alerta para serviços de terceiros, como Datadog e Prometheus, quando não houver nenhum primary no conjunto de réplicas por mais de 5 minutos.

resource "mongodbatlas_alert_configuration" "test_alert_notification" {
project_id = var.atlas_project_id
event_type = "NO_PRIMARY"
enabled = true
notification {
type_name = "PROMETHEUS"
integration_id = mongodbatlas_third_party_integration.test_datadog.id # ID of the Atlas Prometheus integration
}
notification {
type_name = "DATADOG"
integration_id = mongodbatlas_third_party_integration.test_prometheus.id # ID of the Atlas Datadog integration
}
matcher {
field_name = "REPLICA_SET_NAME"
operator = "EQUALS"
value = "myReplSet"
}
threshold_config {
operator = "GREATER_THAN"
threshold = 5
units = "MINUTES"
}
}

Exemplo 3: Use o seguinte para enviar uma notificação de alerta por e-mail para usuários com a função GROUP_CLUSTER_MANAGER quando houver um atraso de replicação, o que pode resultar em inconsistências de dados.

resource "mongodbatlas_alert_configuration" "test_replication_lag_alert" {
project_id = var.atlas_project_id
event_type = "OUTSIDE_METRIC_THRESHOLD"
enabled = true
notification {
type_name = "GROUP"
interval_min = 10
delay_min = 0
sms_enabled = false
email_enabled = true
roles = ["GROUP_CLUSTER_MANAGER"]
}
matcher {
field_name = "CLUSTER_NAME"
operator = "EQUALS"
value = "myCluster"
}
metric_threshold_config {
metric_name = "OPLOG_SLAVE_LAG_MASTER_TIME"
operator = "GREATER_THAN"
threshold = 1
units = "HOURS"
}
}