oracle镜像库监控,【Zabbix】zabora监控Oracle数据库

zabora监控Oracle数据库

它作为一个开源项目,通过shell脚本有效的监控Oracle基础指标。本文档旨在通过实战,在Zabbix 3.0版本之下,监控生产环境下的多台Oracle数据库。

建立oracle账号

CREATE USER monitor IDENTIFIED BY 'xxxxxxx' DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;

GRANT CONNECT TO monitor;

GRANT RESOURCE TO monitor;

ALTER USER monitor DEFAULT ROLE ALL;

GRANT SELECT ANY TABLE TO monitor;

GRANT CREATE SESSION TO monitor;

GRANT SELECT ANY DICTIONARY TO monitor;

GRANT UNLIMITED TABLESPACE TO monitor;

GRANT SELECT ANY DICTIONARY TO monitor;

GRANT SELECT ON V_$SESSION TO monitor;

GRANT SELECT ON V_$SYSTEM_EVENT TO monitor;

GRANT SELECT ON V_$EVENT_NAME TO monitor;

GRANT SELECT ON V_$RECOVERY_FILE_DEST TO monitor;

基本原理

它的核心是通过一个zabora.sh脚本,调用zabora/sql目录下的多个sql脚本,用于获取json数据。然后在zabbix平台上调用。用于监控。

部署命令:

./zabora/deploy_zabbix.sh "${ORACLE_USER}" "${ORACLE_PASS}"

chmod 755 /etc/zabbix/scripts/agentd/zabora/zabora.sh

如上命令,可以直接部署zabora.sh脚本。效果如下:

配置了/etc/zabbix/zabbix_agentd.d/zabora.conf。

放置shell脚本,SQL脚本到/etc/zabbix/scripts/agentd/zabora目录下。 UserParameter=zabora[*],/etc/zabbix/scripts/agentd/zabora/zabora.sh -o $1 -s $2 -a $3

UserParameter=zabora.discovery[*],/etc/zabbix/scripts/agentd/zabora/zabora.sh -o $1 -s $2 -a $3 -j $4

UserParameter=zabora.version,/etc/zabbix/scripts/agentd/zabora/zabora.sh -v short

这里手工调用zabora.sh,查看其机理。

-o代表oracle的sid

-s代表调用sql脚本的简称。

-j是否以json串的结果输出。

以下是查看Oracle表空间的信息。 [root@oradb sql]# /etc/zabbix/scripts/agentd/zabora/zabora.sh -o oradb -s tb_list -j 1

{

"data":[

{ "{#1}":"SYSTEM" },

{ "{#1}":"SYSAUX" },

{ "{#1}":"USERS" },

{ "{#1}":"OD" },

{ "{#1}":"OA" },

{ "{#1}":"FA" },

{ "{#1}":"HR" },

{ "{#1}":"IPC_HZ_DB" },

{ "{#1}":"PM" },

{ "{#1}":"DEF3DB" },

{ "{#1}":"HDOA" },

{ "{#1}":"ARP" },

{ "{#1}":"LMS_MANAGE" },

{ "{#1}":"LMS_SERVER" },

{ "{#1}":"DEVPLATFORM" },

{ "{#1}":"NEWOA" },

{ "{#1}":"PAY" },

{ "{#1}":"WHIOV_OA" },

{ "{#1}":"TBS_OA" },

{ "{#1}":"FIN" },

{ "{#1}":"EXCHANGE" },

{ "{#1}":"PLATFORM" },

{ "{#1}":"NNC_DATA02" },

{ "{#1}":"NNC_DATA03" },

{ "{#1}":"NNC_INDEX01" },

{ "{#1}":"NNC_INDEX02" },

{ "{#1}":"NNC_INDEX03" },

{ "{#1}":"PORTAL" },

{ "{#1}":"NNC_DATA01" },

{ "{#1}":"FINEDB" },

{ "{#1}":"ARP_FLASH_ARC" },

{ "{#1}":"FINEDB51" }

]

}

在server端,测试脚本的可用性. [root@localhost ~]# zabbix_get -s 172.31.222.34 -k "zabora[oradb,db_active,1]"

1

[root@localhost ~]# zabbix_get -s 172.31.222.34 -k "zabora[oradb,tb_size,SYSTEM]"

3.43

以上说明,后台server端和agent端,脚本配置无误。现在可以配置前台,用于监控oracle的相关指标。

zabbix前台配置

步骤1,导入模板

选择template_db_oracle-2.2.xml这个模板,【配置】--》【模板】--》【导入】,模板导入成功。

模板的内容,无非就是监控项,触发器,图形等。其实可以自己建立一个监控指标,用于监控。

zabbix_ora_01.png

步骤2,添加主机到模板中。

【配置】--》【主机】。选择你要监控的Oracle主机。

【模板】,添加需要链接的模板,这里的模板名字为【Template_DB_Oracle】。

【主机】--》【宏】。用于配置{$ORACLE_SID}的参数值。效果如下:

{$ORACLE_SID} = oradb。

zabbix_ora_02.png?raw=true

最终效果

zabbix_ora03.png?raw=true

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Zabbix监控Oracle数据库中的表数据,可以使用Zabbix数据库监控功能结合Oracle的特定监控方法。以下是一个简单的步骤指南: 1. 确保已经安装和配置了Zabbix服务器和Zabbix代理。 2. 在Zabbix服务器上创建一个新的模板,用于监控Oracle数据库。在模板中,可以定义触发器、图表和报警等。 3. 在Zabbix服务器上创建一个新的主机,对应于要监控Oracle数据库实例。为主机配置IP地址和其他必要的参数。 4. 在Zabbix代理配置文件中添加数据库监控参数。编辑zabbix_agentd.conf文件,添加以下内容: ``` UserParameter=oracle.tablespace.discovery,/path/to/script UserParameter=oracle.tablespace.size[*],/path/to/script $1 $2 ``` 5. 创建一个用于获取表数据的脚本。可以使用Python、Shell脚本或其他适当的工具来编写脚本。该脚本应该能够连接到Oracle数据库并获取表数据。 6. 将脚本放置在Zabbix代理所在主机上,并确保脚本具有执行权限。 7. 在Zabbix服务器上导入模板,并将其关联到Oracle数据库的主机。 8. 在触发器中定义阈值和触发条件,以便在表数据达到特定阈值时触发警报。 9. 配置图表以显示表数据的趋势和变化。 10. 测试监控功能,确保Zabbix能够成功获取和显示表数据,并在需要时触发警报。 请注意,上述步骤只是一个简单的指南,具体的配置和实施可能因系统环境和要求而有所不同。建议参考ZabbixOracle的官方文档以获取更详细的信息和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值