Monitorando o Oracle NoSQL Database Cloud Service

O serviço Oracle Cloud Infrastructure Monitoring permite que você monitore ativa e passivamente seus recursos de nuvem usando os recursos Métricas e Alarmes. O serviço Monitoring usa métricas para monitorar recursos e alarmes para notificá-lo quando essas métricas atenderem aos acionadores especificados pelo alarme.

Uma métrica é uma medida relacionada à integridade, capacidade ou desempenho de um determinado recurso. Um alarme é uma regra de trigger e uma consulta. Os alarmes monitoram passivamente seus recursos de nuvem usando métricas. Você pode configurar definições de notificação ao criar um alarme.

As métricas são emitidas para o serviço Monitoring como pontos de dados brutos (um par de timestamp/valor para uma métrica especificada) junto com dimensões (um identificador de recurso fornecido na definição da métrica) e metadados. O serviço Monitoring publica mensagens de alarme para destinos configurados gerenciados pelo serviço Notifications.

Quando você consulta uma métrica, o serviço Monitoring retorna dados agregados de acordo com os parâmetros especificados. Você pode especificar um intervalo (como as últimas 24 horas), uma estatística e um intervalo. Uma estatística é a função de agregação aplicada aos pontos de dados brutos. A função de agregação SUM é um exemplo de estatística. Um intervalo é a janela de tempo usada para converter um determinado conjunto de pontos de dados básicos. Por exemplo, 5 minutos.

A Console exibe um gráfico de monitoramento por métrica para os recursos selecionados. Os dados agregados em cada gráfico refletem a estatística e o intervalo selecionados. As solicitações de API podem, opcionalmente, filtrar por dimensão e especificar uma resolução. As respostas da API incluem o nome da métrica juntamente com seu compartimento de origem e namespace de métricas (indica o recurso, serviço ou aplicativo que emite uma métrica). O namespace é fornecido na definição da métrica. Por exemplo, a definição de métrica CpuUtilization emitida pelo Oracle Cloud lista o namespace de métricas oci_computeagent como a origem da métrica.

Os dados de métricas e alarme são acessíveis por meio da Console, da CLI e da API. Para obter mais informações sobre conceitos do serviço OCI Monitoring, consulte Conceitos do Serviço Monitoring.

Este artigo tem os seguintes tópicos:

Métricas do Oracle NoSQL Database Cloud Service

O Oracle NoSQL Database Cloud Service emite métricas usando o namespace de métricas oci_nosql.

As métricas do Oracle NoSQL Database Cloud Service incluem as seguintes dimensões:
  • RESOURCEID
    O OCID da Tabela NoSQL no Oracle NoSQL Database Cloud Service.

    Observação:

    O OCID é um ID exclusivo designado pela Oracle que é incluído como parte das informações do recurso na console e na API.
  • TABLENAME

    O nome da tabela NoSQL no Oracle NoSQL Database Cloud Service.

  • REPLICA

    O nome da região que recebe a atualização de tabela de outra região.

O Oracle NoSQL Database Cloud Service envia métricas para o Oracle Cloud Infrastructure Monitoring Service. Você pode exibir ou criar alarmes nessas métricas usando SDKs ou a CLI da Console do Oracle Cloud Infrastructure.

Tabela - Métricas do Oracle NoSQL Database Cloud Service

Métrica Nome de Exibição da Métrica Unidade Descrição Dimensões
ReadUnits Unidades de Leitura Unidades O número de unidades de leitura consumidas durante esse período. resourceId tableName
WriteUnits Unidades de Gravação Unidades O número de unidades de gravação consumidas durante esse período. resourceId tableName
StorageGB Tamanho de Armazenamento GB O volume máximo de armazenamento consumido pela tabela. Como essas informações são geradas a cada hora, você pode ver valores desatualizados entre os pontos de atualização. resourceId tableName
ReadThrottleCount Limite de Leitura Count O número de exceções de limite de leitura nesta tabela no período. resourceId tableName
WriteThrottleCount Limite de Gravação Count O número de exceções de limitação de gravações nesta tabela no período. resourceId tableName
StorageThrottleCount Limitação de Armazenamento Count O número de exceções de limite de armazenamento nesta tabela no período. resourceId tableName
MaxShardSizeUsagePercent Uso Máximo do Tamanho do Shard Porcentagem A proporção do espaço usado no fragmento sobre o espaço total alocado para o fragmento. Isso é específico de uma tabela e será o valor mais alto em todos os shards. resourceId tableName
Replica Lag Atraso na réplica Milissegundos Um atraso na replicação das alterações de dados de uma tabela Ativa Global de uma região do remetente para uma região do recebedor.
resourceId
tableName
replica

Além disso, você pode publicar métricas personalizadas de acordo com sua necessidade. Por exemplo, você pode configurar métricas para capturar a latência da transação da aplicação (tempo gasto por transação concluída) e, em seguida, contabilizar esses dados no serviço Monitoring.

Métricas do NDCS Explicadas

O Oracle NoSQL Database Cloud Service envia métricas para o Oracle Cloud Infrastructure Monitoring Service.

Unidades de Leitura:

O número de unidades de leitura consumidas durante esse período. É o throughput de até 1 KB de dados por segundo para uma operação de leitura eventualmente consistente. Se seus dados forem maiores que 1 KB, serão necessárias várias unidades de leitura para lê-los. O gráfico de métricas Unidade de Leitura de uma tabela é mostrado abaixo. A métrica é tomada a cada minuto e os gráficos de métricas são plotados por um intervalo de 5 minutos por padrão.


Unidades de Gravação:

O número de unidades de gravação consumidas durante esse período. É o throughput de até 1 KB de dados por segundo para uma operação de gravação. As operações de gravação são acionadas durante as operações de inserção, atualização e exclusão. Se seus dados forem maiores que 1 KB, serão necessárias várias unidades de leitura para gravá-los. O gráfico de métricas Unidade de Gravação de uma tabela é mostrado abaixo. A métrica é tomada a cada minuto e os gráficos de métricas são plotados por um intervalo de 5 minutos por padrão.


StorageGB:

O volume máximo de armazenamento consumido pela tabela. O gráfico de métricas de Armazenamento para uma tabela é mostrado abaixo. A métrica é tomada a cada minuto e os gráficos de métricas são plotados por um intervalo de 5 minutos por padrão.

Observação:

Leva uma hora após a criação da tabela para pré-implantar o início do rastreamento do tamanho de armazenamento. Após a hora inicial, as estatísticas de armazenamento são atualizadas a cada 5 minutos.


Observação:

A métrica GB de armazenamento está truncada. Portanto, o uso de armazenamento inferior a 1 GB será exibido como 0. O gráfico começará a exibir o armazenamento quando o uso for maior que 1 GB.

ReadThrottleCount:

Isso fornece uma contagem do número de exceções de limitação de leitura na tabela fornecida no período. Uma exceção de limitação geralmente indica que o throughput de leitura provisionado foi excedido. Se você obtê-los com frequência, então você deve considerar aumentar as Unidades de Leitura em sua mesa. O gráfico de métricas de contagem de aceleração de Leitura para uma tabela é mostrado abaixo. A métrica é tomada a cada minuto e os gráficos de métricas são plotados por um intervalo de 5 minutos por padrão.


WriteThrottleCount:

Isso fornece uma contagem do número de exceções de limitação de gravação na tabela fornecida no período. Uma exceção de limitação geralmente indica que o throughput de gravação provisionado foi excedido. Se você obtê-los com frequência, considere aumentar as Unidades de Gravação em sua tabela. O gráfico de métricas de contagem de aceleração de Gravação para uma tabela é mostrado abaixo. A métrica é tomada a cada minuto e os gráficos de métricas são plotados por um intervalo de 5 minutos por padrão.


StorageThrottleCount:

Isso fornece uma contagem do número de exceções de limitação de armazenamento na tabela fornecida no período. Uma exceção de limitação geralmente indica que a capacidade de armazenamento provisionada foi excedida. Se você obtê-los com frequência, considere aumentar a capacidade de armazenamento da sua tabela. O gráfico de métricas de contagem de aceleração de Armazenamento para uma tabela é mostrado abaixo. A métrica é tomada a cada minuto e os gráficos de métricas são plotados por um intervalo de 5 minutos por padrão.


MaxShardSizeUsagePercent

O maior uso de espaço em um shard para uma tabela específica, como uma porcentagem do espaço usado nesse shard.

Observação:

O Oracle NoSQL Database Cloud Service tem chaves de shards para fornecer distribuição por meio de uma coleção de nós de armazenamento que fornecem armazenamento para as tabelas. Embora não estejam diretamente visíveis para você, as tabelas do Oracle NoSQL Database Cloud Service são particionadas e replicadas para disponibilidade e desempenho. Uma chave de partição 100% corresponde à chave primária ou é um subconjunto da chave primária. Todos os registros que compartilham uma chave de partição são co-localizados para obter a localidade dos dados.

Quando maxShardSizeUsagepercent atingir 100, você não poderá mais fazer uma operação de gravação na tabela. Você precisa aumentar a capacidade de armazenamento para fazer uma gravação na tabela. Essa métrica ajuda a determinar se existe um ponto de acesso de armazenamento para sua tabela NoSQL.

Esse cenário acontece devido a um desequilíbrio na forma como os dados da tabela são armazenados nos shards. Um desequilíbrio pode ocorrer quando a maioria dos dados da tabela é armazenada em um subconjunto dos fragmentos. O armazenamento em um banco de dados NoSQL é particionado e a chave de partição faz parte da definição da tabela. Em tabelas hierárquicas, as tabelas pai e filho compartilham a mesma chave de partição. Se você tiver uma tabela pai com tabelas filho, todos os registros compartilharão a mesma chave de partição. Portanto, todos esses dados serão armazenados juntos. Se uma tabela pai tiver menos filhos, ela ocupará menos espaço de armazenamento em um único fragmento. Devido a esse desequilíbrio, certos fragmentos podem conter muito mais dados do que outros fragmentos.

Em determinado ponto, um shard terá o uso mais alto de espaço para uma tabela específica e a porcentagem usada nesse shard será MaxShardSizeUsagePercent. O gráfico de métricas maxShardSizeUsagepercent de uma tabela é mostrado abaixo. A métrica é tomada a cada minuto e os gráficos de métricas são plotados por um intervalo de 5 minutos por padrão.


Além de exibir o gráfico de uma métrica, você tem as opções a seguir.


Você pode obter a view de tabela para verificar o valor de uma métrica em um determinado momento.


Monitorando a métrica MaxShardSizeUsagePercent

Você precisa monitorar periodicamente esse gráfico para saber se o maxShardSizeUsagepercent foi atingido ou não. Proativamente, você pode criar um alarme para esta métrica.


Ou seja, você deve acionar um alarme quando a métrica atingir um valor específico, por exemplo, 90%.


O alarme do OCI usa o serviço de notificação do OCI para enviar notificações. Normalmente, o alarme será configurado para enviar notificações por e-mail configurado. Quando maxShardSizeUsagepercent atinge 90%, uma notificação por e-mail é enviada.


Consulte Gerenciando Alarmes e Notificações para obter mais detalhes.

Quando houver um desequilíbrio na forma como os dados da tabela são distribuídos entre os shards, você não poderá utilizar a capacidade de armazenamento alocada à tabela no máximo. Nesse cenário, maxShardSizeUsagepercent atinge o valor de 100 mesmo sem utilizar todo o armazenamento alocado para a tabela. Agora você precisa adicionar mais armazenamento para continuar gravando em sua tabela. Este cenário pode ser evitado seguindo algumas diretrizes ao projetar sua tabela.
  • Decida a chave de partição correta para sua tabela. Os atributos com alta cardinalidade são uma boa escolha para chaves de partição.
  • Limite o número de tabelas filho para evitar uma possível situação de desequilíbrio no armazenamento de fragmentos.

Atraso na réplica

Um atraso na replicação das alterações de dados (INSERIR/ATUALIZAR ou EXCLUIR) de uma tabela Ativa Global de uma região remetente para uma região recebedora. A operação de gravação que ocorreu na região do remetente de uma tabela Ativa Global é refletida na região do receptor após um intervalo de tempo. As informações sobre o intervalo de tempo são expressas como uma métrica chamada Lag de Réplica. O atraso de réplica é uma medida da atualidade dos dados da tabela na região de replicação do receptor, em relação aos dados na tabela da região do remetente. O atraso da réplica indica que a tabela na região do receptor ainda não recebeu atualizações da região do remetente que ocorreram durante o período de atraso. Se não houver gravações de aplicativo para a tabela na região do remetente, o serviço usará os mecanismos de ping para calcular uma aproximação do atraso e a estatística de atraso ainda estará disponível na região do receptor.

Obter informações sobre o atraso da Réplica:

Na região do receptor, clique na tabela Ativo Global e exiba as informações da tabela. Em Recursos, clique em Métricas. Você vê uma métrica, Lag de replicação, que exibe o atraso de replicação em milissegundos. No gráfico de exemplo abaixo, você vê que a métrica Atraso de Réplica é obtida na região Sudeste do Canadá (Toronto), que é a região do receptor. Essa tabela Global Ativa tem duas réplicas de tabela regionais, uma em cada uma nas regiões Sudeste do Canadá (Montreal) e Leste dos EUA (Ashburn). Você vê que o gráfico tem duas linhas uma para cada uma dessas réplicas de tabela regional em Montreal e Ashburn.

No gráfico abaixo, o Intervalo indica a janela de tempo usada para plotar o gráfico. Várias opções de intervalo disponíveis são 1 minuto, 5 minutos, 1 hora e 1 dia. Por padrão, o atraso da réplica é monitorado a cada 1 minuto e o gráfico é plotado a cada 5 minutos. Você pode selecionar diferentes estatísticas para a métrica de Lag de Réplica.

Exemplo 1: Replica lag com Sudeste do Canadá (Toronto) como a região recebedora e Sudeste do Canadá (Montreal) e Leste dos EUA (Ashburn) como regiões remetentes.

O gráfico abaixo é plotado para a estatística Média para um intervalo de 5 minutos.


Neste exemplo, Montreal e Ashburn são duas regiões remetentes e Toronto é a região receptora onde a métrica é capturada. Considere o valor de Lag de réplica às 12:25 UTC para Montreal. São 2020 milissegundos. Isso significa que a região receptora Sudeste do Canadá (Toronto) não recebeu atualizações que ocorreram na região remetente Sudeste do Canadá (Montreal) nos últimos milissegundos de 2020. Da mesma forma, considere o valor do atraso da réplica às 12:25 UTC para Ashburn. São 2954 milissegundos. Isso significa que a região receptora Sudeste do Canadá (Toronto) não recebeu atualizações que aconteceram na região remetente Leste dos EUA (Ashburn) nos últimos 2954 milissegundos.

Exemplo 2: Réplica lag com Leste dos EUA (Ashburn) como a região recebedora e Sudeste do Canadá (Montreal) e Sudeste do Canadá Toronto como regiões remetentes.

Neste exemplo, Montreal e Toronto são duas regiões remetentes e Ashburn é a região receptora onde a métrica é capturada.


Exemplo 3: Réplica de atraso com o Canadá Sudeste (Montreal) como a região recebedora e EUA Leste (Ashburn) e Canadá Sudeste Toronto como regiões remetentes.

Neste exemplo, Ashburn e Toronto são duas regiões remetentes e Montreal é a região receptora onde a métrica é capturada.


Além de visualizar o gráfico para o atraso da Réplica, você tem as seguintes opções.


Você pode obter a exibição de tabela para verificar o valor do atraso da Réplica em um determinado momento.


Exibindo ou Listando Métricas do Oracle NoSQL Database Cloud Service

Você pode exibir as métricas disponíveis para o Oracle NoSQL Database Cloud Service com a Console. Além disso, você pode obter a lista de métricas disponíveis para o Oracle NoSQL Database Cloud Service usando comandos da CLI do OCI.

  1. Abra o menu de navegação e clique em Observabilidade & Gerenciamento. Em Monitoramento, clique em Métricas do Serviço.
  2. Selecione o Compartimento e o Namespace de métrica (oci_nosql).

No Cloud Shell, execute o comando a seguir. Ele retorna definições de métrica que correspondem aos critérios especificados na solicitação. OCID do compartimento obrigatório. Para obter mais informações sobre as OPÇÕES disponíveis com o comando list, consulte Métricas da Lista.

oci monitoring metric list --compartment-id <Compartment_OCID> --namespace oci_nosql

Por exemplo:
oci monitoring metric list --compartment-id ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya --namespace oci_nosql
Exemplo de resposta:
{
  "data": [
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "ReadThrottleCount",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "ReadUnits",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "StorageGB",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "StorageThrottleCount",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "WriteThrottleCount",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "WriteUnits",
      "namespace": "oci_nosql",
      "resource-group": null
    }
  ]
}

Como Coletar Métricas do Oracle NoSQL Database Cloud Service?

Você pode criar consultas de métricas para coletar conjuntos específicos de métricas (dados agregados). Uma consulta de métrica contém a expressão Linguagem de Consulta de Monitoramento (MQL) a ser avaliada para retornar dados agregados. A consulta deve especificar uma métrica, estatística e intervalo.

Você pode usar consultas de métricas para monitorar de forma ativa e passiva seus recursos de nuvem. Monitoramento ativo com consultas de métricas que você gera espontaneamente, sob demanda. Na Console, atualize um gráfico para mostrar dados de várias consultas. Guarde as consultas que deseja reutilizar. Monitoramento passivo com alarmes que adicionam uma condição, ou regra de acionamento, a uma consulta de métrica.

Sintaxe da consulta de métrica (os elementos em negrito são obrigatórios):
metric[interval] {dimensionname=dimensionvalue}.groupingfunction.statistic
A sintaxe da consulta de Alarme de Limite (os elementos em negro são obrigatórios):
metric[interval]{dimensionname=dimensionvalue}.groupingfunction.statistic alarmoperator alarmvalue

Para obter os valores de parâmetros suportados, consulte Referência do Monitoring Query Language (MQL).

Exemplos de consultas

Consulta de métrica simples

Soma das contagens de Limites de Armazenamento para todas as tabelas em um compartimento em um intervalo de um minuto.

O número de linhas exibidas no gráfico de métricas (Console): 1 por tabela.

StorageThrottleCount[1m].sum()
Consulta de métrica filtrada

Soma das contagens de Limites de Armazenamento em um compartimento em um intervalo de um minuto, filtrada para uma única tabela.

O número de linhas exibidas no gráfico de métricas (Console): 1.

StorageThrottleCount[1m]{tableName = "demoKeyVal"}.sum()
Consulta de métrica agregada

Média agregada de operação de leitura em um intervalo de sessenta minutos, filtrada para um compartimento, agregada para a média.

O número de linhas exibidas no gráfico de métricas (Console): 1 por tabela.

ReadUnits[60m]{compartmentId="ocid1.compartment.oc1.phx..exampleuniqueID"}.grouping().mean()
Consulta de métrica agregada ao grupo

Média agregada de Contagem de Limites de Leitura por unidade de leitura em um intervalo de sessenta minutos, filtrada para uma única tabela em um compartimento.

O número de linhas exibidas no gráfico de métricas (Console): 1 por unidade de leitura.

ReadThrottleCount[60m]{tableName = "demoKeyVal"}.groupBy(ReadUnits).mean()

Criando uma Consulta de Métrica

Há duas maneiras de criar uma consulta de métrica. Você pode criar uma consulta usando a Console ou o comando da CLI do OCI.

  1. Abra o menu de navegação e clique em Observabilidade & Gerenciamento. Em Monitoramento, clique em Metrics Explorer.

    A página Explorador de Métricas exibe um gráfico vazio com campos para criar uma consulta.

  2. Preencha os campos de uma nova consulta.
    • Compartimento: O compartimento que contém as tabelas do Oracle NoSQL Database Cloud Service que você deseja monitorar. Por padrão, o primeiro compartimento acessível é selecionado.
    • Namespace de métricas: O Oracle NoSQL Database Cloud Service que emite métricas para as tabelas que você deseja monitorar. Exemplo: oci_nosql.
    • Grupo de recursos (Opcional): O grupo ao qual a métrica pertence. Grupo de recursos é uma string personalizada fornecida com uma métrica personalizada. Não aplicável a métricas de serviço.
    • Nome da métrica: O nome da métrica. Só é possível especificar uma métrica. As seleções de métrica dependem do compartimento e do namespace de métrica selecionados. Exemplo: ReadUnits
    • Intervalo: A janela de agregação.
    • Estatística: A função de agregação.
    • Dimensões de métricas: Filtros opcionais para restringir os dados de métricas avaliados.
      • Campos de dimensão: Para métricas do Oracle NoSQL Database Cloud Service, você pode selecionar resourceId ou tableName como par de nome de Dimensão e valor de Dimensão.
    • Agregar fluxos de métricas: plota uma única linha no gráfico de métricas para representar o valor combinado de todos os fluxos de métricas para a estatística selecionada.
  3. Clique em Atualizar Gráfico.

    O gráfico mostra os resultados da nova consulta. Valores muito pequenos ou grandes são indicados pelo Sistema Internacional de Unidades (unidades SI), como M para mega (10 à sexta potência). As unidades correspondem à métrica selecionada e não são alteradas pela estatística.

  4. Para exibir a consulta como uma expressão MQL ( Monitoring Query Language), selecione Modo avançado.
    • O modo avançado está localizado à direita, abaixo do gráfico.

      Use o modo Avançado para editar sua consulta usando a sintaxe MQL para agregar resultados por grupo. A sintaxe MQL também suporta valores de parâmetros adicionais. Para obter mais informações sobre parâmetros de consulta nos modos Básico e Avançado, consulte Referência de MQL (Monitoring Query Language).

No Cloud Shell, execute o comando a seguir. Ele retorna dados agregados que correspondem aos critérios especificados na solicitação. OCID do compartimento obrigatório.

oci monitoring metric-data summarize-metrics-data --compartment-id<Compartment_OCID> --namespace oci_nosql --query-text [text]

--query-text é a expressão MQL (Monitoring Query Language) a ser usada ao procurar pontos de dados de métrica a serem agregados. A consulta deve especificar uma métrica, estatística e intervalo. Valores suportados para o intervalo: 1m-60m (também 1h). Opcionalmente, você pode especificar dimensões e funções de agrupamento. Funções de agrupamento suportadas: group(), groupBy(). Para obter mais informações sobre as OPÇÕES disponíveis com o comando sumize-metrics-data, consulte Resumir Dados de Métricas. No exemplo abaixo, estamos criando uma consulta de métrica filtrada para obter a Soma de Unidades de Leitura em um compartimento em um intervalo de um minuto, filtrada para uma única tabela.

Por exemplo:
oci monitoring metric-data summarize-metrics-data --compartment-id ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya 
--namespace oci_nosql --query-text 'ReadUnits[1m]{tableName="articles"}.sum()'
Exemplo de resposta:
{
  "data": [
    {
      "aggregated-datapoints": [
        {
          "timestamp": "2022-02-17T11:03:00+00:00",
          "value": 0.0
        },
        {
          "timestamp": "2022-02-17T11:04:00+00:00",
          "value": 0.0
        },
        {
          "timestamp": "2022-02-17T11:05:00+00:00",
          "value": 0.0
        },

        ...
        ...
        ...

        {
          "timestamp": "2022-02-17T13:59:00+00:00",
         "value": 0.0
        },
        {
          "timestamp": "2022-02-17T14:00:00+00:00",
          "value": 0.0
        },
        {
          "timestamp": "2022-02-17T14:01:00+00:00",
          "value": 0.0
        }
      ],
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyav7f67yuj3t2q6rk7lp2a2obfdxa6hg2ho2ea7qabin4q",
        "tableName": "demo"
      },
      "metadata": {},
      "name": "ReadUnits",
      "namespace": "oci_nosql",
      "resolution": null,
      "resource-group": null
    }
  ]
}

Criando Alarmes

Você pode criar um alarme que avalie a consulta de alarme e envie uma notificação quando o alarme estiver no estado de acionamento, com outras propriedades de alarme. Quando acionado, um alarme envia uma mensagem de alarme para o tópico configurado (em Notificações), que depois envia a mensagem para todas as assinaturas do tópico. Slack, Email, SMS e PagerDuty são alguns dos exemplos de Tópico Configurado nas Notificações.

Quando configurado, as notificações repetidas lembram um estado de acionamento contínuo no intervalo de repetição configurado. Você também é notificado quando um alarme retorna ao estado OK ou quando um alarme é redefinido.

Uma consulta de alarme contém a expressão Linguagem de Consulta de Monitoramento (MQL) a ser avaliada para retornar dados agregados. A consulta deve especificar uma métrica, estatística e intervalo.

Há duas maneiras de criar um alarme. Você pode criar uma consulta usando a Console ou a CLI do OCI.

  1. Abra o menu de navegação e clique em Observabilidade & Gerenciamento. Em Monitoring, clique em Definições de Alarme.
  2. Clique em Criar Alarme.

    Observação:

    Você também pode criar um alarme com base em uma consulta predefinida na página Métricas do Serviço. Expanda Opções e clique em Criar um alarme nesta pesquisa. Para obter mais informações sobre métricas de serviço, consulte Exibindo ou Listando Métricas do Oracle NoSQL Database Cloud Service.
  3. Na página Create Alarm, em Define alarm, preencha ou atualize as definições de alarme:

    Observação:

    Para alternar entre o Modo Básico e o Modo Avançado, clique em Alterar para Modo Avançado ou Alterar para Modo Básico (à direita de Definir Alarme).
    • Nome do alarme: O nome amigável para o novo alarme. Este nome é enviado como o título para notificações relacionadas a este alarme. Evite digitar informações confidenciais.
    • Segurança do alarme: O tipo percebido de resposta necessário quando o alarme está no estado de acionamento.
    • Corpo do alarme: O conteúdo legível da notificação entregue. A Oracle recomenda fornecer orientação aos operadores para resolver a condição do alarme. Exemplo: "Contagem de Aceleração de Leitura Alta".
    • Tags (Opcional): Se você tiver permissão para criar um recurso, também terá permissão para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deverá ter permissão para usar o namespace de tag. Para obter mais informações sobre tags, consulte Tags de Recurso. Se você não tiver certeza se deve aplicar tags, ignore essa opção (você poderá aplicar tags posteriormente) ou pergunte ao administrador.
    • Descrição da métrica: A métrica a ser avaliada para a condição do alarme.
      • Compartimento: O compartimento que contém as tabelas do Oracle NoSQL Database Cloud Service que você deseja monitorar. Por padrão, o primeiro compartimento acessível é selecionado.
      • Namespace de métricas: O Oracle NoSQL Database Cloud Service que emite métricas para as tabelas que você deseja monitorar. Exemplo: oci_nosql.
      • Grupo de recursos (Opcional): O grupo ao qual a métrica pertence. Grupo de recursos é uma string personalizada fornecida com uma métrica personalizada. Não aplicável a métricas de serviço.
      • Nome da métrica: O nome da métrica. Só é possível especificar uma métrica. As seleções de métrica dependem do compartimento e do namespace de métrica selecionados. Exemplo: ReadUnits
      • Intervalo: A janela de agregação.
      • Estatística: A função de agregação.
    • Dimensões de métricas: Filtros opcionais para restringir os dados de métricas avaliados.
      • Campos de dimensão: Para métricas do Oracle NoSQL Database Cloud Service, você pode selecionar resourceId ou tableName como par de nome de Dimensão e valor de Dimensão.
    • Agregar fluxos de métricas: plota uma única linha no gráfico de métricas para representar o valor combinado de todos os fluxos de métricas para a estatística selecionada.
    • Regra do acionador: A condição que deve ser atendida para que o alarme esteja no estado de acionamento. A condição pode especificar um limite, como 90% para StorageGB.
      • Operador: o operador usado no limite da condição.
      • Valor: O valor a ser usado para o limite da condição.
      • Minutos de atraso do trigger: O número de minutos no qual a condição deve ser mantida antes de o alarme ser acionado.
  4. Para alterar a exibição dos resultados da consulta, clique na opção apropriada acima dos resultados, à direita:
    • Mostrar Tabela de Dados: Lista pontos de dados, indicando timestamp e bytes para cada um.
    • Mostrar Gráfico (padrão): Plota pontos de dados em um gráfico.
  5. Configure notificações: Em Notificações, preencha os campos.
    • Destinos: O tópico a ser usado para notificações.
    • Repetir notificação?: Enquanto o alarme estiver no estado de acionamento, ele será reenviado no intervalo especificado.
    • Frequência de notificação: O período de espera antes de enviar a notificação novamente.
    • Remover notificações: Configure uma janela de tempo de supressão durante a qual as avaliações e notificações serão suspensas. útil para evitar notificações de alarme durante períodos de manutenção do sistema.
  6. Se quiser desativar o alarme novo, desmarque a opção Ativar este alarme?
  7. Clique em Salvar alarme.

No Cloud Shell, execute o comando a seguir para criar um novo alarme no compartimento especificado. OCID do compartimento obrigatório.

oci monitoring alarm create --compartment-id <Compartment_OCID> --namespace oci_nosql --query-text [text] --destinations [complex type] --display-name [text] --is-enabled [boolean] --metric-compartment-id [text] --severity [text]

--query-text é a expressão MQL (Monitoring Query Language) a ser usada ao procurar pontos de dados de métrica a serem agregados. A consulta deve especificar uma métrica, estatística e intervalo. Valores suportados para o intervalo: 1m-60m (também 1h). Opcionalmente, você pode especificar dimensões e funções de agrupamento. Funções de agrupamento suportadas: group(), groupBy(). Para obter mais informações sobre as OPÇÕES disponíveis com o comando create alarm, consulte create - alarm. No exemplo abaixo, estamos criando um alarme com consulta de alarme quando o percentil 90 de StorageGB é maior que 85 em um compartimento em um intervalo de um minuto, filtrado para uma única tabela.

Exemplo de alarme de limite:
oci monitoring alarm create --compartment-id ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya 
--namespace oci_nosql --query-text 'StorageGB[1m]{tableName="demo"}.groupBy(WriteUnits).percentile(0.9) > 85' 
--display-name HighStorageConsumption --metric-compartment-id demonosql --severity Critical --is-enabled true

Gerenciando Alarmes

Você pode seguir estas diretrizes sobre como gerenciar seus alarmes.

  • Crie um conjunto de alarmes para cada métrica.
    Para cada métrica emitida pela tabela do Oracle NoSQL Database Cloud Service, crie alarmes que definam os seguintes comportamentos de recursos:
    • Em risco - O Oracle NoSQL Database Cloud Service corre o risco de se tornar inoperável, conforme indicado pelos valores de métrica. Por exemplo, o tamanho do Armazenamento para uma tabela está em risco de alta utilização.
    • Não-ótimo - O Oracle NoSQL Database Cloud Service está sendo executado em níveis não-ótimos, conforme indicado pelos valores da métrica. Por exemplo, ReadUnits ou Unidades de Gravação têm alta latência.
    • O recurso está ativo ou inativo - O Oracle NoSQL Database Cloud Service não está acessível ou não está operando. Por exemplo, Número alto para ReadThrottleCount ou WriteThrottleCount.
  • Configure um processo para responder a alarmes.
    Com base na severidade do alarme, você pode optar por responder aos alarmes das seguintes maneiras diferentes:
    • Para alarmes de Crítico para Em Risco, você pode decidir notificar a equipe de operações imediatamente, pois é necessário reparo para trazer as instâncias de volta aos níveis operacionais ideais. Você configura notificações de alarme para a equipe responsável por PagerDuty e por e-mail, solicitando uma investigação e correções apropriadas antes que as instâncias entrem em um estado inoperante. Você define notificações repetidas a cada minuto. Quando alguém responde às notificações de alarme, você para temporariamente as notificações suprimindo o alarme. Depois que as métricas retornam aos valores ideais, você remove a supressão.
    • Para alarmes de Advertência ou Não Ideal, você pode decidir notificar o indivíduo ou a equipe apropriada de que a tabela do Oracle NoSQL Database Cloud Service está consumindo mais Tamanho de Armazenamento do que o normal. Você configura um alarme de limite para notificar os contatos apropriados, pois nenhuma ação imediata é necessária para investigar e reduzir o Tamanho do Armazenamento. Defina a notificação somente para e-mail, direcionada para o desenvolvedor ou equipe apropriada, com notificações repetidas a cada 24 horas para reduzir o ruído de notificação por email.