Zabbix4:Orabbix报错“received unexpected response ' ' for key 'archive' ”

最近Zabbix升级4版本的时候碰到了Orabbix向zabbix server发送数据失败,提示received unexpected response ’ ’ for key ‘archive’,在网上找了一下,有别的博主说是Sender.class文件的问题,按照步骤试了试结果还是失败,最后发现很多博主写的代码正确但是写入的位置不对,所以在此整理一下踩过的坑,希望大家有所收获

1、从https://sourceforge.net/projects/orabbix/files/下载orabbix-src-1.2.3.zip
2、编辑位于./com/smartmarmot/orabbix/的Sender.java文件
原代码如下:
Zabbix4:Orabbix报错“received unexpected response ' ' for key 'archive' ”_第1张图片
修改后代码如下:
Zabbix4:Orabbix报错“received unexpected response ' ' for key 'archive' ”_第2张图片
插入的代码如下(注意代码插入的位置):
byte[] data = message.toString().getBytes();
byte[] header = new byte[]{90, 66, 88, 68, 1,
(byte)(data.length & 255),
(byte)(data.length >> 8 & 255),
(byte)(data.length >> 16 & 255),
(byte)(data.length >> 24 & 255), 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);
if (log.isDebugEnabled()) {
SmartLogger.logThis(Level.DEBUG, "sending " + message);
}

3、将Sender.java进行编译生成Sender.class文件
4、将Orabbix文件夹中的orabbix-1.2.3.jar包中的./com/smartmarmot/orabbix/的Sender.class文件用编辑过后的Sender.class进行替换(仅替换jar包中的这一个文件就可以了)
5、重启Orabbix

你可能感兴趣的:(Oracle,Orabbix,Zabbix,Zabbix,Orabbix,Oracle)