A integração da base de dados Oracle recolhe métricas e registos da base de dados Oracle. As métricas são recolhidas através da consulta das vistas de monitorização relevantes. Esta integração escreve registos de rastreio estruturados.
Para mais informações sobre a base de dados Oracle, consulte a documentação da base de dados Oracle.
Pré-requisitos
Para recolher telemetria da base de dados Oracle, tem de instalar o agente de operações:
- Para métricas, instale a versão 2.22.0 ou superior.
- Para registos, instale a versão 2.22.0 ou superior.
Esta integração suporta as versões 12.2, 18c, 19c e 21c da base de dados Oracle.
Configure a sua instância da base de dados Oracle
Para recolher métricas, um utilizador de monitorização requer SELECT
acesso às vistas relevantes. O script SQL seguinte deve criar um utilizador de monitorização e conceder-lhe as autorizações adequadas se for executado por um utilizador com autorizações suficientes ligado à instância da base de dados Oracle 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;
Configure o agente de operações para a base de dados Oracle
Seguindo o guia para configurar o Ops Agent, adicione os elementos necessários para recolher telemetria de instâncias da BD Oracle e reinicie o agente.
Exemplo de configuração
Os seguintes comandos criam a configuração para recolher e carregar telemetria para a base de dados Oracle:
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 da base de dados do Oracle, tem de criar um recetor para os registos que a base de dados do Oracle produz e, em seguida, criar um pipeline para o novo recetor.
Para configurar um recetor para os seus registos oracledb_audit
, especifique os seguintes campos:
Campo | Predefinição | Descrição |
---|---|---|
exclude_paths |
Uma lista de padrões de caminhos do sistema de ficheiros a excluir do conjunto correspondente a include_paths . |
|
include_paths |
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. Não pode ser fornecido com o campo oracle_home . |
|
oracle_home |
Localização do ORACLE_HOME para o ambiente. Quando fornecida, 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 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 etiqueta agent.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 |
Este valor tem de ser oracledb_audit . |
|
wildcard_refresh_interval |
60s |
O intervalo no qual os caminhos de ficheiros com carateres universais em include_paths são atualizados. Indicado como uma duração, por exemplo, 30s ou 2m . 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. |
Para configurar um recetor para os seus registos oracledb_alert
, especifique os seguintes campos:
Campo | Predefinição | Descrição |
---|---|---|
exclude_paths |
Uma lista de padrões de caminhos do sistema de ficheiros a excluir do conjunto correspondente a include_paths . |
|
include_paths |
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. Não pode ser fornecido com o campo oracle_home . |
|
oracle_home |
Localização do ORACLE_HOME para o ambiente. Quando fornecida, define o 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 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 etiqueta agent.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 oracledb_alert . |
|
wildcard_refresh_interval |
60s |
O intervalo no qual os caminhos de ficheiros com carateres universais em include_paths são atualizados. Indicado como uma duração, por exemplo, 30s ou 2m . 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 oracledb_alert
contêm os seguintes campos em LogEntry
:
Campo | Tipo | Descrição |
---|---|---|
jsonPayload.message |
de string | Mensagem de registo |
severity |
string (LogSeverity ) |
Nível de entrada de registo (traduzido). |
Os registos oracledb_audit
contêm os seguintes campos em LogEntry
:
Campo | Tipo | Descrição |
---|---|---|
jsonPayload.action |
de string | Ação que está a ser registada no registo de auditoria |
jsonPayload.action_number |
número | Número que identifica o tipo de ação que está a ser registada |
jsonPayload.client_terminal |
de string | Identificador do terminal do cliente onde a ação teve origem |
jsonPayload.client_user |
de string | Utilizador cliente da ação auditada |
jsonPayload.database_user |
de string | Utilizador da base de dados para a ação auditada |
jsonPayload.dbid |
número | Identificador da base de dados |
jsonPayload.length |
número | Comprimento da string que representa a ação que está a ser registada |
jsonPayload.privilege |
de string | Privilégio da base de dados sob o qual a ação foi executada |
jsonPayload.sessionid |
número | Identificador de sessão |
jsonPayload.status |
de string | Estado da ação |
jsonPayload.user_host |
de string | Anfitrião onde a ação auditada teve origem |
severity |
string (LogSeverity ) |
Nível de entrada de registo (traduzido). |
Configure a recolha de métricas
Para carregar métricas da base de dados Oracle, tem de criar um recetor para as métricas produzidas pela base de dados Oracle 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 oracledb
, especifique os seguintes campos:
Campo | Predefinição | Descrição |
---|---|---|
collection_interval |
60s |
Um valor de duração, como 30s ou 5m . |
endpoint |
localhost:1521 |
O ponto final usado para estabelecer ligação à instância da base de dados Oracle. Este campo suporta host:port ou um caminho de socket Unix. |
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 insecure estiver definido como true , o valor insecure_skip_verify não é usado. |
password |
A palavra-passe usada para estabelecer ligação à instância. | |
service_name |
O nome do serviço da base de dados Oracle que está a ser monitorizada. Use este campo ou o campo sid , conforme adequado. |
|
sid |
O SID da base de dados Oracle que está a ser monitorizada. Use este campo ou o campo service_name , conforme adequado. |
|
type |
Este valor tem de ser oracledb . |
|
username |
O nome de utilizador usado para estabelecer ligação à instância. | |
wallet |
Caminho para o diretório que contém a carteira Oracle usada opcionalmente para autenticação e ligações seguras. |
O que é monitorizado
A tabela seguinte apresenta a lista de métricas que o agente de operações recolhe da instância da base de dados Oracle.
Tipo de métrica | |
---|---|
Tipo, Tipo Recursos monitorizados |
Etiquetas |
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
|
Valide a configuração
Esta secção descreve como verificar se configurou corretamente o recetor da base de dados Oracle. O agente de operações pode demorar um ou dois minutos a começar a recolher telemetria.
Para verificar se os registos da base de dados Oracle 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("oracledb_alert") OR log_id("oracledb_audit"))
Para verificar se as métricas da base de dados Oracle 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/oracle.logon.count", monitored_resource="gce_instance"}
Ver o painel de controlo
Para ver as métricas da base de dados Oracle, tem de ter um gráfico ou um painel de controlo configurado. A integração da base de dados Oracle 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:
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:
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 Oracle DB 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 da base de dados Oracle 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:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- Localize a entrada para Oracle DB 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.