A integração com o Oracle DB coleta registros e métricas do Oracle DB. 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 Oracle DB, consulte a documentação do Oracle Database.
Pré-requisitos
Para coletar a telemetria do Oracle DB, é preciso instale o Agente de operações:
- Para métricas, instale a versão 2.22.0 ou mais recente.
- Para registros, instale a versão 2.22.0 ou mais recente.
Essa integração é compatível com as versões 12.2, 18c, 19c e 21c do Oracle DB.
Configure a instância do Oracle DB
Para coletar métricas, um usuário de monitoramento requer acesso de SELECT
às visualizações de monitoramento relevantes. O script sql a seguir deve criar um usuário de monitoramento e conceder a ele as permissões apropriadas se ele for executado por um usuário com permissões suficientes conectadas à instância do Oracle DB como SYSDBA ou SYSOPER.
-- Create the monitoring user "otel" CREATE USER otel IDENTIFIED BY; -- Grant the "otel" user the required permissions GRANT CONNECT TO otel; GRANT SELECT ON SYS.GV_$DATABASE to otel; GRANT SELECT ON SYS.GV_$INSTANCE to otel; GRANT SELECT ON SYS.GV_$PROCESS to otel; GRANT SELECT ON SYS.GV_$RESOURCE_LIMIT to otel; GRANT SELECT ON SYS.GV_$SYSMETRIC to otel; GRANT SELECT ON SYS.GV_$SYSSTAT to otel; GRANT SELECT ON SYS.GV_$SYSTEM_EVENT to otel; GRANT SELECT ON SYS.V_$RMAN_BACKUP_JOB_DETAILS to otel; GRANT SELECT ON SYS.V_$SORT_SEGMENT to otel; GRANT SELECT ON SYS.V_$TABLESPACE to otel; GRANT SELECT ON SYS.V_$TEMPFILE to otel; GRANT SELECT ON SYS.DBA_DATA_FILES to otel; GRANT SELECT ON SYS.DBA_FREE_SPACE to otel; GRANT SELECT ON SYS.DBA_TABLESPACE_USAGE_METRICS to otel; GRANT SELECT ON SYS.DBA_TABLESPACES to otel; GRANT SELECT ON SYS.GLOBAL_NAME to otel;
Configurar o agente de operações para o banco de dados Oracle
Seguindo o guia para Configurar o Agente Agente, adicione os elementos necessários para coletar telemetria de instâncias do Oracle DB reinicie o agente.
Exemplo de configuração
Os comandos a seguir criam a configuração para coletar e ingerir a telemetria Oracle DB e reinicie o Agente de operações.
Configurar a coleta de registros
Para ingerir registros do Oracle DB, você precisa criar um receptor para os registros que o Oracle DB produz e cria um pipeline para o novo receptor.
oracledb_audit
Para configurar um receptor para os registros , especifique os seguintes campos:
Campo | Padrão | Descrição |
---|---|---|
exclude_paths |
Uma lista de padrões de caminho do sistema de arquivos a serem excluídos do conjunto correspondente a include_paths . |
|
include_paths |
Uma lista de caminhos do sistema de arquivos a serem lidos acompanhando cada
arquivo. Um caractere curinga (* ) pode ser usado nos caminhos. Não pode ser fornecido com o campo oracle_home . |
|
oracle_home |
Local do ORACLE_HOME do ambiente, quando fornecido, que define "include_paths" como $ORACLE_HOME/admin/*/adump/*.aud . Não pode ser fornecido com o campo include_paths . |
|
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 |
Este valor precisa ser oracledb_audit . |
|
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. |
oracledb_alert
Para configurar um receptor para os registros , especifique os seguintes campos:
Campo | Padrão | Descrição |
---|---|---|
exclude_paths |
Uma lista de padrões de caminho do sistema de arquivos a serem excluídos do conjunto correspondente a include_paths . |
|
include_paths |
Uma lista de caminhos do sistema de arquivos a serem lidos acompanhando cada
arquivo. Um caractere curinga (* ) pode ser usado nos caminhos. Não pode ser fornecido com o campo oracle_home . |
|
oracle_home |
Localização do ORACLE_HOME para o ambiente, quando fornecido, ao definir include_paths como $ORACLE_HOME/diag/rdbms/*/*/trace/alert_*.log . Não pode ser fornecido com o campo include_paths . |
|
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 oracledb_alert . |
|
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 oracledb_alert
contêm os seguintes campos no LogEntry
:
Campo | Tipo | Descrição |
---|---|---|
jsonPayload.message |
string | Mensagem de registro |
severity |
string (LogSeverity ) |
Nível de entrada de registro (traduzido). |
Os registros oracledb_audit
contêm os seguintes campos no LogEntry
:
Campo | Tipo | Descrição |
---|---|---|
jsonPayload.action |
string | Ação sendo registrada no registro de auditoria |
jsonPayload.action_number |
number | Número que identifica o tipo de ação registrada |
jsonPayload.client_terminal |
string | Identificador do terminal do cliente em que a ação foi originada |
jsonPayload.client_user |
string | Usuário do cliente para a ação auditada |
jsonPayload.database_user |
string | Usuário do banco de dados para a ação auditada |
jsonPayload.dbid |
number | Identificador do banco de dados |
jsonPayload.length |
number | Tamanho da string que representa a ação sendo registrada |
jsonPayload.privilege |
string | Privilégio do banco de dados em que a ação foi executada |
jsonPayload.sessionid |
number | Identificador de sessão |
jsonPayload.status |
string | Status da ação |
jsonPayload.user_host |
string | Host em que a ação auditada foi originada |
severity |
string (LogSeverity ) |
Nível de entrada de registro (traduzido). |
Configurar a coleta de métricas
Para ingerir métricas do Oracle DB, crie um receptor para as métricas produzidas pelo Oracle DB e, em seguida, crie um pipeline para o novo receptor.
Esse receptor não aceita o uso de várias instâncias na configuração, por exemplo, para monitorar vários endpoints. Todas essas instâncias gravam na mesma série temporal, e o Cloud Monitoring não tem como diferenciá-las.
Para configurar um receptor para suas
métricas do oracledb
, especifique os campos
a seguir:
Campo | Padrão | Descrição |
---|---|---|
collection_interval |
60s |
Um valor de time.Duration, como 30s ou 5m . |
endpoint |
localhost:1521 |
O endpoint usado para se conectar à instância de banco de dados Oracle. Esse campo oferece suporte a host:port ou a um caminho de soquete do Unix. |
insecure |
true |
Define se uma conexão TLS segura será ou não usada. Se definido como false , 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 não será usado. |
password |
A senha usada para se conectar ao servidor. | |
service_name |
O nome do serviço do banco de dados Oracle que está sendo monitorado. Use este campo ou sid conforme apropriado. |
|
sid |
O SID do banco de dados Oracle que está sendo monitorado. Use este campo ou service_name conforme apropriado. |
|
type |
Este valor precisa ser oracledb . |
|
username |
O nome de usuário usado para se conectar ao servidor. | |
wallet |
Caminho para o diretório que contém a carteira do Oracle usada opcionalmente para autenticação e proteção de conexões. |
O que é monitorado?
Veja na tabela a seguir a lista de métricas que o agente de operações coleta da instância do banco de dados Oracle.
Tipo de métrica | |
---|---|
Tipo, tipo Recursos monitorados |
Rótulos |
workload.googleapis.com/oracle.backup.latest
|
|
CUMULATIVE , INT64 gce_instance |
database_id db_system global_name
|
workload.googleapis.com/oracle.buffer.cache.ratio
|
|
GAUGE , DOUBLE gce_instance |
database_id db_system global_name instance_id
|
workload.googleapis.com/oracle.cursor.count
|
|
CUMULATIVE , INT64 gce_instance |
database_id db_system global_name instance_id
|
workload.googleapis.com/oracle.cursor.current
|
|
GAUGE , INT64 gce_instance |
database_id db_system global_name instance_id
|
workload.googleapis.com/oracle.disk.operation.count
|
|
CUMULATIVE , INT64 gce_instance |
database_id db_system direction global_name instance_id
|
workload.googleapis.com/oracle.disk.operation.size
|
|
CUMULATIVE , INT64 gce_instance |
database_id db_system direction global_name instance_id
|
workload.googleapis.com/oracle.logon.count
|
|
CUMULATIVE , INT64 gce_instance |
database_id db_system global_name instance_id
|
workload.googleapis.com/oracle.logon.current
|
|
GAUGE , INT64 gce_instance |
database_id db_system global_name instance_id
|
workload.googleapis.com/oracle.network.data
|
|
CUMULATIVE , INT64 gce_instance |
database_id db_system direction global_name instance_id target
|
workload.googleapis.com/oracle.process.count
|
|
GAUGE , INT64 gce_instance |
database_id db_system global_name instance_id
|
workload.googleapis.com/oracle.process.limit
|
|
GAUGE , INT64 gce_instance |
database_id db_system global_name instance_id
|
workload.googleapis.com/oracle.process.pga_memory.size
|
|
GAUGE , INT64 gce_instance |
database_id db_system global_name instance_id program state
|
workload.googleapis.com/oracle.row.cache.ratio
|
|
GAUGE , DOUBLE gce_instance |
database_id db_system global_name instance_id
|
workload.googleapis.com/oracle.service.response_time
|
|
GAUGE , DOUBLE gce_instance |
database_id db_system global_name instance_id
|
workload.googleapis.com/oracle.session.count
|
|
GAUGE , INT64 gce_instance |
database_id db_system global_name instance_id
|
workload.googleapis.com/oracle.session.limit
|
|
GAUGE , INT64 gce_instance |
database_id db_system global_name instance_id
|
workload.googleapis.com/oracle.sort.count
|
|
CUMULATIVE , INT64 gce_instance |
database_id db_system global_name instance_id type
|
workload.googleapis.com/oracle.sort.row.count
|
|
CUMULATIVE , INT64 gce_instance |
database_id db_system global_name instance_id
|
workload.googleapis.com/oracle.tablespace.count
|
|
GAUGE , INT64 gce_instance |
contents database_id db_system global_name status
|
workload.googleapis.com/oracle.tablespace.size
|
|
GAUGE , INT64 gce_instance |
contents database_id db_system global_name state tablespace_name
|
workload.googleapis.com/oracle.user.calls
|
|
CUMULATIVE , INT64 gce_instance |
database_id db_system global_name instance_id
|
workload.googleapis.com/oracle.user.commits
|
|
CUMULATIVE , INT64 gce_instance |
database_id db_system global_name instance_id
|
workload.googleapis.com/oracle.user.rollbacks
|
|
CUMULATIVE , INT64 gce_instance |
database_id db_system global_name instance_id
|
workload.googleapis.com/oracle.wait.count
|
|
CUMULATIVE , INT64 gce_instance |
database_id db_system global_name instance_id type wait_class
|
workload.googleapis.com/oracle.wait.time
|
|
CUMULATIVE , INT64 gce_instance |
database_id db_system global_name instance_id type wait_class
|
workload.googleapis.com/oracle.wait.timeouts
|
|
CUMULATIVE , INT64 gce_instance |
database_id db_system global_name instance_id type wait_class
|
Verificar a configuração
Nesta seção, descrevemos como verificar se você configurou corretamente o receptor do Oracle DB. Pode levar um ou dois minutos para que o agente de operações comece a coletar telemetria.
Para verificar se os registros do Oracle DB estão sendo enviados para o Cloud Logging, faça o seguinte:
-
No console do Google Cloud, acesse a página Análise de registros:
Acessar a Análise de registros
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Geração de registros.
- Digite a consulta a seguir no Editor e clique em Executar consulta:
resource.type="gce_instance" (log_id("oracledb_alert") OR log_id("oracledb_audit"))
Para verificar se as métricas do Oracle DB estão sendo enviadas para o Cloud Monitoring, faça o seguinte:
-
No Console do Google Cloud, acesse a página do leaderboard Metrics Explorer:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Na barra de ferramentas do painel do criador de consultas, selecione o botão code MQL ou code PromQL.
- Verifique se MQL está selecionado na opção de ativar/desativar Idioma. A alternância de idiomas está na mesma barra de ferramentas que permite formatar sua consulta.
- Digite a consulta a seguir no Editor e clique em Executar consulta:
fetch gce_instance | metric 'workload.googleapis.com/oracle.logon.count' | every 1m
Ver painel
Para visualizar as métricas do Oracle DB, é necessário ter um gráfico ou um painel configurado. A integração com o Oracle DB inclui um ou mais painéis para você. Todos os painéis são instalados automaticamente depois que você configura a integração e o Agente de operações começa a coletar dados de métricas.
Também é possível ver visualizações estáticas de painéis sem instalar a integração.
Para ver um painel instalado, faça o seguinte:
-
No console do Google Cloud, acesse a página
Painéis:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Selecione a guia Lista de painéis e escolha a categoria Integrações.
- Clique no nome do painel que você quer visualizar.
Se você configurou uma integração, mas o painel não foi instalado, verifique se o agente de operações está em execução. Quando não há dados de métricas para um gráfico no painel, a instalação do painel falha. Depois que o Agente de operações começar a coletar métricas, o painel será instalado para você.
Para acessar uma visualização estática do painel, faça o seguinte:
-
No console do Google Cloud, acesse a página
Integrações:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Clique no filtro de plataforma de implantação do Compute Engine.
- Localize a entrada para Banco de dados Oracle e clique em Ver detalhes.
- Selecione a guia Painéis para uma visualização estática. Se o painel estiver instalado, navegue até ele clicando em Ver painel.
Para mais informações sobre painéis no Cloud Monitoring, consulte Painéis e gráficos.
Para mais informações sobre como usar a página Integrações, consulte Gerenciar integrações.
Instalar políticas de alertas
As políticas de alertas orientam o Cloud Monitoring a notificar você quando ocorrerem condições especificadas. A integração com o banco de dados Oracle inclui uma ou mais políticas de alertas para você usar. É possível ver e instalar essas políticas de alertas na página Integrações no Monitoring.
Para visualizar e descrever as descrições de políticas de alertas disponíveis, faça o seguinte:
-
No console do Google Cloud, acesse a página
Integrações:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.
- Localize a entrada para Banco de dados Oracle e clique em Ver detalhes.
- Selecione a guia Alertas. Essa guia apresenta descrições das políticas de alertas disponíveis e mostra uma interface para instalá-las.
- Instalar políticas de alertas. As políticas de alertas precisam
saber para onde enviar as notificações de que o alerta foi
acionado. Portanto, elas exigem informações para instalação.
Para instalar políticas de alertas, faça o seguinte:
- Na lista de políticas de alertas disponíveis, selecione aquelas que você quer instalar.
Na seção Configurar notificações, selecione um ou mais canais de notificação. Você pode desativar o uso dos canais de notificação, mas, se isso acontecer, as políticas de alertas vão ser disparadas silenciosamente. É possível verificar o status no Monitoring, mas não receber notificações.
Para saber mais sobre canais de notificação, consulte Gerenciar canais de notificação.
- Clique em Criar políticas.
Para mais informações sobre políticas de alertas no Cloud Monitoring, consulte Introdução a alertas.
Para mais informações sobre como usar a página Integrações, consulte Gerenciar integrações.
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.