使用zabbix4监控ORACLE时时, orabbix插件会报错: Orabbix - received unexpected response ' ' for key 'alive'

使用zabbix4监控ORACLE时时, orabbix插件会报错: Orabbix - received unexpected response ’ ’ for key ‘alive’

修改代码步骤:

// 1 - Download orabbix-src-1.2.3.zip from https://sourceforge.net/projects/orabbix/files/
// 2 - Edit Sender.java file located at ./com.smartmarmot/orabbix/
// 2.1 - Original Code

    Socket zabbix = null;
    OutputStreamWriter out = null;
    InputStream in = null;
    Enumeration<String> serverlist  = zabbixServers.keys();

    while (serverlist.hasMoreElements()){
        String zabbixServer = serverlist.nextElement();
        try {
            zabbix = new Socket(zabbixServer, zabbixServers.get(
                    zabbixServer).intValue());
            zabbix.setSoTimeout(TIMEOUT);

            out = new OutputStreamWriter(zabbix.getOutputStream());
            out.write(message.toString());
            out.flush();

// 2.2 - New code

    Socket zabbix = null;

// OutputStreamWriter out = null;
OutputStream out = null;
InputStream in = null;
Enumeration serverlist = zabbixServers.keys();

    while (serverlist.hasMoreElements()){
        String zabbixServer = serverlist.nextElement();
        try {
            zabbix = new Socket(zabbixServer, zabbixServers.get(
                    zabbixServer).intValue());
            zabbix.setSoTimeout(TIMEOUT);

        byte[] data = message.toString().getBytes("UTF-8");

        byte[] header = new byte[] {
        'Z', 'B', 'X', 'D', '\1',
        (byte)(data.length & 0xFF),
        (byte)((data.length >> 8) & 0xFF),
        (byte)((data.length >> 16) & 0xFF),
        (byte)((data.length >> 24) & 0xFF),
        '\0', '\0', '\0', '\0'};

        byte[] packet = new byte[header.length + data.length];
        System.arraycopy(header, 0, packet, 0, header.length);
        System.arraycopy(data, 0, packet, header.length, data.length);

// out = new OutputStreamWriter(zabbix.getOutputStream());
out = zabbix.getOutputStream();
out.write(packet);
out.flush();
重新编译修复步骤:
git clone https://github.com/snickerjp/orabbix.git

cd orabbix

download orabbix

#from: https://sourceforge.net/projects/orabbix/

unzip orabbix-1.2.3.zip

compile

require. java-1.7.0-openjdk-devel,java-1.8.0-openjdk-devel

javac -cp “orabbix-1.2.3/orabbix-1.2.3.jar:orabbix-1.2.3/lib/*” com/smartmarmot/orabbix/Sender.java
mkdir -p ./build
cp orabbix-1.2.3/orabbix-1.2.3.jar ./build
cd build
jar -xvf orabbix-1.2.3.jar com
cp …/com/smartmarmot/orabbix/Sender.class com/smartmarmot/orabbix/Sender.class
jar -uf orabbix-1.2.3.jar com
参考文档:

https://github.com/smartmarmot/DBforBIX/issues/62

https://github.com/snickerjp/orabbix

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值