zabbix远程mysql数据库_用zabbix远程监控oracle,出错

最近用zabbix监控所有的oracle 数据库。几十台。所有都一样的做。

不知道为什么就是有几台,监控不到,报错。

下面,我把错误贴出来,请高手指教。

在监控服务器(统称为服务端)上192.168.218.130运行一下命令:

./zabbix_get -s 192.168.218.129 -k oracle[_buffer_cache]   (从客户端192.168.218.129上获取buffer_cache)

得到的结果是:

SQL*Plus: Release 11.2.0.2.0 Production on Thu Jan 24 20:53:52 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL> conn mon/123456@test

ERROR:

ORA-12154: TNS:could not resolve the connect identifier specified   (这个错误很奇怪,网上查询的时候,都是关于监听,tns之类的,但是没有解决)

SQL> SP2-0640: Not connected

在被监听的机子(统称为客户段)上,也就是192.168.218.129,运行一下命令,测试是否能获取到oracle运行参数

./zabbix_agentd -t oracle[_buffer_cache]   (在本地上运行zabbix_agent测试看能否获取buffer_cache)

运行结果如下:

oracle[_buffer_cache]                         [t|

SQL*Plus: Release 11.2.0.2.0 Production on Thu Jan 24 20:58:01 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL> conn mon/123456@test

Connected.

SQL>

TO_CHAR("SIZE(MB)"

------------------

75497472   (这里是要获取的结果,在客户机上测试能够成功的,本来只显示数字的,我把过程都输出来。)

SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

我解释一下这个过程:

1,在客户机上,启动zabbix_agent.,这程序是用C写的,这个程序监听从服务端发送过来的请求。

2,当服务端向客户端发送要获取buffer_cache时,客户端的zabbix_agent,调用shell写的一个zabora程序,这里程序里面有各种的oracle的运行参数,包括version,dbfilesize,dbsize等等,

这些参数都是通过查询oracle获取的。就是下面的$sql变量。

echo "$sql" | /u01/app/oracle/product/11.2.0.2/bin/sqlplus /nolog @/etc/zabbix/zabora/cont.sql

cont.sql这个文件里面存储的就是一个连接oracle的命令:conn mon/123456@test  (就是上面oracle运行过程中显示出来的)

连接oracle,查询,获取buffer_cache,也就是这个数值:75497472 ,然后zabbix_agent将这个数值发给服务端。底层都是通过C写的。

3,服务端获得数据后存储到mysql数据库。php读取mysql数据,用图表的方式显示成波浪线。

上面这个错误,很多人给的建议是服务端的TNS是不是出问题了,服务端根本就没有安装oracle,因为客户端个服务端的通讯仅仅是通过C传递几个数值而已。

客户端的TNS该修改的地方都修改了,在客户端运行:SQL> conn mon/123456@test  是可以直接进入oracle的。

请高手给点建议!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值