A integração do SAP HANA coleta registros e métricas do SAP HANA. As métricas são coletadas consultando as visualizações de monitoramento relevantes. Essa integração grava registros de rastreamento estruturados.
Para mais informações sobre o HANA, consulte a documentação do SAP HANA.
Pré-requisitos
Para coletar a telemetria do HANA, é necessário instalar o Agente de operações versão 2.18.1 ou mais recente.
Essa integração é compatível com o HANA versão 2.0.
Configure sua instância do HANA
Para coletar métricas, um usuário de monitoramento requer acesso de SELECT
às visualizações de monitoramento relevantes. O script SQL a seguir cria um papel de monitoramento e o aplica a um usuário de monitoramento se ele for executado por um usuário com permissões suficientes conectadas à 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;
Configurar o agente de operações para o HANA
Seguindo o guia de Como configurar o Agente de operações, adicione os elementos necessários para coletar a telemetria de instâncias do ActiveMQ e reinicie o agente.
Exemplo de configuração
O comando a seguir cria a configuração para coletar e ingerir a telemetria para o HANA e reinicia o Agente de operações.
Configurar a coleta de registros
Para ingerir registros do HANA, é preciso criar receptores para os registros produzidos pelo HANA e, em seguida, criar um pipeline para os novos receptores.
saphana
Para configurar um receptor para os registros , especifique os seguintes campos:
Campo | Default | 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 caminho do sistema de arquivos a serem excluídos do conjunto correspondente a include_paths . |
include_paths |
[/usr/sap/*/HDB*/${HOSTNAME}/trace/*.trc] |
Uma lista de caminhos do sistema de arquivos a serem lidos acompanhando cada arquivo. Um caractere curinga (*) pode ser usado nos caminhos. |
record_log_file_path |
false |
Se definido como true , o caminho para o arquivo específico de que a gravação de registro foi recebida aparecerá na entrada de registro de saída como o valor do rótulo agent.googleapis.com/log_file_path . Ao usar um caractere curinga, apenas o caminho do arquivo de que o registro foi recebido é gravado. |
type |
O valor precisa ser saphana. . |
|
wildcard_refresh_interval |
60s |
O intervalo em que os caminhos de arquivos curinga no include_paths são atualizados. Dado como uma duração de tempo, por exemplo, 30s ou 2m . Essa propriedade pode ser útil com capacidades de registro altas em que os arquivos de registro são alternados mais rapidamente do que o intervalo padrão. |
O que é registrado
O logName
é derivado dos
IDs do receptor especificados na configuração. Os campos
detalhados dentro de LogEntry
são os seguintes.
Os registros saphana
contêm os seguintes campos no LogEntry
:
Campo | Tipo | Descrição |
---|---|---|
jsonPayload.component |
string | Componente SAP HANA |
jsonPayload.thread_id |
number | Código da conversa que registra a mensagem |
jsonPayload.connection_id |
number | Código da conexão em que a mensagem foi originada, se ela foi registrada no escopo de uma conexão |
jsonPayload.transaction_id |
number | Código da transação em que a mensagem foi originada, se a mensagem foi registrada no escopo de uma transação. |
jsonPayload.update_transaction_id |
number | Código da transação de atualização em que a mensagem foi originada, se a mensagem foi registrada no escopo de uma transação de atualização |
jsonPayload.message |
string | Mensagem de registro |
sourceLocation.file |
string | Nome do arquivo de origem |
sourceLocation.line |
number | Linha no arquivo de origem |
Configurar a coleta de métricas
Para ingerir métricas do HANA, é preciso criar receptores para as métricas produzidas pelo HANA e, em seguida, criar um pipeline para os novos receptores.
Para configurar um receptor para suas
métricas do saphana
, especifique os campos
a seguir:
Campo | Default | Descrição |
---|---|---|
ca_file |
Caminho para o certificado de CA. Como cliente, isso verifica o certificado do servidor. Se estiver vazio, o receptor usará a CA raiz do sistema. | |
cert_file |
Caminho para o certificado TLS a ser usado para conexões exigidas por mTLS. | |
collection_interval |
60s |
Um valor de time.Duration, como 30s ou 5m . |
endpoint |
localhost:30015 |
O nome do host:porta usado para se conectar à instância saphana. |
insecure |
true |
Define se uma conexão TLS segura será ou não usada. Se definido como , o TLS será ativado. |
insecure_skip_verify |
false |
Define se é necessário pular a verificação do certificado. Se insecure for definido como true , o valor de insecure_skip_verify value não será usado. |
key_file |
Caminho para a chave TLS a ser usada para conexões exigidas por mTLS. | |
password |
A senha usada para se conectar ao servidor. | |
type |
Este valor precisa ser saphana . |
|
username |
O nome de usuário usado para se conectar ao servidor. |
O que é monitorado?
A tabela a seguir fornece a lista de métricas que o agente de operações coleta da instância do HANA.
Tipo de métrica | |
---|---|
Tipo, tipo Recursos monitorados |
Rótulos |
workload.googleapis.com/saphana.alert.count
|
|
GAUGE , INT64 gce_instance |
rating
|
workload.googleapis.com/saphana.backup.latest
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/saphana.column.memory.used
|
|
GAUGE , INT64 gce_instance |
host subtype type
|
workload.googleapis.com/saphana.component.memory.used
|
|
GAUGE , INT64 gce_instance |
component host
|
workload.googleapis.com/saphana.connection.count
|
|
GAUGE , INT64 gce_instance |
host status
|
workload.googleapis.com/saphana.cpu.used
|
|
CUMULATIVE , INT64 gce_instance |
host type
|
workload.googleapis.com/saphana.disk.size.current
|
|
GAUGE , INT64 gce_instance |
host path state usage_type
|
workload.googleapis.com/saphana.host.memory.current
|
|
GAUGE , INT64 gce_instance |
host state
|
workload.googleapis.com/saphana.host.swap.current
|
|
GAUGE , INT64 gce_instance |
host state
|
workload.googleapis.com/saphana.instance.code_size
|
|
GAUGE , INT64 gce_instance |
host
|
workload.googleapis.com/saphana.instance.memory.current
|
|
GAUGE , INT64 gce_instance |
host state
|
workload.googleapis.com/saphana.instance.memory.shared.allocated
|
|
GAUGE , INT64 gce_instance |
host
|
workload.googleapis.com/saphana.instance.memory.used.peak
|
|
GAUGE , INT64 gce_instance |
host
|
workload.googleapis.com/saphana.license.expiration.time
|
|
GAUGE , INT64 gce_instance |
product system
|
workload.googleapis.com/saphana.license.limit
|
|
GAUGE , INT64 gce_instance |
product system
|
workload.googleapis.com/saphana.license.peak
|
|
GAUGE , INT64 gce_instance |
product system
|
workload.googleapis.com/saphana.network.request.average_time
|
|
GAUGE , DOUBLE gce_instance |
host
|
workload.googleapis.com/saphana.network.request.count
|
|
GAUGE , INT64 gce_instance |
host state
|
workload.googleapis.com/saphana.network.request.finished.count
|
|
CUMULATIVE , INT64 gce_instance |
host type
|
workload.googleapis.com/saphana.replication.average_time
|
|
GAUGE , DOUBLE gce_instance |
mode port primary secondary
|
workload.googleapis.com/saphana.replication.backlog.size
|
|
GAUGE , INT64 gce_instance |
mode port primary secondary
|
workload.googleapis.com/saphana.replication.backlog.time
|
|
GAUGE , INT64 gce_instance |
mode port primary secondary
|
workload.googleapis.com/saphana.row_store.memory.used
|
|
GAUGE , INT64 gce_instance |
host type
|
workload.googleapis.com/saphana.schema.memory.used.current
|
|
GAUGE , INT64 gce_instance |
host schema type
|
workload.googleapis.com/saphana.schema.memory.used.max
|
|
GAUGE , INT64 gce_instance |
host schema
|
workload.googleapis.com/saphana.schema.operation.count
|
|
CUMULATIVE , INT64 gce_instance |
host schema type
|
workload.googleapis.com/saphana.schema.record.compressed.count
|
|
GAUGE , INT64 gce_instance |
host schema
|
workload.googleapis.com/saphana.schema.record.count
|
|
GAUGE , INT64 gce_instance |
host schema type
|
workload.googleapis.com/saphana.service.code_size
|
|
GAUGE , INT64 gce_instance |
host service
|
workload.googleapis.com/saphana.service.count
|
|
GAUGE , INT64 gce_instance |
host status
|
workload.googleapis.com/saphana.service.memory.compactors.allocated
|
|
GAUGE , INT64 gce_instance |
host service
|
workload.googleapis.com/saphana.service.memory.compactors.freeable
|
|
GAUGE , INT64 gce_instance |
host service
|
workload.googleapis.com/saphana.service.memory.effective_limit
|
|
GAUGE , INT64 gce_instance |
host service
|
workload.googleapis.com/saphana.service.memory.heap.current
|
|
GAUGE , INT64 gce_instance |
host service state
|
workload.googleapis.com/saphana.service.memory.limit
|
|
GAUGE , INT64 gce_instance |
host service
|
workload.googleapis.com/saphana.service.memory.shared.current
|
|
GAUGE , INT64 gce_instance |
host service state
|
workload.googleapis.com/saphana.service.memory.used
|
|
GAUGE , INT64 gce_instance |
host service type
|
workload.googleapis.com/saphana.service.stack_size
|
|
GAUGE , INT64 gce_instance |
host service
|
workload.googleapis.com/saphana.service.thread.count
|
|
GAUGE , INT64 gce_instance |
host status
|
workload.googleapis.com/saphana.transaction.blocked
|
|
GAUGE , INT64 gce_instance |
host
|
workload.googleapis.com/saphana.transaction.count
|
|
CUMULATIVE , INT64 gce_instance |
host type
|
workload.googleapis.com/saphana.volume.operation.count
|
|
CUMULATIVE , INT64 gce_instance |
host path type usage_type
|
workload.googleapis.com/saphana.volume.operation.size
|
|
CUMULATIVE , INT64 gce_instance |
host path type usage_type
|
workload.googleapis.com/saphana.volume.operation.time
|
|
CUMULATIVE , INT64 gce_instance |
host path type usage_type
|
Amostra de painel
Para visualizar as métricas do HANA, é necessário ter um gráfico ou um painel configurado. O Cloud Monitoring disponibiliza uma biblioteca de painéis de amostra para integrações, que contêm gráficos pré-configurados. Para informações sobre a instalação desses painéis, consulte Como instalar painéis de amostra.
Verificar a configuração
Nesta seção, descrevemos como verificar se você configurou corretamente o receptor do HANA. Pode levar um ou dois minutos para que o agente de operações comece a coletar telemetria.
Para verificar se os registros são ingeridos, acesse o Explorador de registros e execute a consulta a seguir para ver os registros do HANA:
resource.type="gce_instance"
log_id("saphana")
Para verificar se as métricas são ingeridas, acesse o Metrics Explorer e execute a seguinte consulta na guia MQL:
fetch gce_instance
| metric 'workload.googleapis.com/saphana.connection.count'
| every 1m
A seguir
Para ver um tutorial sobre como usar o Ansible para instalar o agente de operações, configurar um aplicativo de terceiros e instalar um painel de amostra, consulte o vídeo Instalação do agente de operações para resolver problemas de aplicativos de terceiros.