Graylog GELF 最大字段大小
Graylog GELF max field size
我正在尝试将 Web 服务 input/output 作为 xml 插入 Graylog。为此,我使用了 "GELFJ - A GELF Appender for Log4j and a GELF Handler for JDK Logging"。这是示例代码:
public static void main(String[] args) throws IOException {
GelfSender gelfSender = new GelfTCPSender("172.21.120.139", 12201);
String xmlMessage = readFile("c:\temp\xml.xml");
GelfMessage message = new GelfMessage("short message", "long message", System.currentTimeMillis(), "1");
message.setHost("localhost");
message.addField("XML", xmlMessage);
message.addField("LEN", xmlMessage.length());
if (message.isValid()) {
GelfSenderResult result = gelfSender.sendMessage(message);
Exception exception = result.getException();
if (exception != null) {
exception.printStackTrace();
}
} else {
System.err.println("Message is not valid!");
}
}
这是 GELF TCP 输入属性。
我无法插入大于 20k(字符)的消息字段。以及一条总大小超过 1.6 MB 的消息。
我的问题是消息字段和消息总大小(以字节为单位)的限制是多少?
Graylog 和 GELF 协议本身没有任何大小限制,但应该注意 Lucene(Elasticsearch 底层库)对分析字段(例如 "message" 每个字段的限制为 32 KiB和 GELF 消息的 "full_message" 个字段)。
鉴于 Elasticsearch 和 Graylog 中的默认编码是 UTF-8,这 20.000 个字符大约可以匹配 32 KiB 的最大字段大小(对于分析的字段)。非分析字段可以(几乎)任意大。
有关 GitHub 的相关问题,请参阅 https://github.com/Graylog2/graylog2-server/issues/873。
我正在尝试将 Web 服务 input/output 作为 xml 插入 Graylog。为此,我使用了 "GELFJ - A GELF Appender for Log4j and a GELF Handler for JDK Logging"。这是示例代码:
public static void main(String[] args) throws IOException {
GelfSender gelfSender = new GelfTCPSender("172.21.120.139", 12201);
String xmlMessage = readFile("c:\temp\xml.xml");
GelfMessage message = new GelfMessage("short message", "long message", System.currentTimeMillis(), "1");
message.setHost("localhost");
message.addField("XML", xmlMessage);
message.addField("LEN", xmlMessage.length());
if (message.isValid()) {
GelfSenderResult result = gelfSender.sendMessage(message);
Exception exception = result.getException();
if (exception != null) {
exception.printStackTrace();
}
} else {
System.err.println("Message is not valid!");
}
}
这是 GELF TCP 输入属性。
我无法插入大于 20k(字符)的消息字段。以及一条总大小超过 1.6 MB 的消息。
我的问题是消息字段和消息总大小(以字节为单位)的限制是多少?
Graylog 和 GELF 协议本身没有任何大小限制,但应该注意 Lucene(Elasticsearch 底层库)对分析字段(例如 "message" 每个字段的限制为 32 KiB和 GELF 消息的 "full_message" 个字段)。
鉴于 Elasticsearch 和 Graylog 中的默认编码是 UTF-8,这 20.000 个字符大约可以匹配 32 KiB 的最大字段大小(对于分析的字段)。非分析字段可以(几乎)任意大。
有关 GitHub 的相关问题,请参阅 https://github.com/Graylog2/graylog2-server/issues/873。