Skip to content

Commit f9a81db

Browse files
author
Ruslan Gainutdinov
committed
- Don`t add syslog header
- Use values for CEF field Device Vendor|Device Product|Device Version specific to graylog-output-syslog plugin - Space separated params in CEF Extension field
1 parent 89b96f1 commit f9a81db

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

src/main/java/com/wizecore/graylog2/plugin/CEFSender.java

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,28 +25,36 @@ public class CEFSender implements MessageSender {
2525
@Override
2626
public void send(SyslogIF syslog, int level, Message msg) {
2727
StringBuilder out = new StringBuilder();
28-
PlainSender.appendHeader(msg, out);
29-
out.append("CEF:0|ArcSight|Logger|5.0.0.5355.2|log:1|");
28+
// Header:
29+
// CEF:Version|Device Vendor|Device Product|Device Version|
30+
out.append("CEF:0|Graylog|graylog-output-syslog:cefsender|2.1.1|");
31+
// Device Event Class ID
32+
out.append("log:1");
33+
out.append("|");
34+
// Name
3035
String str = msg.getMessage();
3136
if (str.contains("|")) {
3237
str = str.replace("|", "");
3338
}
3439
out.append(str);
35-
out.append("|").append(level) .append("|"); // severity
40+
// Severity
41+
out.append("|").append(level) .append("|");
42+
// Extension
3643
Map<String, Object> fields = msg.getFields();
3744
boolean have = false;
3845
for (String k: fields.keySet()) {
3946
Object v = fields.get(k);
4047
if (!k.equals("message") && !k.equals("full_message")) {
41-
String s = v != null ? v.toString() : "null";
42-
if (have) {
43-
have = true;
44-
}
48+
String s = v != null ? v.toString() : "null";
4549
s = s.replace("\\", "\\\\");
4650
s = s.replace("=", "\\=");
4751
s = s.replace("\r", "");
48-
s = s.replace("\n", "\\n");
52+
s = s.replace("\n", "\\n");
53+
if (have) {
54+
out.append(" ");
55+
}
4956
out.append(k).append('=').append(s);
57+
have = true;
5058
}
5159
}
5260

0 commit comments

Comments
 (0)