设为首页 收藏本站
查看: 873|回复: 0

[经验分享] Oracle Database 监控:zabbix(二)

[复制链接]

尚未签到

发表于 2019-1-23 08:47:00 | 显示全部楼层 |阅读模式
[root@amb01 ~]# vi /opt/zdba/conf/config.pl
{
  zabbix => {
    host    => '192.168.40.35', --zabbix server
    port    => 10051,
    timeout => 30,
  },
  daemon => {
    sleep      => 60,
    split_logs => 1
  },
  db => {
    default => {
      user       => 'zabbix',
      pass       => 'zabbix',
      query_list => 'query.props.pl',
      sleep      => 60,
      retry_step => 1,
    },
    list   => [qw|amb01|],
    amb01 => {
      dsn        => 'DBI:Oracle:host=192.168.40.40;port=1521;sid=hxdb1',
      query_list => [qw|query.props.pl|],
      sleep      => 60,
    },
  },
}
[root@amb01 ~]# vi /opt/zdba/conf/query.props.pl
  list => [
        'dbversion',            'dbuptime',
        'dbsizetotal',          'dbsizeused',
        'dblogswitch',          'dbredosize',
        ......略
  ],
    dbversion => {
    query => q{
        select banner
        from v$version
        where banner like '%Oracle Database%'
    },
  },
   dbuptime => {
    query => q{
        select (sysdate - startup_time) * 86400
        from v$instance
    },
  },
   dbsizetotal => {
    query => q{
        select sum(bytes) from dba_data_files
    },
  },
  dbsizeused => {
    query => q{
        select sum((a.bytes-f.bytes)) from dba_tablespaces d,
        (select tablespace_name, sum(bytes) bytes from dba_data_files group by tablespace_name) a,
        (select tablespace_name, sum(bytes) bytes from dba_free_space group by tablespace_name) f
        where d.tablespace_name = a.tablespace_name(+) AND d.tablespace_name = f.tablespace_name(+)
        and not (d.extent_management like 'LOCAL' AND d.contents like 'TEMPORARY')
    },
  },
  dblogswitch => {
    query => q{
        select count(*)
        from v$log_history
        where to_char(first_time) >= to_char(sysdate)
    },
  },
   dbredosize => {
    query => q{
        select value from v$sysstat
        where name='redo size'
    },
  },
......略
  discovery => {
    rule => {
      tablespaces => {
        query => q{
            select name ts from v$tablespace
        },
        keys => ['TS'],
      },
    },
    item => {
      ts_usage_pct => {
        query => q{
            select d.tablespace_name ts,
       to_char (nvl ((a.bytes - nvl (f.bytes, 0)) / a.bytes * 100, 0),
                '990.00'
               ) pct
  from sys.dba_tablespaces d,
       (select   tablespace_name, sum (bytes) bytes
            from dba_data_files
        group by tablespace_name) a,
       (select   tablespace_name, sum (bytes) bytes
            from dba_free_space
        group by tablespace_name) f
where d.tablespace_name = a.tablespace_name(+)
   and d.tablespace_name = f.tablespace_name(+)
   and not (d.extent_management like 'LOCAL' and d.contents like 'TEMPORARY')
union all
select d.tablespace_name ts,
       to_char (nvl (t.bytes / a.bytes * 100, 0), '990.00') pct
  from sys.dba_tablespaces d,
       (select   tablespace_name, sum (bytes) bytes
            from dba_temp_files
        group by tablespace_name) a,
       (select   tablespace_name, sum (bytes_cached) bytes
            from v$temp_extent_pool
        group by tablespace_name) t
where d.tablespace_name = a.tablespace_name(+)
   and d.tablespace_name = t.tablespace_name(+)
   and d.extent_management like 'LOCAL'
   and d.contents like 'TEMPORARY'
        },
        keys => { TS => 'PCT' }
      },
      ts_usage_bytes => {
        query => q{
            select
    d.tablespace_name ts
  , nvl(a.bytes - nvl(f.bytes, 0), 0) bytes
from
    sys.dba_tablespaces d
  , ( select tablespace_name, sum(bytes) bytes
      from dba_data_files
      group by tablespace_name
    ) a
  , ( select tablespace_name, sum(bytes) bytes
      from dba_free_space
      group by tablespace_name
    ) f
where
      d.tablespace_name = a.tablespace_name(+)
  and d.tablespace_name = f.tablespace_name(+)
  and not (
    d.extent_management like 'LOCAL'
    and
    d.contents like 'TEMPORARY'
  )
union all
select
    d.tablespace_name ts
  , nvl(t.bytes, 0) bytes
from
    sys.dba_tablespaces d
  , ( select tablespace_name, sum(bytes) bytes
      from dba_temp_files
      group by tablespace_name
    ) a
  , ( select tablespace_name, sum(bytes_cached) bytes
      from v$temp_extent_pool
      group by tablespace_name
    ) t
where
      d.tablespace_name = a.tablespace_name(+)
  and d.tablespace_name = t.tablespace_name(+)
  and d.extent_management like 'LOCAL'
  and d.contents like 'TEMPORARY'
        },
        keys => { TS => 'BYTES' }
      },
    },
  },
}  zabbix server item












运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-666516-1-1.html 上篇帖子: zabbix企业应用之zabbix-proxy-agent工作模式 下篇帖子: 通过插件percona进行zabbix监控MySQL5.7(单节点)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表