A integração do SAP HANA recolhe métricas e registos do SAP HANA. As métricas são recolhidas através da consulta de vistas de monitorização relevantes. Esta integração escreve registos de rastreio estruturados.
Para mais informações sobre o HANA, consulte a documentação do SAP HANA.
Pré-requisitos
Para recolher telemetria do HANA, tem de instalar o agente de operações:
- Para métricas, instale a versão 2.18.1 ou superior.
- Para registos, instale a versão 2.18.1 ou superior.
Esta integração suporta a versão 2.0 do HANA.
Configure a sua instância do HANA
Para recolher métricas, um utilizador de monitorização requer acesso SELECT às visualizações de monitorização relevantes. O seguinte script SQL cria uma função de monitorização e aplica-a a um utilizador de monitorização se for executado por um utilizador com autorizações suficientes ligado à instância do SAP HANA.
--Create the user CREATE RESTRICTED USER otel_monitoring_user PASSWORD; --Enable user login ALTER USER otel_monitoring_user ENABLE CLIENT CONNECT; --Create the monitoring role CREATE ROLE OTEL_MONITORING; --Grant permissions to the relevant views GRANT CATALOG READ TO OTEL_MONITORING; GRANT SELECT ON SYS.M_BACKUP_CATALOG TO OTEL_MONITORING; GRANT SELECT ON SYS.M_BLOCKED_TRANSACTIONS TO OTEL_MONITORING; GRANT SELECT ON SYS.M_CONNECTIONS TO OTEL_MONITORING; GRANT SELECT ON SYS.M_CS_ALL_COLUMNS TO OTEL_MONITORING; GRANT SELECT ON SYS.M_CS_TABLES TO OTEL_MONITORING; GRANT SELECT ON SYS.M_DATABASE TO OTEL_MONITORING; GRANT SELECT ON SYS.M_DISKS TO OTEL_MONITORING; GRANT SELECT ON SYS.M_HOST_RESOURCE_UTILIZATION TO OTEL_MONITORING; GRANT SELECT ON SYS.M_LICENSES TO OTEL_MONITORING; GRANT SELECT ON SYS.M_RS_TABLES TO OTEL_MONITORING; GRANT SELECT ON SYS.M_SERVICE_COMPONENT_MEMORY TO OTEL_MONITORING; GRANT SELECT ON SYS.M_SERVICE_MEMORY TO OTEL_MONITORING; GRANT SELECT ON SYS.M_SERVICE_REPLICATION TO OTEL_MONITORING; GRANT SELECT ON SYS.M_SERVICE_STATISTICS TO OTEL_MONITORING; GRANT SELECT ON SYS.M_SERVICE_THREADS TO OTEL_MONITORING; GRANT SELECT ON SYS.M_SERVICES TO OTEL_MONITORING; GRANT SELECT ON SYS.M_VOLUME_IO_TOTAL_STATISTICS TO OTEL_MONITORING; GRANT SELECT ON SYS.M_WORKLOAD TO OTEL_MONITORING; GRANT SELECT ON _SYS_STATISTICS.STATISTICS_CURRENT_ALERTS TO OTEL_MONITORING; GRANT SELECT ON DUMMY TO OTEL_MONITORING; --Add the OTEL_MONITOR role to the monitoring user GRANT OTEL_MONITORING TO otel_monitoring_user; 
Configure o agente de operações para o HANA
Seguindo o guia para configurar o Ops Agent, adicione os elementos necessários para recolher telemetria de instâncias do HANA e reinicie o agente.
Exemplo de configuração
Os seguintes comandos criam a configuração para recolher e carregar telemetria para o HANA:
Para que estas alterações entrem em vigor, tem de reiniciar o agente de operações:
Linux
- Para reiniciar o agente, execute o seguinte comando na sua instância:
sudo systemctl restart google-cloud-ops-agent 
- Para confirmar que o agente foi reiniciado, execute o seguinte comando e
   verifique se os componentes "Agente de métricas" e "Agente de registo" foram iniciados:
sudo systemctl status "google-cloud-ops-agent*" 
Windows
- Estabeleça ligação à sua instância através do RDP ou de uma ferramenta semelhante e inicie sessão no Windows.
- Abra um terminal do PowerShell com privilégios de administrador: clique com o botão direito do rato no ícone do PowerShell e selecione Executar como administrador
- Para reiniciar o agente, execute o seguinte comando do PowerShell:
Restart-Service google-cloud-ops-agent -Force 
- Para confirmar que o agente foi reiniciado, execute o seguinte comando e
    verifique se os componentes "Agente de métricas" e "Agente de registo" foram iniciados:
Get-Service google-cloud-ops-agent* 
Configure a recolha de registos
Para carregar registos do HANA, tem de criar um recetor para os registos que o HANA produz e, em seguida, criar um pipeline para o novo recetor.
Para configurar um recetor para os seus registos saphana, especifique os seguintes campos:
| Campo | Predefinição | Descrição | 
|---|---|---|
| exclude_paths | [/usr/sap/*/HDB*/${HOSTNAME}/trace/nameserver_history*.trc, /usr/sap/*/HDB*/${HOSTNAME}/trace/nameserver*loads*.trc, /usr/sap/*/HDB*/${HOSTNAME}/trace/nameserver*executed_statements*.trc] | Uma lista de padrões de caminhos do sistema de ficheiros a excluir do conjunto correspondente a include_paths. | 
| include_paths | [/usr/sap/*/HDB*/${HOSTNAME}/trace/*.trc] | Uma lista de caminhos do sistema de ficheiros a ler através da análise detalhada de cada ficheiro. Pode usar um caráter universal ( *) nos caminhos. | 
| record_log_file_path | false | Se estiver definido como true, o caminho para o ficheiro específico a partir do qual o registo de registo foi obtido aparece na entrada de registo de saída como o valor da etiquetaagent.googleapis.com/log_file_path. Quando usa um caráter universal, apenas é registado o caminho do ficheiro a partir do qual o registo foi obtido. | 
| type | O valor tem de ser saphana. | |
| wildcard_refresh_interval | 60s | O intervalo no qual os caminhos de ficheiros com carateres universais em include_pathssão atualizados. Indicado como uma duração, por exemplo,30sou2m. Esta propriedade pode ser útil em débitos de registo elevados, em que os ficheiros de registo são rodados mais rapidamente do que o intervalo predefinido. | 
O que é registado
O logName é derivado dos IDs dos recetores especificados na configuração. Os campos detalhados no interior de
LogEntry
são os seguintes.
Os registos saphana contêm os seguintes campos em LogEntry:
| Campo | Tipo | Descrição | 
|---|---|---|
| jsonPayload.component | de string | Componente SAP HANA | 
| jsonPayload.connection_id | número | ID da associação de onde a mensagem foi originada, se a mensagem tiver sido registada no âmbito de uma associação | 
| jsonPayload.message | de string | Mensagem de registo | 
| jsonPayload.severity_flag | de string | Nível de entrada do registo | 
| jsonPayload.thread_id | número | ID da discussão que regista a mensagem | 
| jsonPayload.transaction_id | número | ID da transação de origem da mensagem, se a mensagem tiver sido registada no âmbito de uma transação | 
| jsonPayload.update_transaction_id | número | ID da transação de atualização onde a mensagem foi originada, se a mensagem tiver sido registada no âmbito de uma transação de atualização | 
| severity | string ( LogSeverity) | Nível de entrada de registo (traduzido). | 
| sourceLocation.file | de string | Nome do ficheiro de origem | 
| sourceLocation.line | número | Linha no ficheiro de origem | 
Configure a recolha de métricas
Para carregar métricas do HANA, tem de criar um recetor para as métricas produzidas pelo HANA e, em seguida, criar um pipeline para o novo recetor.
Este recetor não suporta a utilização de várias instâncias na configuração, por exemplo, para monitorizar vários pontos finais. Todas essas instâncias escrevem na mesma série cronológica e o Cloud Monitoring não tem forma de as distinguir.
Para configurar um destinatário para as suas métricas saphana, especifique os seguintes campos:
| Campo | Predefinição | Descrição | 
|---|---|---|
| ca_file | Caminho para o certificado da AC. Como cliente, isto valida o certificado do servidor. Se estiver vazio, o destinatário usa a AC de raiz do sistema. | |
| cert_file | Caminho para o certificado TLS a usar para ligações que requerem mTLS. | |
| collection_interval | 60s | Um valor de duração, como 30sou5m. | 
| endpoint | localhost:30015 | O hostname:portusado para estabelecer ligação à instância do SAP HANA. | 
| insecure | true | Define se deve ou não usar uma ligação TLS segura. Se estiver definida como false, o TLS está ativado. | 
| insecure_skip_verify | false | Define se a validação do certificado deve ou não ser ignorada. Se insecureestiver definido comotrue, o valorinsecure_skip_verifynão é usado. | 
| key_file | Caminho para a chave TLS a usar para ligações que requerem mTLS. | |
| password | A palavra-passe usada para estabelecer ligação à instância. | |
| type | Este valor tem de ser saphana. | |
| username | O nome de utilizador usado para estabelecer ligação à instância. | 
O que é monitorizado
A tabela seguinte apresenta a lista de métricas que o agente de operações recolhe da instância do HANA.
| Tipo de métrica | |
|---|---|
| Tipo, Tipo Recursos monitorizados | Etiquetas | 
| workload.googleapis.com/saphana.alert.count | |
| GAUGE,INT64gce_instance | rating | 
| workload.googleapis.com/saphana.backup.latest | |
| GAUGE,INT64gce_instance | |
| workload.googleapis.com/saphana.column.memory.used | |
| GAUGE,INT64gce_instance | hostsubtypetype | 
| workload.googleapis.com/saphana.component.memory.used | |
| GAUGE,INT64gce_instance | componenthost | 
| workload.googleapis.com/saphana.connection.count | |
| GAUGE,INT64gce_instance | hoststatus | 
| workload.googleapis.com/saphana.cpu.used | |
| CUMULATIVE,INT64gce_instance | hosttype | 
| workload.googleapis.com/saphana.disk.size.current | |
| GAUGE,INT64gce_instance | hostpathstateusage_type | 
| workload.googleapis.com/saphana.host.memory.current | |
| GAUGE,INT64gce_instance | hoststate | 
| workload.googleapis.com/saphana.host.swap.current | |
| GAUGE,INT64gce_instance | hoststate | 
| workload.googleapis.com/saphana.instance.code_size | |
| GAUGE,INT64gce_instance | host | 
| workload.googleapis.com/saphana.instance.memory.current | |
| GAUGE,INT64gce_instance | hoststate | 
| workload.googleapis.com/saphana.instance.memory.shared.allocated | |
| GAUGE,INT64gce_instance | host | 
| workload.googleapis.com/saphana.instance.memory.used.peak | |
| GAUGE,INT64gce_instance | host | 
| workload.googleapis.com/saphana.license.expiration.time | |
| GAUGE,INT64gce_instance | productsystem | 
| workload.googleapis.com/saphana.license.limit | |
| GAUGE,INT64gce_instance | productsystem | 
| workload.googleapis.com/saphana.license.peak | |
| GAUGE,INT64gce_instance | productsystem | 
| workload.googleapis.com/saphana.network.request.average_time | |
| GAUGE,DOUBLEgce_instance | host | 
| workload.googleapis.com/saphana.network.request.count | |
| GAUGE,INT64gce_instance | hoststate | 
| workload.googleapis.com/saphana.network.request.finished.count | |
| CUMULATIVE,INT64gce_instance | hosttype | 
| workload.googleapis.com/saphana.replication.average_time | |
| GAUGE,DOUBLEgce_instance | modeportprimarysecondary | 
| workload.googleapis.com/saphana.replication.backlog.size | |
| GAUGE,INT64gce_instance | modeportprimarysecondary | 
| workload.googleapis.com/saphana.replication.backlog.time | |
| GAUGE,INT64gce_instance | modeportprimarysecondary | 
| workload.googleapis.com/saphana.row_store.memory.used | |
| GAUGE,INT64gce_instance | hosttype | 
| workload.googleapis.com/saphana.schema.memory.used.current | |
| GAUGE,INT64gce_instance | hostschematype | 
| workload.googleapis.com/saphana.schema.memory.used.max | |
| GAUGE,INT64gce_instance | hostschema | 
| workload.googleapis.com/saphana.schema.operation.count | |
| CUMULATIVE,INT64gce_instance | hostschematype | 
| workload.googleapis.com/saphana.schema.record.compressed.count | |
| GAUGE,INT64gce_instance | hostschema | 
| workload.googleapis.com/saphana.schema.record.count | |
| GAUGE,INT64gce_instance | hostschematype | 
| workload.googleapis.com/saphana.service.code_size | |
| GAUGE,INT64gce_instance | hostservice | 
| workload.googleapis.com/saphana.service.count | |
| GAUGE,INT64gce_instance | hoststatus | 
| workload.googleapis.com/saphana.service.memory.compactors.allocated | |
| GAUGE,INT64gce_instance | hostservice | 
| workload.googleapis.com/saphana.service.memory.compactors.freeable | |
| GAUGE,INT64gce_instance | hostservice | 
| workload.googleapis.com/saphana.service.memory.effective_limit | |
| GAUGE,INT64gce_instance | hostservice | 
| workload.googleapis.com/saphana.service.memory.heap.current | |
| GAUGE,INT64gce_instance | hostservicestate | 
| workload.googleapis.com/saphana.service.memory.limit | |
| GAUGE,INT64gce_instance | hostservice | 
| workload.googleapis.com/saphana.service.memory.shared.current | |
| GAUGE,INT64gce_instance | hostservicestate | 
| workload.googleapis.com/saphana.service.memory.used | |
| GAUGE,INT64gce_instance | hostservicetype | 
| workload.googleapis.com/saphana.service.stack_size | |
| GAUGE,INT64gce_instance | hostservice | 
| workload.googleapis.com/saphana.service.thread.count | |
| GAUGE,INT64gce_instance | hoststatus | 
| workload.googleapis.com/saphana.transaction.blocked | |
| GAUGE,INT64gce_instance | host | 
| workload.googleapis.com/saphana.transaction.count | |
| CUMULATIVE,INT64gce_instance | hosttype | 
| workload.googleapis.com/saphana.volume.operation.count | |
| CUMULATIVE,INT64gce_instance | hostpathtypeusage_type | 
| workload.googleapis.com/saphana.volume.operation.size | |
| CUMULATIVE,INT64gce_instance | hostpathtypeusage_type | 
| workload.googleapis.com/saphana.volume.operation.time | |
| CUMULATIVE,INT64gce_instance | hostpathtypeusage_type | 
Valide a configuração
Esta secção descreve como verificar se configurou corretamente o recetor do HANA. O agente de operações pode demorar um ou dois minutos a começar a recolher telemetria.
Para verificar se os registos do HANA estão a ser enviados para o Cloud Logging, faça o seguinte:
- 
Na Google Cloud consola, aceda à página Explorador de registos: Aceda ao Explorador de registos Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo. 
- Introduza a seguinte consulta no editor e, de seguida, clique em Executar consulta:
      
 resource.type="gce_instance" log_id("saphana")
Para verificar se as métricas do HANA estão a ser enviadas para o Cloud Monitoring, faça o seguinte:
- 
Na Google Cloud consola, aceda à página leaderboard Explorador de métricas: Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização. 
- Na barra de ferramentas do painel do criador de consultas, selecione o botão cujo nome é code MQL ou code PromQL.
- Verifique se a opção PromQL está selecionada no botão Idioma. O botão para alternar o idioma encontra-se na mesma barra de ferramentas que lhe permite formatar a consulta.
- Introduza a seguinte consulta no editor e, de seguida, clique em Executar consulta:
      
 {"workload.googleapis.com/saphana.connection.count", monitored_resource="gce_instance"}
Ver o painel de controlo
Para ver as métricas do HANA, tem de ter um gráfico ou um painel de controlo configurado. A integração do HANA inclui um ou mais painéis de controlo para si. Todos os painéis de controlo são instalados automaticamente depois de configurar a integração e o agente de operações começar a recolher dados de métricas.
Também pode ver pré-visualizações estáticas de painéis de controlo sem instalar a integração.
Para ver um painel de controlo instalado, faça o seguinte:
- 
Na Google Cloud consola, aceda à página  Painéis de controlo: Painéis de controlo:Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização. 
- Selecione o separador Lista de painéis de controlo e, de seguida, escolha a categoria Integrações.
- Clique no nome do painel de controlo que quer ver.
Se configurou uma integração, mas o painel de controlo não foi instalado, verifique se o agente de operações está em execução. Quando não existem dados de métricas para um gráfico no painel de controlo, a instalação do painel de controlo falha. Depois de o agente de operações começar a recolher métricas, o painel de controlo é instalado para si.
Para ver uma pré-visualização estática do painel de controlo, faça o seguinte:
- 
Na Google Cloud consola, aceda à página  Integrações: Integrações:Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização. 
- Clique no filtro da plataforma de implementação Compute Engine.
- Localize a entrada para HANA e clique em Ver detalhes.
- Selecione o separador Painéis de controlo para ver uma pré-visualização estática. Se o painel de controlo estiver instalado, pode navegar até ele clicando em Ver painel de controlo.
Para mais informações acerca dos painéis de controlo no Cloud Monitoring, consulte o artigo Painéis de controlo e gráficos.
Para mais informações sobre como usar a página Integrações, consulte o artigo Gerir integrações.
Instale políticas de alerta
As políticas de alerta indicam ao Cloud Monitoring que lhe envie uma notificação quando ocorrerem condições especificadas. A integração do HANA inclui uma ou mais políticas de alerta para sua utilização. Pode ver e instalar estas políticas de alerta na página Integrações em Monitorização.
Para ver as descrições das políticas de alerta disponíveis e instalá-las, faça o seguinte:
- 
Na Google Cloud consola, aceda à página  Integrações: Integrações:Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização. 
- Localize a entrada para HANA e clique em Ver detalhes.
- Selecione o separador Alertas. Este separador apresenta descrições das políticas de alerta disponíveis e uma interface para as instalar.
- Instale políticas de alerta. As políticas de alerta precisam de saber para onde enviar notificações de que o alerta foi acionado, pelo que requerem informações suas para a instalação.
        Para instalar políticas de alerta, faça o seguinte:
        - Na lista de políticas de alerta disponíveis, selecione as que quer instalar.
- Na secção Configurar notificações, selecione um ou mais canais de notificação. Tem a opção de desativar a utilização de canais de notificação, mas, se o fizer, as suas políticas de alerta são acionadas silenciosamente. Pode verificar o respetivo estado em Monitorização, mas não recebe notificações. - Para mais informações sobre os canais de notificação, consulte o artigo Faça a gestão dos canais de notificação. 
- Clique em Criar políticas.
 
Para mais informações sobre as políticas de alerta no Cloud Monitoring, consulte o artigo Introdução aos alertas.
Para mais informações sobre como usar a página Integrações, consulte o artigo Gerir integrações.
O que se segue?
Para ver um passo a passo sobre como usar o Ansible para instalar o agente de operações, configurar uma aplicação de terceiros e instalar um painel de controlo de exemplo, consulte o vídeo Instale o agente de operações para resolver problemas de aplicações de terceiros.