Descrição
Este plugin foi desenvolvido pela Consol Labs, sua documentação pode ser consultada aqui. Neste plugin é possível monitorar desde a saúde do banco de dados até queries e suas execuções.
Utilização
Para saber todos as maneiras de monitoramento disponíveis e o modo de execução, execute o help do plugin, conforme exemplificado abaixo.
[root@localhost ~]$ /usr/local/opmon/libexec/check_oracle_health --help
Ao executar o comando acima, será possível visualizar um retorno semelhante à este:
... Usage: check_oracle_health [-v] [-t ] --connect= --username= --password= --mode= --tablespace= check_oracle_health [-h | --help] check_oracle_health [-V | --version] Options: --connect the connect string --username the oracle user --password the oracle user's password --warning the warning range --critical the critical range --mode the mode of the plugin. select one of the following keywords: --name the name of the tablespace, datafile, wait event, latch, enqueue, or sql statement depending on the mode. --name2 if name is a sql statement, this statement would appear in the output and the performance data. This can be ugly, so name2 can be used to appear instead. --regexp if this parameter is used, name will be interpreted as a regular expression. --units one of %, KB, MB, GB. This is used for a better output of mode=sql and for specifying thresholds for mode=tablespace-free --ident outputs instance and database names --commit turns on autocommit for the dbd::oracle module --noperfdata do not output performance data ...
No parâmetro –mode é possível verificar todas as opções disponíveis de monitoramento, onde cada um exerce uma função diferente.
Sendo elas:
- tnsping
Verifica a acessibilidade do servidor, informando se houve sucesso ou o erro no momento da conexão. - connection-time
Verifica o tempo que a conexão demorou para ocorrer e qual foi o usuário que efetuou a conexão, os valores são exibidos em segundos. - password-expiration
Verifica a data de expiração das senhas dos usuários cadastrados. - connected-users
Verifica a quantidade de usuários conectados na base. - session-usage
Verifica a utilização dos recursos pelas sessões, os valores são exibidos em porcentagem. - process-usage
Verifica a utilização dos recursos pelos processos, os valores são exibidos em porcentagem. - rman-backup-problems
Verifica quantos erros o RMAN apresentou nos últimos 3 dias. - sga-data-buffer-hit-ratio
Verifica a taxa de eficiência no Data Buffer Cache, os valores são apresentados em porcentagem. - sga-library-cache-gethit-ratio
Verifica a taxa de eficiência de Gets na Library Cache, os valores são apresentados em porcentagem. - sga-library-cache-pinhit-ratio
Verifica a taxa de eficiência de Pins na Library Cache, os valores são apresentados em porcentagem. - sga-library-cache-reloads
Verifica o tempo de Reload-Rate na Library Cache, os valores são exibidos em segundos. - sga-dictionary-cache-hit-ratio
Verifica a taxa de eficiência no Dictionary Cache, os valores são exibidos em porcentagem. - sga-latches-hit-ratio
Verifica a taxa de eficiência do Latches Hit, os valores são exibidos em porcentagem. - sga-shared-pool-reload-ratio
Verifica a taxa de reload do Shared Pool, os valores são exibidos em porcentagem. - sga-shared-pool-free
Verifica a quantidade de memória livre do Shared Pool, os valores são exibidos em porcentagem. - pga-in-memory-sort-ratio
Verifica a taxa de PGA em memória, os valores são exibidos em porcentagem. - invalid-objects
Verifica o total de objetos inválidos encontrados na base de dados. - stale-statistics
Verifica a quantidade de objetos com estatísticas do otimizador obsoletas na base. - corrupted-blocks
Verifica o número de blocos corrompidos na base. - tablespace-usage
Verifica o espaço utilizado de uma tablespace específica, os valores são exibidos em porcentagem. - tablespace-free
Verifica o espaço livre de uma tablespace específica, os valores são exibidos em porcentagem. - tablespace-remaining-time
Verifica o tempo restante até a utilização da tablespace ficar em 100%. A taxa é baseada com os valores dos últimos 30 dias. - tablespace-fragmentation
Verifica o espaço livre de fragmentação. - tablespace-io-balance
Verifica o balanceamento de IO de todos datafiles. - tablespace-can-allocate-next
Verifica se há espaço disponível para o próximo Extent. - datafile-io-traffic
Verifica as operações de IO do Datafile por segundo. - datafiles-existing
Verifica a taxa de possíveis Datafiles, os valores são exibidos em porcentagem. - asm-diskgroup-usage
Verifica o espaço usado de cada Diskgroup, os valores são exibidos em porcentagem. É possível especificar qual diskgroup deseja verificar a informação. - asm-diskgroup-free
Verifica o espaço livre de cada Diskgroup, os valores são exibidos em porcentagem. É possível especificar qual diskgroup deseja verificar a informação. - soft-parse-ratio
Verifica a taxa do Soft Parse. Os valores são exibidos em porcentagem. - switch-interval
Verifica o tempo da última leitura do Redo Log e a previsão da próxima leitura, os valores são exibidos em minutos. - retry-ratio
Verifica a taxa de tentativas de alocação no Redo Log, os valores são exibidos em porcentagem. - redo-io-traffic
Verifica a taxa de leitura por segundo do tráfego de IO em relação ao Redo. - roll-header-contention
Verifica a Header Contention do segmento de Rollback - roll-block-contention
Verifica a média do bloqueio de contenção do segmento de Rollback. - roll-hit-ratio
Verifica a média de taxa de acertos (Gets/Waits). - roll-wraps
Verifica quanto tempo levou de um wrap para outro, os valores são exibidos por segundo. - roll-extends
Verifica quanto tempo leva de uma extensão para outra, os valores são exibidos por segundo. - roll-avgactivesize
Verifica a média de reversão do tamanho ativo. - seg-top10-logical-reads
Exibe o Top 10 de objetos de usuários entre as leituras lógicas. - seg-top10-physical-reads
Exibe o Top 10 de objetos de usuários entre as leituras físicas. - seg-top10-buffer-busy-waits
Exibe o Top 10 de objetos de usuários entre o buffer-busy - seg-top10-row-lock-waits
Exibe o Top 10 de objetos de usuários entre as linhas em lock. - event-waits
Verifica a quantidade de eventos em espera. - event-waiting
Verifica o tempo gasto por processos enquanto estão aguardando um evento. - enqueue-contention
Verifica a média das requisições na fila de espera, os valores são apresentados em porcentagem. - enqueue-waiting
Verifica a média do tempo gasto com a fia de espera, os valores são apresentados em porcentagem. - latch-contention
Verifica a média de requisições de conexões em espera, os valores são apresentados em porcentagem. - latch-waiting
Verifica a média do tempo gasto com as requisições em espera, os valores são apresentados em porcentagem. - sysstat
Exibe a mudança de valores de sysstat ao longo do tempo. - dataguard-lag
Verifica o tempo de espera do Dataguard, os valores são exibidos em minutos. - dataguard-mrp-status
Verifica o tempo de espera do MRP status do Dataguard. - flash-recovery-area-usage
Verifica o espaço utilizado em disco no Flash Recovery. - flash-recovery-area-free
Verifica o espaço livre em disco no Flash Recovery. - sql
Exibe o resultado de qualquer SQL-Statement que seja inteiro. O SQL é passdo diretamente pelo parâmetro –name. O indicador de perfomance do dado pode ser passdo pelo
parâmetro –name2. - sql-runtime
Verifica o tempo necessário de execução de um comando SQL. - list-tablespaces
Lista todos os tablespaces. - list-datafiles
Lista todos os datafiles. - list-asm-diskgroups
Lista todos os diskgroups. - list-enqueues
Lista todas as filas. - list-latches
Lista todas as requisições. - list-events
Lista todos os eventos. - list-background-events
Lista todos os eventos em background. - list-sysstats
Lista todas as estatisticas do v$sysstat.
Exemplos de uso e retorno do comando
Este plugin encontra-se no diretório /usr/local/opmon/libexec/, portanto você deverá acessá-lo antes de executar o comando.
[root@opmon ~]# ./check_oracle_health --connect=bba --user=opuser --password=opservices--mode tnsping
OK - connection established to bba.
[root@opmon ~]# ./check_oracle_health --connect=bba --user=opuser --password=opservices --mode=retry-ratio OK - Redo log retry ratio is 0.000367% | redo_log_retry_ratio=0.000367%;1;10
[root@opmon ~]# /usr/local/opmon/libexec/check_oracle_health --connect=bba --user=opuser --password=opservices --mode=invalid-objects CRITICAL - 4 invalid indexes | invalid_ind_partitions=0 invalid_ind_subpartitions=0 invalid_indexes=4 invalid_objects=0 invalid_registry_components=0
[root@opmon ~]# /usr/local/opmon/libexec/check_oracle_health --connect=bba --user=opuser --password=opservices --mode=process-usage OK - 13.39% of process resources used | process_usage=13.39%;80;100
[root@opmon ~]# /usr/local/opmon/libexec/custom/check_oracle_health_custom --connect=bba --user=opservices --password=opservices --mode=sql --name="select * from opmon.count_all" --name2="Status atual" --warning 0 --critical 2 OK - status atual: 0 | 'status'=0;0;2