Monitorando o SAP HANA

Com o Instana, você pode monitorar de forma abrangente seu banco de dados SAP HANA para obter visibilidade em tempo real do seu desempenho.

Para começar, instale e configure o agente do Instana. O agente implementa e instala automaticamente o sensor do SAP HANA. Configure o sensor do SAP HANA para visualizar as métricas do SAP HANA na interface do usuário do Instana. Instana suporta o monitoramento tanto local quanto remoto do banco de dados do SAP HANA.

Informações complementares

O sensor SAP HANA é compatível com os seguintes sistemas operacionais (SO) e tempos de execução:

S.O. suportado

Dependendo do tipo de monitoramento necessário, o agente do Instana pode ser instalado em diferentes sistemas operacionais para monitorar bancos de dados do SAP HANA.

  • Monitoramento local (o agente do Instana está instalado no mesmo servidor que o banco de dados do SAP HANA ):

    • Linuxx86 e IBM PowerPC 64-bit LE)
  • Monitoramento remoto (o agente do Instana está instalado em um host diferente e se conecta remotamente ao banco de dados do SAP HANA ):

    • AIX
    • Linuxx86 e IBM PowerPC 64-bit LE)
    • Windows
    • IBM iOS/400 PASE)
    • Apple macOS (64 bits - Intel e Apple silicon)

Tempo de execução compatível

Você só poderá monitorar o banco de dados do ` SAP HANA ` se o agente ` Instana ` utilizar o ambiente de execução do ` Java 8`.

Observação: o Java e 11 não é compatível.

JDKs do Java 8 compatíveis com o Java, por plataforma

Os seguintes JDKs do Java 8 são compatíveis com o monitoramento do SAP HANA, dependendo do sistema operacional:

Configurando o agente do Instana

Para monitorar SAP HANA, você precisa configurar o agente estático ou dinâmico que é usado.

Configurando o agente estático

Observação: Observação: Para versões anteriores à versão 282 do Instana, siga estas instruções: Se o agente utilizar o Azul Zulu 1.8, não é necessário atualizar o arquivo setenv. Se o ambiente de execução do agente usar Eclipse OpenJ9 11, atualize o arquivo setenv para indicar um ambiente de execução Java 8.

Ao usar o agente estático, você precisa fornecer o driver com.sap.cloud.db.jdbc:ngdbc manualmente.

Para monitorar o banco de dados SAP HANA com o agente estático, conclua as etapas a seguir:

  1. Baixe o ngdbc-2.22.12.jar driver do Repositório Central do Maven.

  2. Adicione o driver ngdbc-2.22.12.jar ao diretório <agent-installation-dir>/system/com/sap/cloud/db/jdbc/ngdbc/2.22.12.

  3. Para configurar o agente para usar o ambiente de execução do Java 8, siga estas etapas:

    Observação: é necessário seguir as etapas a seguir apenas para o Instana versão 282 e posteriores ou se o agente tiver sido configurado anteriormente usando o EclipseOpenJ9 11.
    1. Go no <agent-installation-dir>/bin diretório e abra o setenv arquivo.

    2. Remova o comentário das seguintes linhas no setenv arquivo:

      
      INSTANA_AGENT_JAVA_HOME=<path-to-java-home>  # This command must point to your Java 8 runtime.
      export INSTANA_AGENT_JAVA_HOME
      
       
      Se você estiver usando uma versão mais antiga do agente, adicione a export JAVA_HOME=<path-to-java-home> linha a seguir UNSET JAVA_HOME:
      unset JAVA_HOME
      export JAVA_HOME=<path-to-java-home>  # This command must point to your Java 8 runtime.
    3. Salve as alterações e feche o arquivo.

    4. Reinicie o agente do Instana.

Configurando o agente dinâmico

Observação: Observação: Para versões anteriores à versão 282 do Instana, siga estas instruções: Se o agente utilizar o Azul Zulu 1.8, não é necessário atualizar o arquivo setenv. Se o ambiente de execução do agente usar Eclipse OpenJ9 11, atualize o arquivo setenv para indicar um ambiente de execução Java 8.

Para configurar o agente para usar o ambiente de execução do Java 8, siga estas etapas:

Observação: é necessário seguir as etapas a seguir apenas para o Instana versão 282 e posteriores ou se o agente tiver sido configurado anteriormente usando o EclipseOpenJ9 11.
  1. Go no <agent-installation-dir>/bin diretório e abra o setenv arquivo.

  2. Remova o comentário das seguintes linhas no setenv arquivo:

    
    INSTANA_AGENT_JAVA_HOME=<path-to-java-home>  # This command must point to your Java 8 runtime.
    export INSTANA_AGENT_JAVA_HOME
    
    
     
    Se você estiver usando uma versão mais antiga do agente, adicione a export JAVA_HOME=<path-to-java-home> linha a seguir UNSET JAVA_HOME:
    unset JAVA_HOME
    export JAVA_HOME=<path-to-java-home>  # This command must point to your Java 8 runtime.
  3. Salve as alterações e feche o arquivo.

  4. Reinicie o agente do Instana para aplicar as alterações.

Para obter mais informações sobre os pré-requisitos de instalação do agente e os JDKs compatíveis, consulte Instalação de agentes de host.

Configurando o sensor do serviço de gerenciamento de dispositivos ( SAP HANA )

Com o sensor SAP HANA, você pode monitorar o banco de dados SAP HANA local e remotamente. O monitoramento local do ` SAP HANA ` envolve a instalação do agente ` Instana ` no mesmo host que o processo ` SAP HANA `, enquanto o monitoramento remoto envolve a instalação do agente em um host separado.

Importante: Não é permitido configurar o monitoramento local e remoto simultaneamente na mesma configuração do agente. Se ambas as configurações estiverem presentes, o monitoramento remoto tem prioridade e o monitoramento local é desativado.

Monitoramento Local

No monitoramento local, o sensor coleta as métricas do host e as métricas do banco de dados HANA, oferecendo uma visão abrangente de pilha completa dos dados.

Dependendo do modo em que o SAP HANA é executado (vários contêineres ou um único contêiner), você pode definir diferentes combinações de nome de usuário e senha no arquivo yaml de configuração do agente *instanaAgentDir*/etc/instana/configuration.yaml para se conectar ao banco de dados.

Os parâmetros de configuração para monitoramento local são mostrados no exemplo a seguir:

# SAP HANA
com.instana.plugin.saphana:
 local:
   singleContainer:
     user: ''
     password: ''
   multiContainer:
     my-test-db1:
       user: ''
       password: ''
     my-test-db2:
       user: ''
       password: ''

 
O usuário padrão éSYSTEM .
Observação: Durante a fase inicial do monitoramento local, o sensor se conecta à porta padrão com base no ID da instância. Se a conexão falhar, o sensor tenta automaticamente as próximas portas disponíveis até que uma conexão bem-sucedida seja estabelecida. Para cada tentativa malsucedida, você verá uma mensagem de erro noagent.log arquivo. Você pode ignorar essas mensagens, pois o sensor acaba se conectando a uma porta disponível.

Parâmetros de configuração opcionais

Opcionalmente, você pode especificar o instanceNumber parâmetro para ajudar o sensor a estabelecer uma conexão com uma instância específica do SAP HANA. Este parâmetro é útil em ambientes com várias instâncias do SAP HANA ou quando se deseja garantir que o sensor se conecte a uma instância específica.

# SAP HANA with instance number
com.instana.plugin.saphana:
 local:
   multiContainer:
     my-test-db1:
       user: ''
       password: ''
       instanceNumber: '00'

Monitoramento remoto

Observação: A funcionalidade de monitoramento remoto está disponível apenas para o Instana 277 e versões posteriores.

No monitoramento remoto, o sensor Instana SAP HANA monitora bancos de dados SAP HANA que estão implantados em hosts diferentes daquele que hospeda o agente Instana. O sensor do ` SAP HANA ` pode monitorar mais de um banco de dados.

Os parâmetros de configuração para monitoramento remoto são mostrados no exemplo a seguir:

# SAP HANA
com.instana.plugin.saphana:
  remote: # multiple remote configurations are supported
    - host: 'remote.host-1.com'
      port: '' #sql port
      databaseName: ''
      user: ''
      password: ''
    - host: 'remote.host-2.com'
      port: '' #sql port
      databaseName: ''
      user: ''
      password: ''

 
Observação: No modo de contêiner único, o nome do banco de dados fica em branco. No modo de vários contêineres, você deve inserir um valor para o nome do banco de dados.

Usando um usuário que não seja o SYSTEM

Se não for possível usar o SYSTEM usuário para monitoramento local ou remoto, você pode criar um usuário dedicado ao monitoramento com os privilégios necessários.

Criação de um usuário de monitoramento

Para criar um novo usuário de monitoramento (por exemplo, instana_monitoring), faça login como usuário SYSTEM do seu banco de dados e execute as seguintes consultas:

CREATE USER instana_monitoring PASSWORD Instana123 NO FORCE_FIRST_PASSWORD_CHANGE;

GRANT CATALOG READ TO instana_monitoring;

GRANT SELECT ON SCHEMA _SYS_REPO TO instana_monitoring WITH GRANT OPTION;

GRANT SELECT ON _SYS_STATISTICS.STATISTICS_CURRENT_ALERTS TO instana_monitoring;
Importante: Se você não criar o usuário com a NO FORCE_FIRST_PASSWORD_CHANGE opção, será necessário fazer login manualmente com o novo usuário e concluir o processo de alteração de senha antes de tentar conectar o banco de dados usando o agente Instana.

Privilégios necessários

Certifique-se de que o usuário de monitoramento tenha os seguintes privilégios:

  • CATALOG READ
  • SELECT ON SCHEMA _SYS_REPO (Para obter mais informações sobre o esquema _SYS_REPO, consulte SAP HANA Repository ).
  • SELECT ON _SYS_STATISTICS.STATISTICS_CURRENT_ALERTS

Suporte SSL

Para que o agente do Instana se conecte com segurança ao seu banco de dados HANA usando o protocolo Secure Sockets Layer ( SSL ), adicione a seguinte configuração ao arquivo de configuração <agent_install_dir>/etc/instana/configuration.yaml do agente:

Monitoramento Local

Para monitoramento local, adicione a seguinte configuração:

com.instana.plugin.saphana:
  local:
   multiContainer:
     <DB Name>:
       user: ''
       password: ''
       trustStore: '<path to your truststore file location'
       trustStorePassword: '<Your truststore password>'
 
Observação: você pode usar a hostNameInCertificate propriedade para especificar o nome do host que aparece no certificado. Essa configuração garante que o agente do Instana utilize o mesmo nome de host que o certificado. 127.0.0.1Utilize esta propriedade em ambientes de monitoramento locais nos quais o agente do Instana se conecta por meio do endereço de loopback, enquanto o certificado especifica um nome de domínio totalmente qualificado (FQDN).

Monitoramento remoto

Para monitoramento remoto, adicione a seguinte configuração:

com.instana.plugin.saphana:
  remote:
    - host: 'remote.host-1.com'
      port: '' #sql port
      databaseName: ''
      user: ''
      password: ''
      trustStore: '<path to your truststore file location'
      trustStorePassword: '<Your truststore password>'
 

Visualizando as métricas

Para visualizar as métricas, selecione “Infraestrutura” no menu de navegação da interface do usuário do Instana, clique em um host monitorado específico e, em seguida, você poderá ver um painel do host com todas as métricas coletadas e os processos monitorados.

Configuração rastreada

O sensor ` SAP HANA ` coleta os seguintes dados de configuração:

  • Host
  • Status do host
  • Tempo de atividade
  • ID do sistema
  • Nome do banco de dados
  • Número da instância
  • Versão
  • Banco de dados instalado em
  • Porta
  • Uso
  • Status do serviço
  • Número máximo de sessões

Métrica

A tabela a seguir descreve a frequência da coleta de métricas pelo sensor SAP HANA:

Métrica Frequência de coleta
Utilização total da CPU 5 segundos
Tempo de CPU 5 segundos
Carga de trabalho 5 segundos
Taxa da carga de trabalho (por minuto) 5 segundos
Solicitações 5 segundos
Uso de memória HANA 5 segundos
Uso de Memória do Host 5 segundos
Uso de memória heap 5 segundos
Memória virtual 5 segundos
Uso de memória de troca 5 segundos
Resumo de uso de disco 5 segundos
Porcentagem de uso de disco 5 segundos
Uso de disco por tipo 5 segundos
Utilização da CPU e da memória pelo serviço 5 segundos
Sessões 5 segundos
Uso de rede 5 segundos
Conexões 5 segundos
Usuários e aplicativos conectados 5 segundos
Tópicos 5 segundos
Encadeamentos do trabalhador de tarefa 5 segundos
Encadeamentos do executor de SQL 5 segundos
Armazenamento de colunas 5 segundos
Estatísticas do cache do plano SQL 20 segundos
Detalhes do serviço 1 minuto
Estatística de coleta de lixo 1 minuto
Instruções dispendiosas 1 minuto
Alertas 1 minuto
Estatísticas de E/S da rede de serviço 1 minuto
Eventos do sistema 1 minuto
Instruções ativas 2 minutos
Estatísticas da transação 2 minutos
Informações de cache agregadas 2 minutos
Transações bloqueadas 2 minutos
Memória de armazenamento de linha 2 minutos
Memória compartilhada 2 minutos
Eventos de falta de memória 2 minutos
Tarefas planejadas 15 minutos
Estatísticas de espera de bloqueio 15 minutos
Progresso da tarefa 15 minutos
Uso do disco por tipo de dispositivo 15 minutos
Backup mais recente 30 minutos
Estatísticas de arquivos e dados do volume 1 hora
Todos os backups 1 hora
Estatísticas de replicação do serviço 1 hora
Estatísticas de replicação do sistema 1 hora
Tamanho da tabela 24 horas
Estatísticas de E/S 1 hora
Tamanho da tabela 24 horas

O sensor SAP HANA gera eventos incorporados para vários cenários. Para obter mais informações, consulte Referência de eventos incorporados.

Propriedades customizáveis

Todos os backups

Por padrão, a tabela “Todos os backups” no painel do SAP HANA exibe os backups da última hora. Para personalizar esse intervalo de tempo, defina a backupWindow propriedade com o intervalo de tempo desejado. Por exemplo, para recuperar todos os backups realizados nas últimas 24 horas, em vez do padrão de 1 hora, use a seguinte propriedade no seu configuration.yaml arquivo:

backupWindow: '24'
 

Estatísticas do cache do plano SQL

As métricas das estatísticas do cache de planos SQL não são coletadas por padrão e precisam ser ativadas explicitamente. Para ativar essas métricas, adicione a seguinte propriedade ao seu configuration.yaml arquivo:

plan_cache_statistics_enabled: true
 

Rastreamento de instruções dispendiosas

Você pode habilitar e ativar o rastreamento de instruções dispendiosas no cockpit SAP HANA ou no explorador de banco de dados SAP HANA. Como alternativa, você pode modificar os parâmetros na expensive_statement seção do arquivo global.ini de configuração.

Para configurar o rastreamento de instruções dispendiosas usando comandos SQL, consulte as seções a seguir. Faça login como usuário SYSTEM do seu banco de dados antes de executar esses comandos.

Ativar o rastreamento de instruções dispendiosas para um usuário

Para ativar o rastreamento de instruções (função que consome muitos recursos) para um usuário específico, faça login como o SYSTEM usuário do seu banco de dados e execute o seguinte comando SQL:

ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM')
SET ('expensive_statement', 'enable') = 'true',
    ('expensive_statement', 'user') = '<username>'
WITH RECONFIGURE;
Desativar o rastreamento de instruções dispendioso para um usuário

Para desativar o rastreamento de instruções, que consome muitos recursos, para um usuário específico, faça login como usuário SYSTEM do seu banco de dados e execute o seguinte comando SQL:

ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM')
SET ('expensive_statement', 'enable') = 'false',
    ('expensive_statement', 'user') = '<username>'
WITH RECONFIGURE;
Alteração da duração do limiar

Para alterar o tempo limite (em microssegundos) para a captura de instruções demoradas, faça login como usuário SYSTEM do seu banco de dados e execute o seguinte comando SQL:

ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM')
SET ('expensive_statement', 'threshold_duration') = '<microseconds>'
WITH RECONFIGURE;

Por exemplo, para definir o limite para 5 segundos (5.000.000 de microssegundos):

ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM')
SET ('expensive_statement', 'threshold_duration') = '5000000'
WITH RECONFIGURE;