Alertas de limite de recursos do MID Server

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 9 min. de leitura
  • A instância exibe avisos quando um MID Server viola seus limites de recursos para uso de memória de CPU e JVM, permitindo que os usuários criem notificações por e-mail ou scripts personalizados quando ocorre uma violação.

    A tabela Problemas do MID Server [ecc_agent_issue] avisa os usuários quando um MID Server excede os limites configurados de seus recursos de CPU e memória alocados. Esses avisos são publicados antes que o MID Server experimente uma degradação de desempenho ou um erro de falta de memória, permitindo que o administrador aumente os recursos e evite o tempo de inatividade. Os administradores podem usar um evento registrado para enviar notificação por e-mail para destinatários selecionados, avisando-os sobre violações de limite, ou para criar um script personalizado para fazer algum outro tipo de trabalho. A instância continua a atualizar a tabela Problemas do MID Server [ecc_agent_issue] para manter os problemas não resolvidos atuais.

    Por padrão, os alertas de limite de CPU e memória estão desabilitados e nenhum alerta é publicado na tabela Problemas do MID Server [ecc_agent_issue]. Para habilitar os dois tipos de alerta, adicione essas propriedades à tabela Propriedade do sistema [sys_properties] e defina seus valores como verdadeiro:
    • mid.threshold.resource.breach.enable.cpu.alerts
    • mid.threshold.resource.breach.enable.memory.alerts
    Para obter detalhes sobre como adicionar propriedades do sistema à plataforma, consulte Adicionar uma propriedade usando sys_properties.list.

    Processo de avaliação

    Esse processamento ocorre independentemente de o alerta estar habilitado:
    1. A cada 10 minutos, cada MID Server transmite suas métricas de consumo de CPU e memória para a instância. A instância insere métricas de CPU no campo % média de CPU usada da tabela Métricas escalares do agente ECC [ecc_agent_scalar_metric] e métricas de memória no campo % de memória máxima usada da tabela Métricas de memória do agente ECC [ecc_agent_memory_metric].
    2. Depois de uma inserção bem-sucedida, as regras de negócios a seguir são executadas em cada tabela, invocando uma inclusão de script que chama uma função apropriada. Cada função obtém uma média dos conjuntos de métricas inseridos nas tabelas, com base nos intervalos de amostra configurados.
      • Atualizar média de cpu em Status do MID Server: Chama a inclusão de script MIDResourceThresholdBreach.checkCpuUsage ().
      • Atualizar memória máxima em Status do MID Server: Chama a inclusão de script MIDResourceThresholdBreach.checkMemoryUsage.
      Cada função obtém uma média dos conjuntos de métricas inseridos nas tabelas, com base nos limites configurados e nos intervalos de amostragem. A instância primeiro examina cada MID Server em busca de parâmetros de configuração que definem valores de limite personalizados ou intervalos de amostragem para esse MID Server. Se nenhum parâmetro de configuração para esses atributos for encontrado, a instância procurará na tabela Propriedades do sistema [sys_properties] valores personalizados a serem usados. Se nenhuma propriedade for encontrada, a instância usará o limite padrão e os valores de intervalo do código.
      Nota:
      As porcentagens de limite e os intervalos de amostra são configuráveis. Consulte Configuração de limites e intervalos de amostragem para obter detalhes.

    Processo de alerta

    Quando o alerta de limites de CPU ou memória está habilitado, este processamento ocorre:
    1. Se o valor médio agregado da métrica for igual ou superior ao limite percentual configurado, a instância acionará o evento mid.threshold.resource.breach. Os administradores podem usar este evento para criar notificações por e-mail para alertas de violação de limite ou para criar um script personalizado.
    2. A instância insere um registro da violação na tabela Problemas do MID Server [ecc_agent_issue] com um valor de Estado Novo e uma Contagem de 1 e publica uma mensagem contendo todos os detalhes pertinentes da violação. Um exemplo desta mensagem é % média de uso de CPU excedeu o limite (96> = 91) por um período de 40 minutos após a data de início 2017-01-11 14:25:19. Essa mensagem aparece no campo Descrição resumida do formulário de problema do MID Server e no evento. Você pode copiar qualquer parte da mensagem em suas notificações por e-mail.

    Estados de problemas do MID Server

    Quando o administrador examina um problema pela primeira vez na tabela Problemas do MID Server [ecc_agent_issue], o administrador pode alterar o Estado do problema para Confirmado para indicar que o problema está sendo resolvido. Cada vez que a instância detecta uma violação, ela tenta corresponder a uma violação a um problema existente. Se um MID Server já tiver um registro de problema para essa violação em um EstadoNovo ou Confirmado, a instância atualizará o campo Última detecção com data e hora atuais e incrementará o campo Contagem no registro existente. Isso evita a criação de registros duplicados na tabela MID Server Issue [ecc_agent_issue] e registra o número de vezes após o incidente inicial em que a violação ocorreu novamente. O administrador pode aumentar os recursos do MID Server gradativamente e observar o efeito no campo Contagem. Quando o contador para de aumentar, o administrador sabe que o MID Server tem recursos adequados. Quando o recurso do MID Server tiver sido ajustado corretamente, o administrador definirá o Estado como Resolvido. Se uma nova violação de limite for registrada em um log que corresponda a um problema do MID Server com um Estado Resolvido, a instância criará um novo registro de problema.
    Nota:
    Qualquer registro na tabela Problemas do MID Server [ecc_agent_issue] que não tenha sido atualizado em 30 dias será excluído, independentemente de seu estado.

    Recomendações para resolver problemas de recursos

    Os administradores têm a oportunidade de resolver quaisquer problemas de recursos com um MID Server quando recebem a notificação do evento. Siga estas recomendações para reduzir a pressão sobre os recursos do MID Server:
    • Memória da JVM:
      • Aloque mais memória máxima para o MID Server. Para obter mais informações, consulte Definir o tamanho da memória JVM do MID Server.
      • Adicione outros MID Servers para compartilhar a carga de trabalho. Para obter mais informações, consulte Clusters do MID Server.
      • Reduza a quantidade de processamento simultâneo para o MID Server. Isso inclui a segmentação de intervalos de endereços IP em segmentos menores para uma programação da Descoberta ou o carregamento de segmentos menores de dados em um trabalho de importação.
    • CPU: reduza a atividade no host ou migre o MID Server para um novo host com mais recursos disponíveis.
      Nota:
      O MID Server pode criar um pico de uso de recursos durante a Descoberta, especialmente descobrindo em um grande número de metas ou executando várias sessões do Power Shell simultaneamente. A utilização de recursos do host do MID Server retorna automaticamente ao normal depois que a execução da Descoberta é interrompida com sucesso. Para diminuir a utilização da CPU, hospede o MID Server em uma máquina dedicada. Se você encontrar problemas de uso de recursos, certifique-se de que apenas um MID Server seja executado em cada máquina host dedicada. Se o MID Server estiver hospedado em uma nuvem pública, adicione mais recursos de CPU e evite o problema de vizinhança ruidosa. Para obter mais informações, consulte Uso elevado da CPU no host com MID Server [KB0597639].

    Tabelas usadas para avaliação de limite de recursos

    Tabela Descrição
    Problemas do MID Server [ecc_agent_issue] Armazena dados em vários tipos de problemas do MID Server, incluindo violações de limites de CPU e memória configurados. Os campos usados para violações de limite de recursos são:
    • contagem: número de vezes que ocorre uma violação de limite relatada anteriormente, se o evento não estiver marcado como Resolvido.
    • last_detected: data e hora atuais em que uma violação de limite foi detectada. Este campo é atualizado sempre que uma violação detectada anteriormente é encontrada, se ela não estiver marcada como Resolvido.
    • mensagem: mensagem descritiva resumindo as condições que acionaram o evento de violação de limite. Esta mensagem inclui a porcentagem real de CPU e memória calculada e os limites configurados que foram violados.
    • mid_server: nome do MID Server que está passando pela violação do limite de recursos.
    • origem: a origem do problema da violação. Estas são as fontes possíveis:
      • CpuMIDResourceThresholdBreach: fontes de problemas de limite de CPU.
      • MemoryMIDResourceThresholdBreach: fontes de problemas de limite de memória.
    Status do MID Server [ecc_agent_status] Armazena os percentuais usados para os recursos de CPU e memória, calculados em intervalos configuráveis para cada recurso. Os campos usados são:
    • % de uso médio da CPU
    • % de uso máximo da memória
    Métrica escalar do agente de ECC [ecc_agent_scalar_metric] Armazena os dados de uso da CPU inseridos por cada MID Server a cada 10 minutos. O campo da tabela usado pelo alerta de limite de recurso é média.
    Métrica de memória do agente de ECC [ecc_agent_memory_metric] Armazena os dados de uso da memória inseridos por cada MID Server a cada 10 minutos. O campo da tabela usado pelo alerta de limite de recurso é max_used_pct.

    Regras de negócios que verificam se há violações de limite

    Regra de negócios Descrição
    Atualizar média de cpu no status do MID Server É executado depois que o MID Server insere um registro na tabela Métrica escalar do agente deECC [ecc_agent_scalar_metric]. Essa regra de negócios aciona a função de inclusão de script MIDResourceThresholdBreach que avalia as configurações de limite para determinar se o MID Server violou seus limites de recursos de CPU configurados.
    Atualizar a memória máxima no status do MID Server É executado depois que o MID Server insere um registro na tabela Métrica de memória do agente de ECC [ecc_agent_memory_metric]. Essa regra de negócios aciona a função de inclusão de script MIDResourceThresholdBreach que avalia as configurações de limite para determinar se o MID Server violou seus limites de recursos de memória configurados.

    Configuração de limites e intervalos de amostragem

    Você pode usar as porcentagens de limite padrão e os intervalos de amostra ou configurar valores personalizados usando um destes métodos:
    As propriedades do sistema e os parâmetros de configuração usam os mesmos nomes.
    Parâmetro de propriedade/configuração Descrição
    mid.threshold.mean_cpu.aggregate_interval_span Número de unidades de 10 minutos no intervalo para amostragem de dados de uso da CPU. O intervalo padrão é de 30 minutos (3 x 10 min.)

    Padrão: 3

    mid.threshold.mean_cpu.percent Porcentagem de uso do total de recursos da CPU que inicia um alerta de violação de limite.

    Padrão: 95

    mid.threshold.mean_max_memory.aggregate_interval_span Número de unidades de 10 minutos no intervalo para amostragem de dados de uso da memória. O intervalo padrão é de 30 minutos (3 x 10 min.)

    Padrão: 3

    mid.threshold.mean_max_memory.percent Porcentagem de uso do total de recursos da memória que inicia um alerta de violação de limite.

    Padrão: 95

    Emissão de relatórios de recursos do MID Server

    O painel do MID Server contém dois relatórios que fornecem exibições do consumo de recursos de memória da CPU e da JVM. Esses relatórios mostram o uso nos últimos 30 dias.
    • Porcentagem média de CPU usada: a tendência da média diária de uso da CPU ajuda a ilustrar a quantidade de processamento da CPU que o host do MID Server consome. Os MID Servers implantados no mesmo host relatarão o mesmo uso de CPU.
    • Porcentagem média de memória máxima usada: a porcentagem máxima usada (max_used_pct) é uma métrica útil para determinar se o MID Server tem recursos de memória suficientes. Essa métrica é uma porcentagem do máximo de memória usada sobre o total de memória disponível. A tendência disso ao longo do tempo fornece uma visualização de quanta memória é necessária para o MID Server.