All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.graylog2.plugin.journal.raw_message.proto Maven / Gradle / Ivy

There is a newer version: 6.1.4
Show newest version
syntax = "proto2";

package org.graylog2.plugin.journal;

// to regenerate JournalMessages.java:
// install protobuf compiler (at the time of writing 2.5.0)
// cd graylog2-server/src/main && protoc --java_out=java resources/org/graylog2/plugin/journal/raw_message.proto

option java_package = "org.graylog2.plugin.journal";
option java_outer_classname = "JournalMessages";

message JournalMessage {
    // the version of the message format (used for simplifying code when deserializing messages)
    optional uint32 version = 1;
    // uuid, time is upper 64 bits, clockseq is lower 64 bits of the 128 bit uuid value
    optional fixed64 uuid_time = 2;
    optional fixed64 uuid_clockseq = 3;

    // milliseconds since Java epoch (1970/01/01 00:00:00.000)
    optional fixed64 timestamp = 4;
    // which format the payload is supposed to have
    optional CodecInfo codec = 5;

    // the list of graylog2 nodes which have handled the message (radios, servers) in receive order
    repeated SourceNode source_nodes = 6;

    optional RemoteAddress remote = 7;

    optional bytes payload = 8;

    optional uint32 sequence_nr = 9;
}

message RemoteAddress {
    // the original remote (IP) address of the message sender, unresolved,
    optional bytes address = 1;
    // the port of the sender, if available/applicable
    optional uint32 port = 2;
    // a processing node can optionally resolve the address early
    optional string resolved = 3;

}

message CodecInfo {
    optional string name = 1;
    // JSON description of configuration settings necessary to create the codec with
    // for optimal performance make sure the serialization is stable, i.e. same config == same serialization bytes
    optional string config = 2;
}

message SourceNode {
    optional string id = 1;
    enum Type {
        SERVER = 0;
        RADIO = 1;
    }
    optional Type type = 2 [default = SERVER];
    optional string input_id = 3;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy