Oracle UTL_TCP to Graylog Ошибка GELF TCP - сообщение GELF слишком короткое.Даже заголовок типа не подходит - PullRequest
0 голосов
/ 22 декабря 2018

Я сталкиваюсь с проблемой при попытке отправить данные из Oracle через UTL_TCP в Graylog GELF TCP.

Я пытаюсь с одним событием (запись в формате JSON, согласно требованиям Graylog).Проблема заключается в том, что, хотя одно событие загружается правильно, я также получаю 45 внутренних событий Graylog, очевидно, связанных с двумя из них:

.....
"2018-12-18T14:13:33.938Z","graylog-server","runit-service","true","6","ERROR [NettyTransport] Error in Input [GELF TCP/5c119b1eb358cb056b417b89] (channel [id: 0x1957cea0, /192.168.1.22:49550 :> /192.168.1.74:41000])"
.....
"2018-12-18T14:13:33.959Z","graylog-server","runit-service","true","6","java.lang.IllegalStateException: GELF message is too short. Not even the type header would fit."
.....

Код PL SQL, который я использую в Oracle, выглядит какниже:

create or replace procedure AAA_GRAYLOG_TCP_05
is

conn                utl_tcp.connection;
v_GL_record         clob;
ret_val             pls_integer;

v_lms_host          varchar2(4000) := '192.168.1.74';
v_lms_port          number := 41000;

begin

v_GL_record := 
'{ "version": "1.1", "host": "dataplus05", "short_message": "A short message", "level": 5, "_some_info": "foo" }' 
;

dbms_output.put_line(v_GL_record);

conn := utl_tcp.open_connection(
remote_host => v_lms_host, 
remote_port => v_lms_port
);
ret_val := UTL_TCP.WRITE_LINE(conn, v_GL_record);
utl_tcp.close_connection(conn);

end;

Я попытался добавить некоторые:

\"0", or \0, after the last }

в конец записи v_GL_record, но безрезультатно.У меня все еще есть 45 дополнительных записей, и ОШИБКА и Java.IllegalState сгенерировали

Пытался также поставить те же нули с обратной косой чертой вместо CL-FR по умолчанию при открытии соединения:

conn := utl_tcp.open_connection(
remote_host => v_lms_host, 
remote_port => v_lms_port,  
newline => '\0'
);

все та же проблема.

кто-то может помочь?

С наилучшими пожеланиями,

Altin

Список внутренних сообщений Graylog:

Graylog дополнительные внутренние сообщения

...