Visualização
Ainda estamos trabalhando nesse recurso, mas adoraríamos que você experimentasse!
Atualmente, esse recurso é fornecido como parte de uma prévia, de acordo com nossas políticas de pré-lançamento.
A New Relic agora capacita sua equipe a monitorar o desempenho do banco de dados Oracle usando a New Relic Distribution of OpenTelemetry (NRDOT) com os recursos de monitoramento de banco de dados da New Relic. Esta integração fornece insights abrangentes sobre métricas de banco de dados, desempenho de consultas e saúde do sistema usando o coletor NRDOT.
Essa abordagem baseada em NRDOT complementa nossa Integração On-Host (OHI) existente, utilizando padrões OpenTelemetry para monitoramento de banco de dados, facilitando a integração com sua stack de observabilidade existente.
Pré-requisitos
Antes de começar, certifique-se de ter o seguinte:
- Chave de licençada New Relic válida
- Arquitetura suportada: Linux com AMD64 e ARM64
- Conectividade de rede para o endpoint OTLP da New Relic
- Oracle Database 19c ou posterior
- Esta integração está disponível como parte do programa de pré-visualização pública da New Relic. Verifique com seu gerente da organização para fazer a adesão na página Previews & Trials.
Configure o NRDOT Collector para o monitoramento do Oracle Database
Você pode configurar o monitoramento do Oracle Database usando o NRDOT Collector em ambientes on-host (multitenant) ou RDS. Você pode configurar o NRDOT Collector usando os seguintes métodos:
Instalação guiada: o método de instalação guiada fornece instruções passo a passo na plataforma New Relic para ajudar você a instalar e configurar o NRDOT Collector para o monitoramento do banco de dados Oracle.
Instalação manual: o método de instalação manual permite que você configure o NRDOT Collector por conta própria seguindo as instruções nesta documentação. Você pode configurar manualmente nos seguintes ambientes:
- Ambiente on-host (multilocatário): instale o NRDOT Collector no mesmo host que a sua instância do banco de dados Oracle para coletar dados de telemetria de infraestrutura e do banco de dados.
- Ambiente RDS: instale o NRDOT Collector em um ambiente RDS para monitorar suas instâncias de banco de dados Oracle em execução no Amazon RDS.
Dica
O NRDOT Collector coleta dados de telemetria relacionados tanto à infraestrutura quanto ao banco de dados, para que você tenha uma solução de observabilidade unificada para o seu ambiente Oracle Database no New Relic.
Para instalar o NRDOT Collector:
Instalar o NRDOT Collector
Entre na sua conta New Relic.
Vá para left navigation pane > + Integration & Agents > Oracle (OpenTelemetry).
Na tela Select an account, selecione a conta na qual deseja instalar a integração do banco de dados Oracle e clique em Continue.
Na tela Enter your credential, selecione uma das seguintes opções e clique em Continue:
- Use uma chave existente: se você já possui uma chave de licença, forneça a chave de licença. Para mais informações, consulte Chaves de usuário.
- Criar uma nova chave: se você não tiver uma chave de licença, clique em Create a new key para criar uma.
Na tela Compatibility and requirements, certifique-se de que todos os requisitos sejam atendidos e clique em Continue.
Na tela Database user configuration, selecione o tipo de implantação para instalar a integração.
Siga as instruções na tela para configurar a integração para o ambiente selecionado.
Após a instalação, na tela Test your integration, clique em Test connection para verificar se o NRDOT Collector pode se conectar à sua instância de banco de dados Oracle e enviar dados para a New Relic. Se o teste for bem-sucedido, você verá uma mensagem de confirmação.
(Opcional) Configurar a correlação entre APM e banco de dados
Para correlacionar o desempenho do aplicativo com as operações de banco de dados, é possível configurar a identificação de serviço de banco de dados. Este recurso permite visualizar exatamente quais aplicativos estão gerando workloads específicas de banco de dados. Para mais informações, consulte configurar a identificação de serviço de banco de dados para obter a correlação APM-banco de dados no New Relic.
Importante
Para visualizar dados de desempenho do banco de dados no APM, ambas as entidades devem estar na mesma conta New Relic. Se as entidades estiverem em contas diferentes da New Relic, você deve ter acesso a ambas as contas para visualizar os dados.
Encontre e use seus dados
Assim que seus dados estiverem sendo coletados, você poderá acessar o monitoramento abrangente do banco de dados Oracle por meio da interface do New Relic.
Para encontrar sua entidade de banco de dados Oracle no New Relic:
- Vá para https://one.newrelic.com > All Capabilities > Databases.
- Defina os critérios de pesquisa como
instrumentation.provider = opentelemetry. - Selecione seu banco de dados Oracle na lista de entidades.
Você pode configurar o monitoramento do Oracle Database usando o NRDOT Collector em ambientes on-host ou multitenant. Para instalar o NRDOT Collector em ambientes on-host (multitenant), siga estas etapas:
Observação: todos os PDBs sob este CDB serão monitorados.
Método de instalação
Selecione o método de distribuição de instalação adequado para o seu ambiente Linux:
Configurar usuário do banco de dados
Crie um usuário de monitoramento com os privilégios necessários para o seu banco de dados Oracle multitenant. Isso requer a criação de um usuário comum com o prefixo C##.
Antes de criar o usuário do banco de dados ou executar quaisquer concessões de atribuição, você deve executar a seguinte instrução como um usuário
SYSpara definir seu contexto de contêiner ativo atual paraCDB$ROOT:ALTER SESSION SET CONTAINER = CDB$ROOT;Para bancos de dados multilocatários, login no banco de dados raiz como administrador. Use CREATE USER para adicionar um novo usuário ao banco de dados. O nome de usuário especificado será um 'usuário comum' e precisa ser prefixado com
c##conforme recomendado pela Oracle.CREATE USER c##<YOUR_DB_USERNAME> IDENTIFIED BY "<USER_PASSWORD>" CONTAINER=ALL;GRANT CREATE SESSION TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;Execute a seguinte instrução como SYSDBA na raiz do CDB. Isso permite que o usuário de monitoramento veja as linhas de cada PDB nas visualizações de dados do contêiner, o que é necessário para métricas e eventos por PDB.
ALTER USER c##<YOUR_DB_USERNAME> SET CONTAINER_DATA=ALL CONTAINER=CURRENT;Dica
Certifique-se de que sua
USER_PASSWORDatenda aos requisitos de senha de novo usuário da Oracle.
Conceder privilégios de monitoramento para banco de dados multitenant
Execute as seguintes instruções GRANT como SYSDBA na raiz do CDB. Estas abrangem a detecção de instância, a coleta de métricas, o monitoramento por PDB e a coleta de eventos. Você pode executá-las juntas como um único script ou executar cada instrução individualmente.
GRANT SELECT ON V_$INSTANCE TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$DATABASE TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$CONTAINERS TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$DATAFILE TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$SYSSTAT TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$CON_SYSSTAT TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$SYSMETRIC TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$CON_SYSMETRIC TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$SESSION TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$RESOURCE_LIMIT TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$OSSTAT TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$SGAINFO TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$ROWCACHE TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$PARAMETER TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON CDB_TABLESPACE_USAGE_METRICS TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON CDB_TABLESPACES TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON DBA_DATA_FILES TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON DBA_FREE_SPACE TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON DBA_RECYCLEBIN TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$SQL TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$SQL_PLAN_STATISTICS_ALL TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$LOCK TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$SESSION_EVENT TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON DBA_PROCEDURES TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON DBA_OBJECTS TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON V_$PDBS TO c##<USER_NAME> CONTAINER=ALL;GRANT SELECT ON CDB_SERVICES TO c##<USER_NAME> CONTAINER=ALL;Configurar o NRDOT Collector
Crie o arquivo de configuração. O nome do arquivo deve ser
oracle-config.yaml.bash$sudo nano /etc/nrdot-collector/oracle-config.yamlAdicione o conteúdo de configuração abaixo ao arquivo
oracle-config.yamlque você criou na etapa anterior.Atualize a configuração do coletor NRDOT para usar seu arquivo
oracle-config.yaml.bash$sudo sed -i 's|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/config.yaml"|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/oracle-config.yaml"|' /etc/nrdot-collector/nrdot-collector.confDefina os seguintes parâmetros obrigatórios no arquivo de configuração:
Parâmetro
Descrição
<YOUR_DB_HOST>Insira o nome do host do banco de dados Oracle.
<YOUR_DB_PORT>Insira a porta do seu banco de dados Oracle.
<USERNAME>Insira seu nome de usuário do banco de dados.
<PASSWORD>Insira a senha do seu banco de dados.
<YOUR_SERVICE_NAME>Insira o nome do serviço Oracle.
<YOUR_NEWRELIC_OTLP_ENDPOINT>Insira o endpoint OTLP da New Relic. Para mais informações, consulte a documentação dos endpoints OTLP da New Relic.
<YOUR_NEWRELIC_LICENSE_KEY>Insira sua chave de API da New Relic.
Na seção Eventos, ative estes tipos de evento para coletar suas métricas:
Evento
Descrição
db.server.query_sampleAmostras de consultas ativas por sessão capturando o SQL atual, estado de espera e detalhes de bloqueio.
db.server.top_queryAs N principais instruções SQL por CPU ou tempo decorrido, incluindo estatísticas de execução e planos de consulta.
db.server.session.wait_sampleContagens e durações de espera cumulativas por sessão de
v$session_event.
Configure as configurações de coleta para cada tipo de evento:
Seção de configuração
Parâmetro
Valor padrão
top_query_collectionmax_query_sample_count1000
top_query_collectiontop_query_count200
top_query_collectioncollection_interval60s
query_sample_collectionmax_rows_per_query100
session_wait_event_collectionmax_rows_per_query100
Dica
Para informações mais detalhadas sobre a configuração do endpoint OTLP da New Relic e as melhores práticas do OpenTelemetry, consulte a documentação do OpenTelemetry OTLP.
(Opcional) Configurar o receptor de consulta SQL
Você pode configurar o receptor de consulta SQL para coletar métricas personalizadas do seu banco de dados Oracle. Para obter mais informações, consulte a documentação do receptor de consulta SQL.
Reiniciar o coletor NRDOT
Após atualizar a configuração, reinicie o coletor NRDOT:
$sudo systemctl restart nrdot-collector.service$sudo systemctl status nrdot-collector.serviceDica
Sempre reinicie o NRDOT Collector após fazer alterações de configuração para que as novas configurações entrem em vigor.
(Opcional) Configuração de multirreceptor
O binário nrdot-collector suporta uma configuração de múltiplos receptores em um único oracle-config.yaml para monitorar várias instâncias de banco de dados Oracle usando credenciais exclusivas.
Dica
Esta configuração permite monitorar múltiplas instâncias de bancos de dados Oracle simultaneamente. Cada instância recebe sua própria configuração de receptor com credenciais exclusivas, enquanto compartilha processadores e exportadores comuns. Ajuste o
collection_intervale outros parâmetros com base em seus requisitos de monitoramento.Reinicie o coletor NRDOT após atualizar a configuração para aplicar as alterações.
(Opcional) Configurar a correlação entre APM e banco de dados
Para correlacionar o desempenho do aplicativo com as operações de banco de dados, é possível configurar a identificação de serviço de banco de dados. Este recurso permite visualizar exatamente quais aplicativos estão gerando workloads específicas de banco de dados. Para mais informações, consulte configurar a identificação de serviço de banco de dados para obter a correlação APM-banco de dados no New Relic.
Importante
Para visualizar dados de desempenho do banco de dados no APM, ambas as entidades devem estar na mesma conta New Relic. Se as entidades estiverem em contas diferentes da New Relic, você deve ter acesso a ambas as contas para visualizar os dados.
(Opcional) Configurar o gerenciamento de segredos
O recurso de gerenciamento de segredos permite gerenciar com segurança informações confidenciais, como credenciais de banco de dados. Isso ajuda a aprimorar a segurança do seu ambiente de monitoramento ao evitar a inserção direta de dados sensíveis nos arquivos de configuração. Para mais informações, consulte gerenciamento de segredos.
Encontre e use seus dados
Assim que seus dados estiverem sendo coletados, você poderá acessar o monitoramento abrangente do banco de dados Oracle por meio da interface do New Relic.
Para encontrar sua entidade de banco de dados Oracle no New Relic:
- Vá para https://one.newrelic.com > All Capabilities > Databases.
- Defina os critérios de pesquisa como
instrumentation.provider = opentelemetry. - Selecione seu banco de dados Oracle na lista de entidades.
Para instalar o NRDOT Collector para ambientes PDB, siga estas etapas:
Método de instalação
Selecione o método de distribuição de instalação adequado para o seu ambiente Linux:
Configurar usuário do banco de dados
Crie um usuário de monitoramento com os privilégios necessários para a sua instância do banco de dados PDB Oracle.
- Execute a seguinte instrução como SYS antes de criar o usuário ou executar quaisquer concessões:ALTER SESSION SET CONTAINER = "<YOUR_PDB>";
- Execute as seguintes instruções como SYS dentro do seu PDB de destino para criar um usuário de monitoramento local:CREATE USER <USER_NAME> IDENTIFIED BY "<YOUR_PASSWORD>";GRANT CREATE SESSION TO <USER_NAME>;
Conceder privilégios de monitoramento para banco de dados multitenant
Execute esses comandos como o usuário SYS dentro do seu PDB. Isso dá à ferramenta de monitoramento o acesso básico necessário para coletar métricas, rastrear eventos e encontrar suas instâncias de banco de dados.
GRANT SELECT ON V_$INSTANCE TO <USER_NAME>;GRANT SELECT ON V_$DATABASE TO <USER_NAME>;GRANT SELECT ON V_$CONTAINERS TO <USER_NAME>;GRANT SELECT ON V_$DATAFILE TO <USER_NAME>;GRANT SELECT ON V_$SYSSTAT TO <USER_NAME>;GRANT SELECT ON V_$SYSMETRIC TO <USER_NAME>;GRANT SELECT ON V_$SESSION TO <USER_NAME>;GRANT SELECT ON V_$RESOURCE_LIMIT TO <USER_NAME>;GRANT SELECT ON V_$OSSTAT TO <USER_NAME>;GRANT SELECT ON V_$SGAINFO TO <USER_NAME>;GRANT SELECT ON V_$ROWCACHE TO <USER_NAME>;GRANT SELECT ON V_$PARAMETER TO <USER_NAME>;GRANT SELECT ON DBA_TABLESPACE_USAGE_METRICS TO <USER_NAME>;GRANT SELECT ON DBA_TABLESPACES TO <USER_NAME>;GRANT SELECT ON DBA_DATA_FILES TO <USER_NAME>;GRANT SELECT ON DBA_FREE_SPACE TO <USER_NAME>;GRANT SELECT ON DBA_RECYCLEBIN TO <USER_NAME>;GRANT SELECT ON V_$SQL TO <USER_NAME>;GRANT SELECT ON V_$SQL_PLAN_STATISTICS_ALL TO <USER_NAME>;GRANT SELECT ON V_$LOCK TO <USER_NAME>;GRANT SELECT ON V_$SESSION_EVENT TO <USER_NAME>;GRANT SELECT ON DBA_PROCEDURES TO <USER_NAME>;GRANT SELECT ON DBA_OBJECTS TO <USER_NAME>;GRANT SELECT ON V_$PDBS TO <USER_NAME>;GRANT SELECT ON CDB_SERVICES TO <USER_NAME>;Configurar o NRDOT Collector
Configure o Collector NRDOT com as suas configurações específicas do PDB.
Crie o arquivo de configuração. O nome do arquivo deve ser
oracle-config.yaml.bash$sudo nano /etc/nrdot-collector/oracle-config.yamlAdicione o conteúdo de configuração abaixo ao arquivo
oracle-config.yamlque você criou na etapa anterior.Atualize a configuração do coletor NRDOT para usar seu arquivo
oracle-config.yaml.bash$sudo sed -i 's|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/config.yaml"|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/oracle-config.yaml"|' /etc/nrdot-collector/nrdot-collector.confDefina os seguintes parâmetros obrigatórios no arquivo de configuração:
Parâmetro
Descrição
<YOUR_DB_HOST>Insira o nome do host do banco de dados Oracle.
<YOUR_DB_PORT>Insira a porta do seu banco de dados Oracle.
<USERNAME>Insira seu nome de usuário do banco de dados.
<PASSWORD>Insira a senha do seu banco de dados.
<YOUR_SERVICE_NAME>Insira o nome do serviço Oracle.
<YOUR_NEWRELIC_OTLP_ENDPOINT>Insira o endpoint OTLP da New Relic. Para mais informações, consulte a documentação dos endpoints OTLP da New Relic.
<YOUR_NEWRELIC_LICENSE_KEY>Insira sua chave de API da New Relic.
Na seção Eventos, ative estes tipos de evento para coletar suas métricas:
Evento
Descrição
db.server.query_sampleAmostras de consultas ativas por sessão capturando o SQL atual, estado de espera e detalhes de bloqueio.
db.server.top_queryAs N principais instruções SQL por CPU ou tempo decorrido, incluindo estatísticas de execução e planos de consulta.
db.server.session.wait_sampleContagens e durações de espera cumulativas por sessão de
v$session_event.
Configure as configurações de coleta para cada tipo de evento:
Seção de configuração
Parâmetro
Valor
top_query_collectionmax_query_sample_count1000
top_query_collectiontop_query_count200
top_query_collectioncollection_interval60s
query_sample_collectionmax_rows_per_query100
session_wait_event_collectionmax_rows_per_query100
Dica
Para informações mais detalhadas sobre a configuração do endpoint OTLP da New Relic e as melhores práticas do OpenTelemetry, consulte a documentação do OpenTelemetry OTLP.
(Opcional) Configurar o receptor de consulta SQL
Você pode configurar o receptor de consulta SQL para coletar métricas personalizadas do seu banco de dados Oracle. Para obter mais informações, consulte a documentação do receptor de consulta SQL.
Reiniciar o coletor NRDOT
Após atualizar a configuração, reinicie o coletor NRDOT:
$sudo systemctl restart nrdot-collector.service$sudo systemctl status nrdot-collector.serviceDica
Sempre reinicie o coletor NRDOT após fazer alterações de configuração para garantir que as novas configurações entrem em vigor.
(Opcional) Configuração de multirreceptor
O binário nrdot-collector suporta uma configuração de múltiplos receptores em um único oracle-config.yaml para monitorar várias instâncias de banco de dados Oracle usando credenciais exclusivas.
Dica
Esta configuração permite monitorar múltiplas instâncias de bancos de dados Oracle simultaneamente. Cada instância recebe sua própria configuração de receptor com credenciais exclusivas, enquanto compartilha processadores e exportadores comuns. Ajuste o
collection_intervale outros parâmetros com base em seus requisitos de monitoramento.Reinicie o coletor NRDOT após atualizar a configuração para aplicar as alterações.
(Opcional) Configurar a correlação entre APM e banco de dados
Para correlacionar o desempenho do aplicativo com as operações de banco de dados, é possível configurar a identificação de serviço de banco de dados. Este recurso permite visualizar exatamente quais aplicativos estão gerando workloads específicas de banco de dados. Para mais informações, consulte configurar a identificação de serviço de banco de dados para obter a correlação APM-banco de dados no New Relic.
Importante
Para visualizar dados de desempenho do banco de dados no APM, ambas as entidades devem estar na mesma conta New Relic. Se as entidades estiverem em contas diferentes da New Relic, você deve ter acesso a ambas as contas para visualizar os dados.
(Opcional) Configurar o gerenciamento de segredos
O recurso de gerenciamento de segredos permite gerenciar com segurança informações confidenciais, como credenciais de banco de dados. Isso ajuda a aprimorar a segurança do seu ambiente de monitoramento ao evitar a inserção direta de dados sensíveis nos arquivos de configuração. Para mais informações, consulte gerenciamento de segredos.
Encontre e use seus dados
Assim que seus dados estiverem sendo coletados, você poderá acessar o monitoramento abrangente do banco de dados Oracle por meio da interface do New Relic.
Para encontrar sua entidade de banco de dados Oracle no New Relic:
- Vá para https://one.newrelic.com > All Capabilities > Databases.
- Defina os critérios de pesquisa como
instrumentation.provider = opentelemetry. - Selecione seu banco de dados Oracle na lista de entidades.
Para instalar o NRDOT Collector em ambientes RDS, siga estas etapas:
Método de instalação
Selecione o método de distribuição de instalação adequado para o seu ambiente Linux:
Configurar usuário do banco de dados
Crie um usuário de monitoramento com os privilégios necessários para o seu banco de dados RDS Oracle.
Faça login no banco de dados raiz como administrador:
CREATE USER <USERNAME> IDENTIFIED BY "<USER_PASSWORD>";Conceda privilégios
CONNECTao usuário recém-criado:GRANT CONNECT TO <USERNAME>;
Conceder privilégios de monitoramento para o banco de dados RDS
Execute as seguintes instruções SQL para conceder privilégios de monitoramento. Substitua <USERNAME_IN_UPPERCASE> pelo seu nome de usuário em letras maiúsculas:
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SYSMETRIC', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$CON_SYSMETRIC', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$CONTAINERS', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SESSION', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SESSION_EVENT', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SYSSTAT', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$CON_SYSSTAT', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$OSSTAT', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SGAINFO', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SQL', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SQLSTATS', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SQL_PLAN_STATISTICS_ALL', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$PARAMETER', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$ROWCACHE', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$RESOURCE_LIMIT', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$LOCK', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$INSTANCE', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$DATAFILE', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$PDBS', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_DATA_FILES', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_FREE_SPACE', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_RECYCLEBIN', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_TABLESPACES', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_TABLESPACE_USAGE_METRICS', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_PROCEDURES', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('CDB_TABLESPACE_USAGE_METRICS', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('CDB_TABLESPACES', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);EXEC rdsadmin.rdsadmin_util.grant_sys_object('CDB_SERVICES', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);GRANT CREATE SESSION TO <USERNAME_IN_UPPERCASE>;Configurar o NRDOT Collector
Crie o arquivo de configuração. O nome do arquivo deve ser
oracle-config.yaml.bash$sudo nano /etc/nrdot-collector/oracle-config.yamlAdicione o conteúdo de configuração abaixo ao arquivo
oracle-config.yamlque você criou na etapa anterior.Defina os seguintes parâmetros obrigatórios no arquivo de configuração:
Parâmetro
Descrição
<YOUR_DB_HOST>Insira o nome do host do banco de dados Oracle.
<YOUR_DB_PORT>Insira a porta do seu banco de dados Oracle.
<USERNAME>Insira seu nome de usuário do banco de dados.
<PASSWORD>Insira a senha do seu banco de dados.
<YOUR_SERVICE_NAME>Insira o nome do serviço PDB.
<YOUR_NEWRELIC_OTLP_ENDPOINT>Insira o endpoint OTLP da New Relic. Para mais informações, consulte a documentação dos endpoints OTLP da New Relic.
<YOUR_NEWRELIC_LICENSE_KEY>Insira sua chave de licença do New Relic.
Na seção Eventos, ative estes tipos de evento para coletar suas métricas:
Evento
Descrição
db.server.query_sampleAmostras de consultas ativas por sessão capturando o SQL atual, estado de espera e detalhes de bloqueio.
db.server.top_queryAs N principais instruções SQL por CPU ou tempo decorrido, incluindo estatísticas de execução e planos de consulta.
db.server.session.wait_sampleContagens e durações de espera cumulativas por sessão de
v$session_event.
Configure as configurações de coleta para cada tipo de evento:
Seção de configuração
Parâmetro
Valor
top_query_collectionmax_query_sample_count1000
top_query_collectiontop_query_count200
top_query_collectioncollection_interval60s
query_sample_collectionmax_rows_per_query100
session_wait_event_collectionmax_rows_per_query100
(Opcional) Configurar o receptor de consulta SQL
Você pode configurar o receptor de consulta SQL para coletar métricas personalizadas do seu banco de dados Oracle. Para obter mais informações, consulte a documentação do receptor de consulta SQL.
(Opcional) Configuração de multirreceptor
O binário nrdot-collector suporta uma configuração de múltiplos receptores em um único oracle-config.yaml para monitorar várias instâncias de banco de dados Oracle usando credenciais exclusivas. O exemplo oracle-config.yaml abaixo demonstra como configurar vários receptores para diferentes instâncias RDS, compartilhando processadores e exportadores comuns.
Dica
Esta configuração permite monitorar múltiplas instâncias do Oracle RDS simultaneamente. Cada instância recebe sua própria configuração de receptor com credenciais exclusivas, enquanto compartilha processadores e exportadores comuns. Ajuste o
collection_intervale outros parâmetros com base em seus requisitos de monitoramento.Reinicie o coletor NRDOT após atualizar a configuração para aplicar as alterações.
(Opcional) Configurar a correlação entre APM e banco de dados
Para correlacionar o desempenho do aplicativo com as operações de banco de dados, é possível configurar a identificação de serviço de banco de dados. Este recurso permite visualizar exatamente quais aplicativos estão gerando workloads específicas de banco de dados. Para mais informações, consulte configurar a identificação de serviço de banco de dados para obter a correlação APM-banco de dados no New Relic.
Importante
Para visualizar dados de desempenho do banco de dados no APM, ambas as entidades devem estar na mesma conta da New Relic. Se as entidades estiverem em contas diferentes, você deve ter acesso a ambas as contas para visualizar os dados.
(Opcional) Configurar o gerenciamento de segredos
O recurso de gerenciamento de segredos permite gerenciar com segurança informações confidenciais, como credenciais de banco de dados. Isso ajuda a aprimorar a segurança do seu ambiente de monitoramento ao evitar a inserção direta de dados sensíveis nos arquivos de configuração. Para mais informações, consulte gerenciamento de segredos.
Encontre e use seus dados
Assim que seus dados estiverem sendo coletados, você poderá acessar o monitoramento abrangente do banco de dados Oracle por meio da interface do New Relic.
Para encontrar sua entidade de banco de dados Oracle no New Relic:
- Vá para https://one.newrelic.com > All Capabilities > Databases.
- Defina os critérios de pesquisa como
instrumentation.provider = opentelemetry. - Selecione seu banco de dados Oracle na lista de entidades.
Para instalar o NRDOT Collector em ambientes do banco de dados autônomo Oracle (ADB), siga estas etapas:
Método de instalação
Selecione o método de distribuição de instalação adequado para o seu ambiente Linux:
Configurar usuário do banco de dados
Crie um usuário de monitoramento com os privilégios necessários para a sua instância de banco de dados ADB Oracle. Execute as seguintes instruções como SYS dentro do seu ADB de destino para criar um usuário de monitoramento local:
CREATE USER <USER_NAME> IDENTIFIED BY "<YOUR_PASSWORD>";GRANT CREATE SESSION TO <USER_NAME>;Conceder privilégios de monitoramento para o banco de dados autônomo
Execute estes comandos como administrador dentro do seu ADB. Isso dá à ferramenta de monitoramento o acesso básico necessário para coletar métricas, rastrear eventos e encontrar suas instâncias de banco de dados.
GRANT SELECT ON SYS.V_$INSTANCE TO <USER_NAME>;GRANT SELECT ON SYS.V_$DATABASE TO <USER_NAME>;GRANT SELECT ON SYS.V_$CONTAINERS TO <USER_NAME>;GRANT SELECT ON SYS.V_$DATAFILE TO <USER_NAME>;GRANT SELECT ON SYS.V_$PDBS TO <USER_NAME>; GRANT SELECT ON SYS.V_$SYSSTAT TO <USER_NAME>;GRANT SELECT ON SYS.V_$SYSMETRIC TO <USER_NAME>;GRANT SELECT ON SYS.V_$SESSION TO <USER_NAME>;GRANT SELECT ON SYS.V_$RESOURCE_LIMIT TO <USER_NAME>;GRANT SELECT ON SYS.V_$OSSTAT TO <USER_NAME>;GRANT SELECT ON SYS.V_$SGAINFO TO <USER_NAME>;GRANT SELECT ON SYS.V_$ROWCACHE TO <USER_NAME>;GRANT SELECT ON SYS.V_$PARAMETER TO <USER_NAME>;GRANT SELECT ON SYS.DBA_TABLESPACE_USAGE_METRICS TO <USER_NAME>;GRANT SELECT ON SYS.DBA_TABLESPACES TO <USER_NAME>;GRANT SELECT ON SYS.DBA_DATA_FILES TO <USER_NAME>;GRANT SELECT ON SYS.DBA_FREE_SPACE TO <USER_NAME>;GRANT SELECT ON SYS.DBA_RECYCLEBIN TO <USER_NAME>;GRANT SELECT ON SYS.V_$SQL TO <USER_NAME>;GRANT SELECT ON SYS.V_$SQL_PLAN_STATISTICS_ALL TO <USER_NAME>;GRANT SELECT ON SYS.V_$LOCK TO <USER_NAME>;GRANT SELECT ON SYS.V_$SESSION_EVENT TO <USER_NAME>;GRANT SELECT ON SYS.DBA_PROCEDURES TO <USER_NAME>;GRANT SELECT ON SYS.DBA_OBJECTS TO <USER_NAME>;Configurar o NRDOT Collector
Configure o NRDOT Collector com as suas configurações específicas do ADB. Crie um arquivo de configuração (por exemplo, adb-config.yaml) com o seguinte conteúdo:
receivers: nroracledb/adb: datasource: "oracle://<USERNAME>:<PASSWORD>@<YOUR_DB_HOST>:<YOUR_DB_PORT>/<YOUR_SERVICE_NAME>?ssl=true&ssl%20verify=true" collection_interval: 10s events: db.server.query_sample: enabled: true db.server.top_query: enabled: true db.server.session.wait_sample: enabled: true
top_query_collection: max_query_sample_count: 1000 top_query_count: 200 collection_interval: 60s allowed_comment_keys: - nr_service_guid
query_sample_collection: max_rows_per_query: 100 allowed_comment_keys: - nr_service_guid
session_wait_event_collection: max_rows_per_query: 100
metrics: oracledb.cpu_time: enabled: true oracledb.executions: enabled: true oracledb.parse_calls: enabled: true oracledb.hard_parses: enabled: true oracledb.logical_reads: enabled: true oracledb.physical_reads: enabled: true oracledb.physical_reads_direct: enabled: true oracledb.physical_writes: enabled: true oracledb.physical_writes_direct: enabled: true oracledb.physical_read_io_requests: enabled: true oracledb.physical_write_io_requests: enabled: true oracledb.physical_io.cache_writes: enabled: true oracledb.physical_io.requests: enabled: true attributes: - disk.io.direction - disk.io.block_size oracledb.physical_io.transferred: enabled: true attributes: - disk.io.direction - disk.io.type oracledb.sqlnet.io.transferred: enabled: true attributes: - network.io.direction - destination.type oracledb.consistent_gets: enabled: true oracledb.db_block_gets: enabled: true oracledb.data_dictionary.hit_ratio: enabled: true oracledb.pga_memory: enabled: true oracledb.enqueue_deadlocks: enabled: true oracledb.exchange_deadlocks: enabled: true oracledb.sessions.usage: enabled: true attributes: - session_type - session_status oracledb.logons: enabled: true oracledb.user_commits: enabled: true oracledb.user_rollbacks: enabled: true oracledb.tablespace_size.limit: enabled: true attributes: - tablespace_name oracledb.tablespace_size.usage: enabled: true attributes: - tablespace_name oracledb.storage.usage: enabled: true oracledb.storage.utilization: enabled: true oracledb.recycle_bin.limit: enabled: true oracledb.queries_parallelized: enabled: true oracledb.ddl_statements_parallelized: enabled: true oracledb.dml_statements_parallelized: enabled: true oracledb.parallel_operations_not_downgraded: enabled: true oracledb.parallel_operations_downgraded_1_to_25_pct: enabled: true oracledb.parallel_operations_downgraded_25_to_50_pct: enabled: true oracledb.parallel_operations_downgraded_50_to_75_pct: enabled: true oracledb.parallel_operations_downgraded_75_to_99_pct: enabled: true oracledb.parallel_operations_downgraded_to_serial: enabled: true
processors: batch: resource/add_event_name: attributes: - key: host.address value: "<YOUR_DB_HOST>" action: upsert
exporters: otlphttp/newrelic: endpoint: "<YOUR_NEWRELIC_OTLP_ENDPOINT>" headers: api-key: "<YOUR_NEWRELIC_LICENSE_KEY>" compression: gzip retry_on_failure: enabled: true initial_interval: 5s max_interval: 30s max_elapsed_time: 300s
service: telemetry: metrics: level: none pipelines: metrics/oracledb: receivers: [nroracledb/adb] processors: [resource/add_event_name, batch] exporters: [otlphttp/newrelic] logs/oracledb: receivers: [nroracledb/adb] processors: [resource/add_event_name, batch] exporters: [otlphttp/newrelic]Importante
Observação: as seguintes métricas não são suportadas no ADB:
- oracledb.database.cpu.utilization
- oracledb.database.wait.utilization
- oracledb.host.cpu.utilization
- oracledb.execution.utilization
- oracledb.parse.rate
- oracledb.parse.utilization
- oracledb.sort.ratio
- oracledb.sql_service.response.duration
- oracledb.buffer_cache.utilization
- oracledb.library_cache.utilization
- oracledb.shared_pool.utilization
- oracledb.redo_allocation.utilization
- oracledb.processes.limit
- oracledb.processes.usage
- oracledb.sessions.limit
- oracledb.transactions.limit
- oracledb.transactions.usage
- oracledb.dml_locks.limit
- oracledb.dml_locks.usage
- oracledb.enqueue_locks.limit
- oracledb.enqueue_locks.usage
- oracledb.enqueue_resources.limit
- oracledb.enqueue_resources.usage
(Opcional) Configurar o receptor de consulta SQL
Você pode configurar o SQL Query Receiver para coletar métricas personalizadas do seu Oracle Database. Para obter mais informações, consulte a documentação do SQL Query Receiver.
Reiniciar o coletor NRDOT
Após configurar o coletor, reinicie o serviço do coletor NRDOT para aplicar as alterações:
$sudo systemctl restart nrdot-collectorPara verificar se o coletor está funcionando corretamente, verifique o status do serviço:
$sudo systemctl status nrdot-collectorDica
Sempre reinicie o coletor NRDOT após fazer alterações de configuração para garantir que as novas configurações entrem em vigor.
(Opcional) Configuração de multirreceptor
Se você deseja monitorar várias instâncias do Oracle ADB a partir do mesmo coletor, pode configurar vários receptores no seu arquivo de configuração adicionando blocos de receptor adicionais com nomes e detalhes de conexão diferentes.
(Opcional) Configurar a correlação entre APM e banco de dados
Para correlacionar o desempenho do aplicativo com as operações de banco de dados, é possível configurar a identificação de serviço de banco de dados. Este recurso permite visualizar exatamente quais aplicativos estão gerando workloads específicas de banco de dados. Para mais informações, consulte configurar a identificação de serviço de banco de dados para obter a correlação APM-banco de dados no New Relic.
Importante
Para visualizar dados de desempenho do banco de dados no APM, ambas as entidades devem estar na mesma conta New Relic. Se as entidades estiverem em contas diferentes da New Relic, você deve ter acesso a ambas as contas para visualizar os dados.
(Opcional) Configurar o gerenciamento de segredos
Você pode configurar o NRDOT Collector para recuperar informações confidenciais, como senhas, de sistemas de gerenciamento de segredos em vez de armazená-las em texto simples em arquivos de configuração. Para mais informações, consulte gerenciamento de segredos.
Encontre e use seus dados
Após configurar a integração do Oracle ADB, você pode começar a monitorar e analisar o desempenho do seu banco de dados no New Relic:
Acesse one.newrelic.com > All Entities.
Filtre por Oracle para encontrar as entidades do seu banco de dados.
Selecione sua entidade do Oracle ADB para visualizar dashboards, métricas e logs.
Para obter mais informações sobre o monitoramento de bancos de dados Oracle, consulte nossa documentação de monitoramento de banco de dados.
Comandos suportados pelo coletor NRDOT
Esta seção fornece uma lista de comandos comuns para gerenciar o serviço NRDOT Collector no seu sistema.
Métricas disponíveis
As seguintes métricas estão disponíveis para o monitoramento de banco de dados Oracle com o NRDOT. Ative os scrapers relevantes em sua configuração para coletá-los.
Resolução de problemas
Se você encontrar problemas durante a configuração, use este guia de solução de problemas para diagnosticar e resolver problemas comuns.
Qual é o próximo
Após configurar o monitoramento do Oracle Database com o NRDOT:
- Crie dashboards personalizados para visualizar suas métricas de banco de dados
- Configure alertas para limites críticos de desempenho do banco de dados
- Explore seus dados usando os recursos de consulta do New Relic