Oracle通过DataGuard作为异地备份,可以通过监控主备的归档日志序列之差
vim orabbix/conf/query.props
在开头的QueryList添加
QueryList=archive,audit,dbblockgets,dbconsistentgets,dbhitratio,dbphysicalread,hitratio_body,hitratio_sqlarea,hitratio_table_proc, \ lio_current_read,locks,maxprocs,maxsession,miss_latch,pga_aggregate_target, pga,phio_datafile_reads,phio_datafile_writes,phio_redo_writes,pinhitratio_body,pinhitratio_sqlarea,pinhitratio_table-proc,pinhitratio_trigger, \ pool_dict_cache,pool_free_mem,pool_lib_cache,pool_misc,pool_sql_area,procnum,session_active,session_inactive,session,session_system,sga_buffer_cache, \ sga_fixed,sga_java_pool,sga_large_pool,sga_log_buffer,sga_shared_pool,tbl_space,userconn,waits_controfileio,waits_directpath_read, \ waits_file_io,waits_latch,waits_logwrite,waits_multiblock_read,waits_singleblock_read,hitratio_trigger,lio_block_changes,lio_consistent_read,waits_other,waits_sqlnet,users_locked,uptime,dbfilesize,dbsize,process,max_process,used_session,max_session,active_session,archive_size,dgstatus,dataguard_logs
在末尾添加
dgstatus.Query=select count(0) from v$archive_dest where status='VALID'
dataguard_logs.Query=select max(sequence#) from v$archived_log
然后在数据库中进行授权,查询相关表的权限
GRANT SELECT ON v_$archived_log TO ZABBIX;
GRANT SELECT ON v_$archive_dest TO ZABBIX;
Zabbix触发器设置报警为
{Oracle-db_name_primary:dataguard_logs.last()}-{Oracle-db_name_standy:dataguard_logs.last()}>1